zabbix监控mysql主从状态

Posted 日行一善

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zabbix监控mysql主从状态相关的知识,希望对你有一定的参考价值。

一.简介

主要监控主从的状态、同步延迟补数,如果发生主从断开将会报警,这会非常有用。

模板下载

注意:
如果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分钟会报警

本文版权归作者所有,欢迎转载,请务必添加原文链接。

以上是关于zabbix监控mysql主从状态的主要内容,如果未能解决你的问题,请参考以下文章

使用zabbix监控mysql主从状态

zabbix监控mysql主从状态

zabbix监控MySQL主从状态

zabbix监控MySQL主从状态

zabbix监控mysql主从状态

zabbix自定义监控mysql主从状态,并做邮件告警