ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

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

2022-09-07 19:03:27  阅读:246  来源: 互联网

标签:agentd slave 自定义 zabbix MS mysql root


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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有