MySql教程

zabbix监控mysql主从状态

本文主要是介绍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界面创建监控项
file

2.web界面创建触发值
file

3.依次创建监控项跟触发值
键值:
file

触发器:
file

图:
为0则是正常的,Seconds_Behind_Master是延迟多少秒。超过600也就是10分钟会报警
file

这篇关于zabbix监控mysql主从状态的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!