线上服务的监控已经基本搞定了,现在就剩下mysql 主从的状态没有检测,这里要想用zabbix 监控,还得写一个获取主从状态的脚本,然后设置一个key,创建模板套用这个key 获取mysql 的主从状态是否正常。
1.这里把我的脚本贴一下,脚本要给可执行权限
#!/bin/bash user=zabbixagent passwd=zabbixagent port=$1 #自定义函数 function status { status=`/data/mysql_root/mysql/bin/mysql -u$user -S /data/mysql_root/mysql/data$port/mysql.socket -p$passwd -e "show slave status/G;" | egrep 'Slave_IO_Running|Slave_SQL_Running' | awk '{print $2}' | egrep 'Yes' | wc -l` if [ $status = 2 ];then echo 2 else echo 1 fi } #引用函数 status
2.自定义key
cat /etc/zabbix/zabbix_agentd.d/check_mysql.conf
UserParameter=sanguo.check.mysql[*], /data/salt/scripts/check_mysql.sh $1
重启zabbix_agent
3.创建模板并链接主机
(1).创建Applications
(2).创建items 获取3316实例的slave状态,也可以server上用zabbix_get -s ip -k sanguo.check.mysql[3316] 来获取值
(3).创建trigger 如果最后获取的值不等于2 就触发报警
(4).创建触发action
模板在附件