zabbix自定义key监控mysql主从同步超简单!
原理:利用在slave上运行show slave status获取Slave_IO_Running和Slave_SQL_Running的值
1.在zabbix客户端配置文件中加入:
首先要对mysql提供一个查询主从状态的账号!(当然用root也可以。)
grant replication client on *.* to 'xxx'@'localhost' identified by 'xxx';
flush privileges;
UserParameter=mysql.replicate_error,if test `mysql -uxxx -pxxx -h127.0.0.1 -e 'show slave status\G' | awk -F: '{if($1~/Slave_IO_Running/) print$2}' ` = "Yes" -a `mysql -uxxx -pxxx -h127.0.0.1 -e 'show slave status\G' | awk -F: '{if($1~/Slave_SQL_Running/) print$2}' ` = "Yes";then echo 0; else echo 1;fi
2.在web界面创建模板:
创建项目
添加触发器;
添加动作略。
4.分享下其他服务的key:
UserParameter=nginx.status,netstat -tunlp | grep 80 | grep nginx | wc | awk '{print $1}'
UserParameter=memcached.stats,netstat -tunlp | grep 11211 | grep memcache | wc | awk '{print $1}'