博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nagios中自己写的监控mysql主从复制的插件
阅读量:6708 次
发布时间:2019-06-25

本文共 1110 字,大约阅读时间需要 3 分钟。

大家可能遇到这样的问题,mysql的主已经写入数据了,但是却没有同步到从myql那里,或者延迟很长时间才同步过去。说明一下我们的网络环境,我们每台数据库都有两个网线,分别连接内网和外网的千兆交换机,速度肯定不是问题。如果延迟很长的话,肯定是出问题,比如数据库被lock了,或者开发人员的一些不当的操作等。这时候就需要监控主从同步的状态已经主从同步的时间间隔等。以便及时与开发人员沟通,及时解决问题。下面是我自己写的一个脚本名字叫check_mysql_delay:

 
#!/bin/bash
aa=`/usr/local/mysql/bin/mysql -u 用户 –p密码 --socket=/数据库目录/$1/mysql_$1.sock -e "show slave status\G"|egrep Read_Master_Log_Pos|awk    '{print $2}'`
bb=`/usr/local/mysql/bin/mysql -u 用户 –p密码 --socket=/数据库目录/$1/mysql_$1.sock -e "show slave status\G"|egrep Exec_Master_Log_Pos|awk    '{print $2}'`
cc=`expr $aa - $bb`
if [ $cc -gt 10000 ]
then
 echo "$1 is CRITICAL $aa $bb $cc"
 #exit $STATE_CRITICAL;
 exit 2;
else
 echo "$1 is OK $aa $bb $cc"
 #exit $STATE_OK;
 exit 0;
fi
把该脚本放到/usr/local/nagios/libexec目录下面。
然后修改/usr/local/nagios/etc/nrpe.cfg,在后面添加一行
command[check_mysql_delay3306]=/usr/local/nagios/libexec/check_mysql_delay 3306
注意这个3306就是给上面脚本当中$1赋值用的,如果有多个mysql实例的话,可以多写几行。
然后修改nagios服务器端的配置文件。在服务的配置文件中添加如下内容
define service {
        use    db-server
        host_name host当中定义的主机名
        service_description check_rep_delay3306
        check_command check_nrpe!check_mysql_delay3306
}
然后重新加载一下nagios就ok了。

转载地址:http://ylnlo.baihongyu.com/

你可能感兴趣的文章
前端MVC学习总结(二)——AngularJS验证、过滤器、指令
查看>>
Mac环境下svn的使用
查看>>
人工智能成功识别“色情暴力”信息????
查看>>
Open edX 学习、开发、运维相关链接整理
查看>>
PHP中$_SERVER的详细参数与说明
查看>>
For input string: "null"
查看>>
基于密度的聚类之Dbscan算法
查看>>
Introduction to Partitioning
查看>>
SQL优化常用方法30
查看>>
Oracle备库无法连接主库的问题分析
查看>>
HDOJ/HDU 2535 Vote(排序、)
查看>>
微信私房菜走红 外卖、用户、监管三方皆受伤
查看>>
lombok系列2:lombok注解详解
查看>>
大数据风控 ——互联网消费金融的必由之路
查看>>
HBase-1.2.4 CombinedBlockCache和InclusiveCombinedBlockCache
查看>>
一个高性能、轻量级的分布式内存队列系统--beanstalk
查看>>
WebRTC学习资料大全
查看>>
C++ auto_ptr智能指针的用法
查看>>
gcc指定头文件路径及动态链接库路径
查看>>
Linux上使用Qt Creator进行C/C++开发
查看>>