zabbix自定义监控mysql主从状态和延迟

2022/9/8 2:22:59

本文主要是介绍zabbix自定义监控mysql主从状态和延迟,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

zabbix自定义监控mysql主从状态和延迟

目录
  • zabbix自定义监控mysql主从状态和延迟
    • zabbix自定义监控mysql主从状态
    • zabbix自定义监控mysql主从延迟

zabbix自定义监控mysql主从状态

主机IP 角色 主机名
192.168.169.139 zabbix_server localhost
192.168.169.140 zabbix_agentd、mysql从库 slave
192.168.169.142 mysql主库 master

本实验需要前置环境,zabbix,MySQL主从复制,zabbix部署见《zabbix部署》mysql安装见《mysql进阶》mysql主从复制见《mysql主从复制》

//在agentd被监控端,也就是mysql从库编写脚本,获取mysql主从状态
[root@slave ~]# cd /scripts/zabbix
[root@slave zabbix]# vim mysql_MS_sta.sh
#!/bin/bash
count=$(mysql   -u root -pzzd123! -e'show slave status\G' 2> /dev/null | grep -E "IO_Running:|SQL_Running:" | grep -c Yes)		#因为mysql使用密码明文登录会有告警,所以用错误重定向将他丢到黑洞里去												(/dev/null)

if [ $count == 2 ];then
        echo "0"	#0没问题
else
        echo "1"    #1有问题
fi
[root@slave zabbix]# chmod +x mysql_MS_sta.sh


//执行一下,测试效果
[root@slave zabbix]# ./mysql_MS_sta.sh 
0

//编辑/usr/local/etc/zabbix_agentd.conf
[root@slave zabbix]# vim /usr/local/etc/zabbix_agentd.conf
UnsafeUserParameters=1
UserParameter=check_mysql_MS_sta,/bin/bash /scripts/zabbix/mysql_MS_sta.sh

//重启zabbix_agentd
[root@slave zabbix]# pkill zabbix_agentd 
[root@slave zabbix]# zabbix_agentd

//在zabbix_server上进行验证
[root@localhost ~]# zabbix_get -s 192.168.169.140 -k check_mysql_MS_sta
0

配置监控项

配置触发器

手动触发告警

//在mysql从库停掉主从复制
mysql> stop slave;
Query OK, 0 rows affected (0.00 sec)

等待告警

zabbix自定义监控mysql主从延迟

//在agentd被监控端,也就是mysql从库编写脚本,获取mysql主从延迟数值
[root@slave zabbix]# pwd
/scripts/zabbix
[root@slave zabbix]# vim mysql_MS_delay.sh
#!/bin/bash
delay=$(mysql -uroot -pzzd123! 2> /dev/null -e"show slave status\G" | awk '/Seconds_Behind_Master/ {print $2}')

echo $delay
[root@slave zabbix]# chmod +x mysql_MS_delay.sh

//执行一下脚本,测试效果
[root@slave zabbix]# ./mysql_MS_delay.sh 
189

//编辑zabbix_agentd的配置文件
[root@slave zabbix]# vim /usr/local/etc/zabbix_agentd.conf
UserParameter=check_mysql_MS_delay,/bin/bash /scripts/zabbix/mysql_MS_delay.sh

//重启agentd
[root@slave zabbix]# pkill zabbix_agentd 
[root@slave zabbix]# zabbix_agentd

//在服务端测试
[root@localhost ~]# zabbix_get -s 192.168.169.140 -k check_mysql_MS_delay
204

配置监控项

配置触发器

等到mysql主从延迟大于200的时候发出告警



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


扫一扫关注最新编程教程