当前位置: 代码网 > 服务器>服务器>Linux > 大神教你自动发现监控mysql从库状态

大神教你自动发现监控mysql从库状态

2025年03月30日 Linux 我要评论
mysql从库的状态主要监控的值有三个,分别为slave sql running,slave io running和seconds behind master。只有当slave sql running

mysql从库的状态主要监控的值有三个,分别为slave sql running,slave io running和seconds behind master。只有当slave sql running,slave io running为yes,然后seconds behind master为0的时候,从库才有可能运行在正常的状态下(有时候这三个值都符合要求,从库数据也会有问题)。先看下监控的效果:

大神教你自动发现监控mysql从库状态

由于是自动发现监控的mysql从库状态,因此,先贴下自动发现规则的配置,使用mysql.slave.discover去获取mysql从库的端口,在从库安装zabbix agentd,并添加配置(userparameter=mysql.slave.discover,python /usr/local/zabbix/discover_mysql_slave.py):

大神教你自动发现监控mysql从库状态

其中,自动发现mysql端口的python脚本见:https://my.oschina.net/zhuangweihong/blog/785919 此文章有类似的脚本。自动发现完mysql的端口后,使用的探测项目原型如下,使用三个原型去获取mysql从库的三个需要监控的值:

大神教你自动发现监控mysql从库状态

其中获取的键值需要在从库agent中添加配置,然后重启agentd:

userparameter=mysql.slave.status[*],sh /usr/local/zabbix/check_mysql_slave.sh -u xxx-p xxx -p $1 -k $2 2>/dev/null

最后就看下/usr/local/zabbix/check_mysql_slave.sh脚本,如下:

#!/bin/sh
while getopts "u:p:p:k:" opt
do
        case $opt in
                u ) user=$optarg;;
                p ) password=$optarg;;
                p ) port=$optarg;;
                k ) key=$optarg;;
                ? )
                echo 'parameter is wrong!'
                exit 1;;
        esac
done
if [ ! "${user}" ] || [ ! "${password}" ] || [ ! "${port}" ] || [ ! "${key}" ];then
        echo "parameter is null"        
        exit 1
fi

mysql -u ${user} -p${password} -h 127.0.0.1 -p${port} -e "show slave status\g"|grep "${key}\:"|awk '{pr
登录后复制

以上就是大神教你自动发现监控mysql从库状态的详细内容,更多请关注代码网其它相关文章!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com