主要监控主从的状态、同步延迟补数,如果发生主从断开将会报警,这会非常有用。
模板下载
注意:
如果mysql是源码安装,而且是环境变量的mysql命令,需要将脚本里mysql写成绝对路径
1.创建获取脚本
vim mysql-slave.sh
#!/bin/bash #监控mysql从状态脚本 commnd() { /usr/local/mysql/bin/mysql -uroot -p'123456' -e "show slave status\G;" 2>/dev/null | grep -w $1 | awk -F': ' '{print $2}' } if [[ $1 == "Slave_IO_Running" ]];then a=`commnd Slave_IO_Running` [[ "$a" == "Yes" ]] && echo 0 || echo 1 elif [[ $1 == "Slave_SQL_Running" ]];then a=`commnd Slave_SQL_Running` [[ "$a" == "Yes" ]] && echo 0 || echo 1 elif [[ $1 == "Seconds_Behind_Master" ]];then a=`commnd Seconds_Behind_Master` b=`cat /tmp/sbm.tmp` if [[ $a -ge 600 ]] && [[ $b -ge 600 ]];then echo $a else echo 0 fi echo "$a" > /tmp/sbm.tmp elif [[ $1 == "Last_Errno" ]];then a=`commnd Last_Errno` [[ $a -eq 0 ]] && echo 0 || echo 1 elif [[ $1 == "Skip_Counter" ]];then a=`commnd Skip_Counter` [[ $a -eq 0 ]] && echo 0 || echo 1 else echo "Slave_IO_Running | Slave_SQL_Running | Seconds_Behind_Master | Last_Errno | Skip_Counter" fi
2.修改配置文件
vim slave_info.conf
UserParameter=slave_status[*],/etc/zabbix/script/mysql-slave.sh $1
3.验证(zabbix_server端能取到值)
yum install zabbix_get -y
zabbix_get -s 10.0.0.52 -k slave_status[Slave_IO_Running]
1.web界面创建监控项
2.web界面创建触发值
3.依次创建监控项跟触发值
键值:
触发器:
图:
为0则是正常的,Seconds_Behind_Master是延迟多少秒。超过600也就是10分钟会报警