zabbix通过percona插件监控mysql
percona zabbix mysql-plugin是percona发布的一个使用zabbix监控mysql数据库的工具,这款工具比zabbix自带的监控模板要强大的多,毕竟percona是Mysql的一个重要分支,专业做数据库的,所以,采集的数据比较全面。percona的监控插件是php编写的。通过php连接mysql来获取相关的数据,所以需要你在本地安装zabbix agent的同时,部署php和php-mysql
1、安装php php-mysql
[root@zabbix ~]# yum install php php-mysql -y
2、下载安装percona-zabbix-templates
[root@db01 templates]# rpm -ivh 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
安装完成会提示脚本和模板的位置
Scripts are installed to /var/lib/zabbix/percona/scripts
Templates are installed to /var/lib/zabbix/percona/templates
脚本目录下存放的脚本用于获取数据库的信息的
[root@db01 scripts]# pwd
/var/lib/zabbix/percona/scripts
[root@db01 scripts]# ls
get_mysql_stats_wrapper.sh ss_get_mysql_stats.php
3、修改get_mysql_stats_wrapper.sh
[root@db01 scripts]# vim get_mysql_stats_wrapper.sh
19 RES=`HOME=~zabbix mysql -uroot -p123456 -e 'SHOW SLAVE STATUS\G' | egrep '(Slave_IO_Running|Slave _SQL_Running):' | awk -F: '{print $2}' | tr '\n' ','` #在19行中加入数据库用户名和密码
4、修改ss_get_mysql_stats.php
[root@db01 scripts]# vim ss_get_mysql_stats.php
30 $mysql_user = 'root'; #将第30和31行修改为数据库的用户名和密码
31 $mysql_pass = '123456';
5、拷贝自定义监控项的配置文件到/etc/zabbix/zabbix_agentd.d/目录
[root@db01 scripts]# cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
[root@db01 scripts]# ls /etc/zabbix/zabbix_agentd.d/
userparameter_mysql.conf userparameter_percona_mysql.conf
配置文件中自定义了很多key
6、重启zabbix agent
[root@db01 scripts]# systemctl restart zabbix-agent.service
7、测试
在zabbix server上命令行测试获取某个key的值
[root@zabbix ~]# zabbix_get -s 192.168.1.51 -k MySQL.Sort-scan
23
[root@db01 ~]# ls /tmp/ #取值成功后会在/tmp/目录下生成一个日志文件
localhost-mysql_cacti_stats.txt systemd-private-c570caeba5d44f268cad220a4ab53d7f-mariadb.service-lgHRlT
8、web界面操作
8.1 导入模板
percona-zabbix-templates-1.1.8-1.noarch.rpm包里带的模板有点问题,从网上下载
8.2 主机链接模板
8.3 修改监控项的采集时间间隔
模板中的监控项采集时间间隔为5分钟,要想快速获取数据就需要批量修改监控项的采集时间间隔
全选点击批量更新
9、查看最新数据
至此,通过percona插件监控mysql成功