zabbix3.4使用percona-monitoring-plugins监控mysql

简介

之前主要使用nagios监控mysql,本文主要介绍使用percona-monitoring-plugins监控mysql,percona监控插件是php开发,因此要在agent安装php环境。

配置安装

一.zabbix-agent端操作

1.安装软件依赖

yum install php php-mysql -y

2.安装percona插件

#centos 6
rpm -Uvh https://www.percona.com/downloads/percona-monitoring-plugins/percona-monitoring-plugins-1.1.8/binary/redhat/6/x86_64/percona-zabbix-templates-1.1.8-1.noarch.rpm
#centos 7
rpm -Uvh https://www.percona.com/downloads/percona-monitoring-plugins/percona-monitoring-plugins-1.1.8/binary/redhat/7/x86_64/percona-zabbix-templates-1.1.8-1.noarch.rpm

3.复制配置文件至zabbix_agent相关目录下

cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
#重启生效
service zabbix-agent restart

4.数据库添加只读账户

grant process,super,replication client on *.* to 'zabbix'@'localhost' identified by 'zabbix';

由于监控mysql需要使用show processlist 及主从相关命令,因此需要给zabbix权限以process,super,replication client等权限。

5.修改脚本参数

vim  /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php
$mysql_user = 'zabbix';
$mysql_pass = 'zabbix';
$mysql_port = 3306;
$mysql_socket = '/tmp/mysql.sock';
$mysql_flags = 0;

以上参数需要根据实际情况填写

6.修改日志权限

chown -R zabbix.zabbix /tmp/localhost-mysql_cacti_stats.txt 

7.测试

#在zabbix agent上测试MySQL.Threads-connected
[root@test83 scripts]# bash /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh iu
77
#在zabbix server上测试
[root@test250 ~]# /App/zabbix/bin/zabbix_get -s 10.10.5.83 -k MySQL.Threads-connected
77

若输出正常,则表明percona-monitoring-plugins配置成功。下一步我们需要安装模板。

二.zabbix-server端操作
1.导入监控模板
这里写图片描述
导入”zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.8.xml”报如上错误,原因原来的模板在3.x 使用有问题,需要将模板导入到2.4中再到处即可。
2.给客户端添加模板,在此我们不多做说明了。

三.监控mysql主从
在slave节点上操作:
1.权限需提升

#若只分配select权限,需进一步提升权限
grant process,super,replication client on *.* to 'zabbix'@'localhost' identified by 'zabbix';

2.修改脚本

vim /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh
RES=`HOME=~zabbix mysql -uzabbix -pzabbix -e 'SHOW SLAVE STATUS\G' | egrep '(Slave_IO_Running|Slave_SQL_Running):' | awk -F: '{print $2}' | tr '\n' ','`
#修改后测试
[root@test83 ~]# bash  /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh running-slave
Warning: Using a password on the command line interface can be insecure.
1

我们看到会输出”Warning: Using a password on the command line interface can be insecure.”
因此我们需要需要在/etc/my.cnf中添加如下:

[client]
port            = 3306
socket          = /tmp/mysql.sock
user = zabbix
password = zabbix

然后再次将脚本更改为:

vim /var/lib/zabbix/percona/scripts/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' ','`
#测试
[root@test83 ~]# bash  /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh running-slave
1

经如上更改后,zabbix就会监控mysql主从,当然我们需要在master节点上将模板中的关于slave的监控项禁用,以便只监控slave节点的同步情况即可。

猜你喜欢

转载自blog.csdn.net/yanggd1987/article/details/79656771