zabbix使用percona插件监控mysql数据库
监控MySQL一般最常用的插件就是percona,percona一开始是cacti监控MySQL的插件,后来觉得还不错就打包了zabbix的版本
监控思路:
1.首先准备好模板文件,进行导入
2.将配置文件cp到对应的配置文件目录
3.准备好脚本
4.应用模板
1.安装percona插件
[root@zabbix-server ~]# rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm 警告:percona-zabbix-templates-1.1.8-1.noarch.rpm: 头V4 DSA/SHA1 Signature, 密钥 ID cd2efd2a: NOKEY 准备中... ################################# [100%] 正在升级/安装... 1:percona-zabbix-templates-1.1.8-1 ################################# [100%] Scripts are installed to /var/lib/zabbix/percona/scripts Templates are installed to /var/lib/zabbix/percona/templates 模板路径:/var/lib/zabbix/percona/templates 脚本路径:/var/lib/zabbix/percona/scripts 由于模板都是非常老的版本了,都不兼容zabbix4.0了,因此我们再这个 模板还有rpm都在此链接 链接:https://pan.baidu.com/s/1MIcHUokduErdjkI6wOnzyw 提取码:45h1 复制这段内容后打开百度网盘手机App,操作更方便哦
2.导入监控模板
点击配置—模板—导入
3.配置zabbix_agent
这些文件都在rpm包中有准备
1.准备配置文件 [root@zabbix-server ~]# cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/ 2.准备脚本文件 [root@zabbix-server ~]# ls /var/lib/zabbix/percona/scripts/ get_mysql_stats_wrapper.sh ss_get_mysql_stats.php 3.重启zabbix_agent [root@zabbix-server ~]# systemctl start zabbix-agent
4.修改ss_get_mysql_stats.php脚本
由于是基于cacti打包的,因此这里非常坑,如果不改执行脚本会没有任何输出
[root@zabbix-server ~]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh ij
原因:这时由于php脚本中的数据库用户写的不对
解决方法:
[root@zabbix-server ~]# vim /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php
$mysql_user = ‘zabbix’;
$mysql_pass = ‘123456’;
再次执行即可获取值
[root@zabbix-server ~]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh ij
21
使用zabbix_get测试
[root@zabbix-server ~]# zabbix_get -s 127.0.0.1 -k MySQL.Open-files
21
测试完一定要删除文件
[root@zabbix-server scripts]# rm -rf /tmp/localhost-mysql_cacti_stats.txt
5.修改get_mysql_stats_wrapper.sh脚本
默认获取主从状态使用root去登陆的,但是我们的php脚本用的是zabbix用户,因此需要改一下
修改下面这一行 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 -u zabbix -e 'SHOW SLAVE STATUS\G' | egrep '(Slave_IO_Running|Slave_SQL_Running):' | awk -F: '{print $2}' | tr '\n' ','`
6.应用刚刚导入的mysql模板
配置—主机—模板—添加模板
瞬间就多了好多监控项
7.查看监控数据