zabbix监控mysql down的时候 不报警解决方法
http://s1.运维网.com/wyfs02/M01/8B/77/wKioL1hPRkDQK0lFAAA8XQsvMcc784.png-wh_500x0-wm_3-wmp_4-s_1746572393.png当mysql down掉的时候,zabbix显示如下结果
http://s2.运维网.com/wyfs02/M02/8B/77/wKioL1hPRweCfcl2AAA6PKF9JfA282.png-wh_500x0-wm_3-wmp_4-s_4191731075.pnghttp://s2.运维网.com/wyfs02/M00/8B/7B/wKiom1hPR1jgIdJ4AAAavvbVrUc233.png-wh_500x0-wm_3-wmp_4-s_3882009054.png
使用mysqladmin组件的一连串命令并且检索alive来获取结果集的,获取到就返回1表示mysql服务是开启的获取不到就返回0表示mysql服务关闭了,但是实际上呢?能返回1但是返回不了0,因为mysqladmin命令会先报错信息出来,这样zabbix-server调用的时候返回的不是纯粹数字,而是字符串+熟悉,zabbix-server的触发器里面识别不了
因此可以知道mysqladmin在mysql服务down的时候,返回的字符串报警+数字0,完全触发不了zabbix的报警条件了,是需要考虑其它的方式来判断了。
经查找相关资料telnet也是不能满足mysql down掉时触发报警的需求,现在用netstat试试
http://s2.运维网.com/wyfs02/M02/8B/77/wKioL1hPSJ6Rxsl1AAAOEEQVSXs707.png-wh_500x0-wm_3-wmp_4-s_3082425061.png
netstat -lntup|grep 3306|grep mysql|wc|awk '{print $1}'
将配置文件中mysqladmin ping | grep -c alive 改为上面的命令试试
重启zabbix_agentd
发现还是不行,最终发现netstat 被远程调用的时候失效 所以执行:
chmod +s /bin/netstat
成功了
页:
[1]