Zabbix模板自带一个MySQL监控模板,但监控的项目比较少,生产环境推荐使用percona的监控插件。

1
https: //www .percona.com /doc/percona-monitoring-plugins/1 .1 /zabbix/index .html


1.安装percona插件(agent端):

1
rpm -ivh http: //www .percona.com /downloads/percona-release/redhat/0 .1-3 /percona-release-0 .1-3.noarch.rpm


2.percona是php写的,所以agent连接MySQL必须安装php和php-mysql

1
2
3
4
5
6
yum  install  php php-mysql -y
yum  install  percona-zabbix-templates -y 
       
#编辑zabbix_agent配置文件,这步一般默认配置都完成了:
#vi /etc/zabbix/zabbix_agentd.conf
#include=/etc/zabbix_agentd.conf.d/

查看安装的percona:

1
2
3
4
5
6
7
8
rpm -ql percona-zabbix-templates
/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


3.复制模板到该目录下:

1
cp  /var/lib/zabbix/percona/templates/userparameter_percona_mysql .conf  /etc/zabbix/zabbix_agentd .d/


4.让php可以连接到mysql上:

1
2
3
4
5
6
7
8
9
10
11
#在mysql上授权一个账号
grant  select ,process,replicationclient on *.* to jiankong@localhost identified by  "jiankong" ;
flush priveleges;
#process这个权限可以执行show processlist和kill这个命令。
#relicationclient权限可以查看master和slave的状态。
 
#编辑percona的配置文件
vi  /var/lib/zabbix/percona/scripts/ss_get_mysql_stats .php
$mysql_user =  'root' ;
$mysql_pass =  'password' ;
$mysql_port = 3306;


5.测试并修改监控脚本:

1
/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper .sh gg


6.修改监控脚本,默认监控MySQL主从的,测试是否能用,如果是从库返回值应该为1,如果出错的话此处需要手工修改:

1
/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper .sh running-slave


7.导入zabbix模板:

1
2
cd  /var/lib/zabbix/percona/templates/
sz zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.7.xml


8.下载到本地,然后在zabbix上导入

1
Configuration -> Templates-> Import

注意:导入模板的时候会出错:

Invalid XML tag "/zabbix_export/date": "YYYY-MM-DDThh:mm:ssZ" is expected

解决:下载个3.0的模板导入即可解决。

https://www.ttlsa.com/wp-content/uploads/2016/07/Percona-MySQL-Server-Template.zip


附件中我已上传,可以直接下载导入。


在生产环境中如果监控到主出现故障,则需要切换到从,则需要清除从库的信息。

1
2
stop slave;
reset slave all;   #清除从库的连接信息和二进制文件名位置,show slave status不再有效。