zabbix监控MySQL主从状态和延迟

本文介绍了如何使用Zabbix监控MySQL主从复制的状态和延迟。通过创建监控脚本并配置Zabbix代理,实现了当主从状态异常或延迟超过阈值时触发报警。步骤包括配置MySQL主从,编写监控脚本,修改Zabbix配置,添加监控项和触发器,并演示了手动触发报警的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

zabbix监控MySQL主从状态和延迟


环境说明:

主机名IP服务名
master192.168.188.128主库
zabbix-server192.168.188.130zabbix服务端
zabbix-agent192.168.188.131zabbix客户端和从库

监控主从的状态

主从配置参考mysql主从复制,有略微不同的是参考文章是源码安装,现在做的是yum安装,配置会有略微不同,下面会进行说明

//主库配置
[root@master ~]# vim /etc/my.cnf.d/mariadb-server.cnf
log-bin = mysql_bin
server-id = 10

//从库配置
[root@zabbix-agent ~]# vim /etc/my.cnf.d/mariadb-server.cnf
server-id = 20
relay-log = myrelay

配置脚本

//创建脚本目录
[root@zabbix-agent ~]# mkdir /scripts
[root@zabbix-agent ~]# cd /scripts
[root@zabbix-agent scripts]# vim mysqlms.sh
#!/bin/bash
count=$(mysql -uroot -p123  -e "show slave status\G" |grep -v grep |grep -c 'Yes')
if [ $count -ne 2 ];then
        echo '1'
else
        echo '0'
fi
[root@zabbix-agent scripts]# chmod +x mysqlms.sh
[root@zabbix-agent scripts]# ./mysqlms.sh
0

//在agent端编辑配置文件
[root@zabbix-agent scripts]# vim /usr/local/etc/zabbix_agentd.conf
UnsafeUserParameters=1
UserParameter=check_mysql[*],/bin/bash /scripts/mysqlms.sh

//重启服务
[root@zabbix-agent ~]# pkill zabbix_agentd
[root@zabbix-agent ~]# zabbix_agentd
[root@zabbix-agent ~]# ss -antl
State     Recv-Q    Send-Q       Local Address:Port        Peer Address:Port   Process
LISTEN    0         128                0.0.0.0:10050            0.0.0.0:*
LISTEN    0         80                 0.0.0.0:3306             0.0.0.0:*
LISTEN    0         128                0.0.0.0:22               0.0.0.0:*
LISTEN    0         128                   [::]:22                  [::]:*

//在服务端去测试
[root@zabbix-server ~]# zabbix_get -s 192.168.188.131 -k check_mysql
0

//手动添加动作
[root@master ~]# systemctl start firewalld.service  //主库
[root@zabbix-agent scripts]# mysql -uroot -p123 //从库
MariaDB [(none)]> stop slave;
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> start slave;
Query OK, 0 rows affected (0.001 sec)
[root@zabbix-server ~]# zabbix_get -s 192.168.188.131 -k check_mysql
1  //zabbix服务端
添加监控项

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
查看监控数据

在这里插入图片描述

添加触发器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

手动触发报警
//关闭主从
[root@zabbix-agent ~]# mysql -uroot -p123 -e "stop slave;"

在这里插入图片描述

自定义监控MySQL延迟

配置监控脚本
//在被监控端,也就是从库,修改配置文件
[root@zabbix-agent ~]# vim /usr/local/etc/zabbix_agentd.conf
UserParameter=check_mysqlyc,/bin/bash /scripts/mysqlyc.sh

//重启服务生效配置
[root@zabbix-agent ~]# pkill zabbix_agentd
[root@zabbix-agent ~]# zabbix_agentd

//编写脚本
[root@zabbix-agent ~]# vim /scripts/mysqlyc.sh
count=`mysql -uroot -p123 -e "show slave status\G" 2> /dev/null |awk '/Seconds_Behind_Master/ {print $2}' `
if [ $count -ne 0 ];then
        echo '1'
else
        echo '0'
fi
[root@zabbix-agent ~]# chmod +x /scripts/mysqlyc.sh

//去服务端检查key是否可用
[root@zabbix-server ~]# zabbix_get -s 192.168.188.131 -k check_mysqlyc
0
添加监控项

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

查看监控数据

在这里插入图片描述

添加触发器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

报警触发

等你延迟200以上就报警了

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

随便投投

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值