简单分析percona-zabbix-templates(r10笔记第6天)
公众号:杨建荣的学习笔记 · 作者:杨建荣 · 发布:2016-08-29 23:12:13 · 原文链接
当Zabbix和Percona两者相遇,会擦出不少的开源火花来,众人拾柴火焰高,最终受益的还是大部分运维人员。
我很早就用过Percona提供的MySQL监控模板,但是却没有刨根问底,只是简单使用而已,自从定制了Orabbix之后,我还是信心满满,MySQL的数据字典相对要少很多,监控起来可能想必Oracle要少很多,不过关于Percona的这个插件,我还是带着好奇之心,内部是否有很多独门秘籍,我想好好学学那些监控项对应的SQL,好好弥补我对于MySQL监控的一些空缺,所以简单分析这个模板就排上了日程。
首先是Percona monitoring Plugins for Zabbix这个插件,可以参考官网。
https://www.percona.com/doc/percona-monitoring-plugins/1.1/zabbix/index.html里面已经列出了很详细的步骤,我就不再赘述了,我的目标是简单理解这些监控的出处和原理。 因为这个插件是客户端的,所以选择了一台服务器在客户端查看。到达了相应的安装目录下,假设为:/home/app/zabbix/zabbix_agentd.conf.d/
可以看到配置文件userparameter_percona_mysql.conf的内容,类似下面的形式

如此来看监控项还是丰富啊,而且后面对应的参数很简介。这样的监控项总共有多少,大概是160多个。我想我算是找到了一个宝藏了,这么多的脚本可着实能好好潜心学习一番。
等等,我看了看脚本,发现有些不大对劲啊,怎么调用的都是同一个脚本。/home/app/zabbix/script/get_mysql_stats_wrapper.sh
好吧,一个就一个脚本,肯定脚本很大,也不影响代码阅读。
再次查看这个脚本,发现我又想错了。

这个脚本是大小是1333,大概就是1k的样子,这么大点能放多少代码,肯定远远不够啊。带着好奇心进入这个脚本。
原来这个脚本中不是实际的详细逻辑,这个脚本会生成一个所谓的cache文件,里面调用的脚本是一个php脚本ss_get_mysql_stats.php
大体的调用方式如下:
CMD=”sudo /usr/local/php/bin/php -q $DIR/ss_get_mysql_stats.php –host $HOST –items gg”
把生成的数据都放入/tmp/localhost-mysql_cacti_stats.txt
