数据库
首页 > 数据库> > 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的时候发出告警

标签:agentd,slave,自定义,zabbix,MS,mysql,root
来源: https://www.cnblogs.com/zicnotes/p/16666862.html