线上服务的监控已经基本搞定了,现在就剩下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.创建模板并链接主机

zabbix应用-监控mysql slave 主从状态_监控


(1).创建Applications

zabbix应用-监控mysql slave 主从状态_zabbix_02

(2).创建items  获取3316实例的slave状态,也可以server上用zabbix_get -s ip -k sanguo.check.mysql[3316] 来获取值

zabbix应用-监控mysql slave 主从状态_zabbix_03


(3).创建trigger  如果最后获取的值不等于2 就触发报警

zabbix应用-监控mysql slave 主从状态_监控_04

(4).创建触发action  

zabbix应用-监控mysql slave 主从状态_zabbix_05


zabbix应用-监控mysql slave 主从状态_zabbix_06


zabbix应用-监控mysql slave 主从状态_监控_07




模板在附件