阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Zabbix监控MySQL主从状态

217次阅读
没有评论

共计 1604 个字符,预计需要花费 5 分钟才能阅读完成。

搭建 MySQL 主从后,很多时候不知道从的状态是否 ok,有时候出现异常不能及时知道,这里通过shell 脚本 结合 zabbix 实现监控并告警

一般情况下,在 MySQL 的从上查看从的运行状态是通过 Slave_IO_Running 线程和 Slave_SQL_Running 线程是否ok,通过命令“show slave status\G;”即可查看。所以这里根据这两个值进行判断。

Zabbix 监控 MySQL 主从状态

agent 端脚本编写及配置

说明:所有 zabbix 相关的脚本我都放在了 /etc/zabbix/script/ 目录里面,下面这些都是在zabbix 被监控端 上操作,并且上面数据库是属于 MySQL 主从的

1)脚本编写

[root@srt-xt ~]# cd /etc/zabbix/script/

[root@srt-xt /etc/zabbix/script]# cat mysql_slvae_status.sh 
#!/bin/bash
#Desc:用于获取主从同步信息,判断主从是否出现异常,然后提交给 zabbix
#Date: 2019-06-06
#by:Lee-YJ

USER="root"
PASSWD="nae3eabo9naeli1Oov1a"
NAME=$1

function IO {Slave_IO_Running=`mysql -u $USER -p$PASSWD -e "show slave status\G;" 2> /dev/null |grep Slave_IO_Running |awk '{print $2}'`
    if [$Slave_IO_Running == "Yes" ];then
        echo 0 
    else
        echo 1 
    fi
}

function SQL {Slave_SQL_Running=`mysql -u $USER -p$PASSWD -e "show slave status\G;" 2> /dev/null |grep Slave_SQL_Running: |awk '{print $2}'`
    if [$Slave_SQL_Running == "Yes" ];then
        echo 0 
    else
        echo 1 
    fi

}

case $NAME in
   io)
       IO
   ;;
   sql)
       SQL
   ;;
   *)
        echo -e "Usage: $0 [io | sql]"
esac

2)配置文件修改,编写一个自配置文件,里面指定上面编写的脚本的路径

[root@srt-xt ~]# cd /etc/zabbix/zabbix_agentd.d/  

[root@srt-xt /etc/zabbix/zabbix_agentd.d]# cat userparameter_mysql_slave.conf 
# 获取 MySQL slave 状态
UserParameter=mysql.slave[*],/etc/zabbix/script/mysql_slvae_status.sh $1

3)重启 zabbix-agent

[root@srt-xt /etc/zabbix/zabbix_agentd.d]# /etc/init.d/zabbix-agent restart

4)在 zabbix-server 端进行测试,看是否能够成功获取到值,通过上面的脚本,这里为 0 即表示正常,为 1 即表示不正常。

[root@xxxxx ~]# zabbix_get -s 218.75.249.55 -k mysql.slave[sql]
0
[root@xxxxx ~]# zabbix_get -s 218.75.249.55 -k mysql.slave[io]
0

server 端 web 配置

1)配置 Slave_IO_Running 线程监控项

Zabbix 监控 MySQL 主从状态

2)配置 Slave_SQL_Running 线程监控项

Zabbix 监控 MySQL 主从状态

3)配置 Slave_IO_Running 线程的触发器

Zabbix 监控 MySQL 主从状态

4)配置 Slave_SQL_Running 线程的触发器

Zabbix 监控 MySQL 主从状态

5)配置触发动作

Zabbix 监控 MySQL 主从状态

配置动作中需要执行的动作(发送消息给管理员)

Zabbix 监控 MySQL 主从状态

配置状态恢复时的操作(同样发送消息给管理员)

Zabbix 监控 MySQL 主从状态

 最终查看监控项

Zabbix 监控 MySQL 主从状态

 

至此,就完成了 MySQL 主从中从的状态监控了。

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-22发表,共计1604字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中