一、配置Zabbix Agent
1、插件安装及配置
下载地址:https://www.percona.com/downloads/percona-monitoring-plugins/
安装percona的监控mysql软件包:
1
|
rpm -ivh percona-zabbix-templates-1.1.7-1.noarch.rpm
|
查看rpm安装的文件路径:
1
2
3
4
5
6
7
8
|
[root@zabbix ~]
/var/lib/zabbix/percona
/var/lib/zabbix/percona/scripts
/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper .sh
/var/lib/zabbix/percona/scripts/ss_get_mysql_stats .php
/var/lib/zabbix/percona/templates
/var/lib/zabbix/percona/templates/userparameter_percona_mysql .conf
/var/lib/zabbix/percona/templates/zabbix_agent_template_percona_mysql_server_ht_2 .0.9-sver1.1.7.xml
|
其中get_mysql_stats_wrapper.sh和ss_get_mysql_stats.php是mysql监控脚本,供zabbix agent调用;userparameter_percona_mysql.conf是zabbix agent的配置文件,包含了mysql监控的自定义key;zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.7.xml是zabbix模板文件,需要在zabbix web端导入。
查看zabbix agent的Include目录:
1
2
|
[root@zabbix ~]
Include= /etc/zabbix/zabbix_agentd .d/
|
复制配置文件到zabbix agent的Include目录:
1
|
cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql .conf /etc/zabbix/zabbix_agentd .d/
|
进入percona的脚本目录:
1
|
cd /var/lib/zabbix/percona/scripts
|
修改脚本里的mysql连接地址:
1
2
|
vim get_mysql_stats_wrapper.sh
HOST=localhost
|
创建mysql连接配置文件ss_get_mysql_stats.php.cnf,写入用户名和密码:
1
2
3
4
|
vim ss_get_mysql_stats.php.cnf
<?php
$mysql_user = 'root' ;
$mysql_pass = 's3cret' ;
|
mysql主从监控的配置:
1
2
3
4
5
6
7
|
vim get_mysql_stats_wrapper.sh
RES=`HOME=~zabbix mysql -e 'SHOW SLAVE STATUS\G' | egrep '(Slave_IO_Running|Slave_SQL_Running):' | awk -F: '{print $2}' | tr '\n' ',' `
RES=`HOME=~zabbix mysql -h localhost -uroot -ps3cret -e 'SHOW SLAVE STATUS\G' | egrep '(Slave_IO_Running|Slave_SQL_Running):' | awk -F: '{print $2}' | tr '\n' ',' `
RES=`HOME=~zabbix mysql -h localhost -uroot -ps3cret -e 'SHOW SLAVE STATUS\G' 2>&1 | egrep '(Slave_IO_Running|Slave_SQL_Running):' | awk -F: '{print $2}' | tr '\n' ',' `
|

2、测试脚本
本地执行脚本测试:
1
2
|
/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper .sh gg
/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper .sh running-slave
|
如果上面测试结果不正常,继续下面调试,查看错误原因:
1
|
/usr/bin/php -q /var/lib/zabbix/percona/scripts/ss_get_mysql_stats .php --host localhost --items gg
|
正常输出:

解决上面问题后,再用zabbix用户执行脚本,查看输出:
1
|
sudo -u zabbix -H /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper .sh gg
|
如果遇到zabbix用户权限问题,解决方法:
1
2
|
rm -f /tmp/localhost-mysql_cacti_stats .txt
chown -R zabbix. /var/lib/zabbix
|
正常输出:

所有调试正常后,重启zabbix agent:
1
|
service zabbix-agent restart
|
最后到zabbix server端远程测试一下:
1
|
zabbix_get -s 192.168.60.211 -k MySQL.Key- read -requests
|
正常输出:

二、配置Zabbix Web
1、zabbix web端导入模板文件
模板文件(zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.7.xml)在插件安装目录/var/lib/zabbix/percona/templates下,复制出来导入到zabbix web。
导入后的模板名“Percona MySQL Server Template”,模板分组“Percona Templates”。

注意:官方安装包里的模板是在zabbix2.0.9版本下测试的,经测试可导入到zabbix2.0和2.2版本。
zabbix3.0版本环境不能直接导入,解决方法是:找个zabbix2.2版本环境中转一下,即从2.2版本中导出后,再导入到3.0版本。
2、zabbix web端创建主机
创建一个主机,主机链接模板“Percona MySQL Server Template”,把主机剩余配置完成。等待5分钟左右后查看mysql监控数据。
附percona网站链接:
https://www.percona.com/doc/percona-monitoring-plugins/LATEST/zabbix/index.html
本文转自 张斌_青岛 51CTO博客,原文链接:http://blog.51cto.com/qicheng0211/1958291