zabbix监控MySQL遇到的EB单位BUG
1、简介
Zabbix监控MySQL,使用Percona的模板监控,发现了一个图形“Bytes Received”,其中的单位异常,本文就是记录此问题的处理方法;
2、问题1
本次发现了下图(图1)中的单位居然是EB,这单位完全不对,针对这个问题,查找了下原因;
1 EB = 1,024 PB = 1,048,576 TB = 1,048,576 GB = 1,152,921,504,606,846,976 Bytes
图1
1)首先找了找Byte Received在web模块中的键值
点击“配置”--》“主机”--》“监控项”--》找到对应的键值(这里实际应该从“主机”--》“图形”--》“监控项”一步步找的,这里简化了过程) 如下表显示的,Bytes Received对应的键值是MySQL.Bytes-received;
名称 触发器 键值 间隔 历史记录 趋势 类型 应用集 状态 信息 Percona MySQL Server Template Passive: Bytes Received MySQL.Bytes-received 300 90d 365d Zabbix客户端(主动式) MySQL 已启用 2)找zabbix-agent服务器中的shell的配置;
[[email protected] ~]# cat /etc/zabbix/zabbix_agentd.d/userparameter_percona_mysql.conf |grep Bytes-received UserParameter=MySQL.Bytes-received,/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh ky [[email protected] ~]# #执行脚本内容,可以看到结果数据比EB小了很多; [[email protected] ~]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh ky 21332438 [[email protected] ~]# #继续查找,找到了更详细的php脚本,对php脚本进行搜索查看,发现最后的结果就是MySQL命令行中的“SHOW GLOBAL STATUS”的结果中的”Bytes_received“ #结果这个找到的数据也比EB小很多; [[email protected] ~]# cat /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh|more ss_get_mysql_stats.php [[email protected] ~]# cat /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php |grep ky 'Bytes_received' => 'ky', [[email protected] ~]# cat /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php |grep "SHOW"|grep -v '#' SHOW GLOBAL STATUS [[email protected] ~]$ mysql --defaults-file=/etc/my.cnf.d/xx.cnf -e "SHOW GLOBAL STATUS;"|grep Bytes_received Bytes_received 21344599 [[email protected] ~]$3)去web界面查看,看看界面是否有异常配置
点击“配置”--》“模板"--》"监控项"--》"Bytes Received"监控 可以看到“进程”这里有个“自定义倍数"(就是值乘以倍数),点击“测试”按钮后,分析得出,这个是-1导致的错误,删掉这个“自定义倍数”即可;
时间:2020-10-26