从Zabbix 2.2开始,Zabbix官方已经支持了MySQL监控,但是MySQL监控默认是不可用的,需要经过额外的设置才可以使用。Kaijia将Zabbix换到了新的服务器时候性能绰绰有余,于是决定充分发挥剩余的内存和SSD性能,把MySQL、Apache、PHP-FPM等的监控也开起来
首先要确定Zabbix服务有MySQL的监控模板。MySQL模板默认包含在了Zabbix 2.2中,但如果是从较旧版本的Zabbix升级而来的话可能这个模板并没有导入。这种情况的话需要访问Zabbix官方的Wiki页面下载此模板Template_App_MySQL-2.2.0.xml然后在Zabbix服务器的前端Web界面的组态
接下来就是被监控端(需要安装Zabbix Agent)的设置了
怎么安装Zabbix Agent我就简单说明下好了将zabbix源码文件下载到/tmp/install目录下
./configure --enable-agent
make install
vi /usr/local/etc/zabbix_agentd.conf文件
Server=192.168.153.181#Zabbix Server轮询Agent ListenPort=10050 ListenIP=0.0.0.0 ServerActive=192.168.153.181#Agent主动请求Zabbix Server
首先要建立一个MySQL帐户用于Zabbix Agent登录获取MySQL状态,这个帐户不需要任何权限当然可以登录被监控端的MySQL新建一个帐户。
GRANT USAGE ON *.* TO 'zabbix'@'localhost' IDENTIFIED BY '密码'; FLUSH PRIVILEGES;
修改mysql配置文件 vim /etc/my.cnf (yum默认安装的mysql,配置文件就在/etc/my.cnf)
[client] port = 3306 socket = /var/lib/mysql/mysql.sock default-character-set=utf8 [mysqld] port = 3306 socket = /var/lib/mysql/mysql.sock skip-locking key_buffer_size = 256M max_allowed_packet = 1M table_open_cache = 256 sort_buffer_size = 1M read_buffer_size = 1M read_rnd_buffer_size = 4M myisam_sort_buffer_size = 64M thread_cache_size = 8 query_cache_size= 16M thread_concurrency = 8 default-character-set=utf8 log-bin=mysql-bin binlog_format=mixed server-id = 1 [mysqldump] quick max_allowed_packet = 16M #将一下配置内容放到/var/lib/zabbix更好一些 [mysql] host=localhost user=zabbix password=zabbix socket=/var/lib/mysql/mysql.sock no-auto-rehash [myisamchk] key_buffer_size = 128M sort_buffer_size = 128M read_buffer = 2M write_buffer = 2M [mysqlhotcopy] interactive-timeout #将一下配置内容放到/var/lib/zabbix更好一些 [mysqladmin] host=localhost user=zabbix password=zabbix socket=/var/lib/mysql/mysql.sock
这里推荐将以下配置,创建一个文件.my.cnf放到/var/lib/zabbix目录下【推荐这种方法】
因为在/usr/local/etc/zabbix_agentd.conf.d/userparameter_mysql.conf文件中指定了目录
UserParameter=mysql.size[*],echo "select sum($(case "$3" in both|"") echo "data_length+index_length";; data|index) echo "$3_length";; free) echo "data_free";; esac)) from information_schema.tables$([[ "$1" = "all" || ! "$1" ]] || echo " where table_schema='$1'")$([[ "$2" = "all" || ! "$2" ]] || echo "and table_name='$2'");" | HOME=/var/lib/zabbix mysql -N UserParameter=mysql.ping,HOME=/var/lib/zabbix mysqladmin ping | grep -c alive UserParameter=mysql.version,mysql -V
[mysql] host=localhost user=zabbix password=zabbix socket=/var/lib/mysql/mysql.sock [mysqladmin] host=localhost user=zabbix password=zabbix socket=/var/lib/mysql/mysql.sock
修改zabbix agent配置
vim /usr/local/etc/zabbix_agentd.conf (源码安装的,没有设置--prefix,配置文件目录就在这个)
拷贝userparameter_mysql.conf 文件到/usr/local/etc/zabbix_agentd.conf.d/目录下(具体安装路径请根据实际情况修改)
# cp /tmp/install/zabbix-2.2.9/conf/zabbix_agentd/userparameter_mysql.conf /usr/local/etc/zabbix_agentd.conf.d/userparameter_mysql.conf
拷贝服务脚本,放到/etc/rc.d/init.d 使得可以让chkconfig管理服务
cp /tmp/install/zabbix-2.2.9/misc/init.d/fedora/core/zabbix_agentd /etc/rc.d/init.d/
启动zabbix_agent服务(要先创建zabbix用户 Linux用户)
如果已经开启过了,就重启服务
service zabbix_agentd restart
最后别忘了开启防火墙10050端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT
上图
参考文章
http://www.kaijia.me/2014/01/use-zabbix-monitor-mysql-server/
相关推荐
这是使用 docker-zabbix-server 创建工作 Zabbix 2.4 服务器的示例。 创建一个纯数据容器来保存实际的数据库数据: docker run -v /var/lib/mysql --name zabbix-data busybox true 拉取并构建 docker-zabbix-...
zabbix监控所需依赖: 1.zabbix-agent 2.zabbix-get 3.zabbix-nginx 4.zabbix-sql 5.zabbix-web 6.zabbix-mysql 7.zabbix-server 8.zabbix-seliunx ......... Zabbix 是一款开源的企业级监控系统,具有可扩展性、...
mysql-master、zabbix-agent 192.168.1.115 mysql-slave、zabbix-agent 192.168.1.116 二、MySQL数据库主从搭建 1、关闭防火墙(主从库均需关闭) [root@master ~]# systemctl stop firewalld [root@master ~]#...
为了使用此 API,您需要预先安装 Zabbix,因为该解决方案通过 Zabbix API 从 Zabbix 服务器检索数据。 要求:Zabbix 2.0+ MySQL 5.0+ Apache 1.3.12+ PHP 5.1.6+ Java JDK 1.8+ 文档:提供了两个指南安装和配置...
Zabbix-proxy:类似与一个辅助Server,但是Proxy负责自己所管理的服务器。 Zabbix-Agent:负责检测本地数据并将执行后的结果发送给Server/Proxy。 搭建Zabbix需要:PHP、Nginx/Apache、MySQL/Oracle/NoSQL
A机器:zabbix服务端(192.168.234.128) B机器:zabbix客户端(192.168.234.125) 在B机器(zabbix客户端)操作: 编辑nginx虚拟主机配置文件: 在server{}中添加以下内容: 重载nginx配置
服务器监控, zabbix, 使用Grafana丰富图形展示开源框架为zabbix出图 内容包括: 1. zabbix-server、mysql数据库环境搭建 2. zabbix-agent环境搭建 3. zabbix自定义监控项、触发器表达式使用 4. 邮件、微信报警 5. ...
最近需要部署一套zabbix监控服务器,之前只是玩过zabbix的注入漏洞,但还没布置过,发现网上好多都是centos+源码编译的zabbix,因此写下此篇记录下安装过程,下面来一起看看详细的介绍: 环境ubuntu+apache+mysql+...
使用各种 Database-end 如 MySQL, PostgreSQL, SQLite, Oracle 或 IBM DB2 储存资料。Server 端基于 C语言、Web 管理端 frontend 则是基于 PHP 所制作的。Zabbix 可以使用多种方式监视。可以只使用 Simple Check ...
用于一台服务器多端口MySQL的自动发现及监控。
总览: 1.什么是监控工 ...14.使用percona插件监控mysql 15.snmp监控Windows和linux 16.zabbix自动发现和自动注册(主动) 17.zabbix-agent主动和被动的区别 18.zabbix版本升级 19.zabbix分布式监控proxy
1、确保zabbix内部组件性能处于被监控状态(调优的基础!) 2、使用硬件性能足够好的服务器 3、不同角色分开,使用各自独立的服务器 4、使用分布式部署 5、调整MySQL性能 6、调整Zabbix自身配置
整体项目规划设计如下 1、用户 APP 采用 JAVA 环境布署,初始环境两台服务器,实现负载均衡与高可用,前端负载使 用 nginx 做负载 ...8、全网所有服务器监控(基本监控与服务监控)都采用 zabbix 监控
一台服务器上开启了3个mysql实例进程,占用不同的端口 3306、3307、3308 原理说明: 通过自动发现规则来获取MySQL实例的端口,自动发现规则上的{$MYSQLPORT}是要传递给agent自动发现脚本的参数,这个值是从主机定义...
供zabbix监控同一台服务器上的多个mysql实例使用的模板
集成所有zabbix依赖包,包括PHP,epel依赖包等,数据库(MySQL,Mariadb),Web服务器(httpd)使用操作系统自带即可
集成所有zabbix依赖包,包括PHP,epel依赖包等,数据库(MySQL,Mariadb),Web服务器(httpd)使用操作系统自带即可
会经常发现开发人员查一下没用索引的... 部署zabbix等开源分布式监控系统,获取每天的数据库的io,cpu,连接数 2. 部署每周性能统计,包含数据增加量,iostat,vmstat,datasize的情况 3. Mysql slowlog收集,列出top