首页 > 数据库技术 > 详细

开发检测MySQL主从同步插件

时间:2015-12-26 20:47:23      阅读:231      评论:0      收藏:0      [点我收藏+]

Nagios的状态码

  OK            退出码0,表示正常工作

  WARNING         退出码1,表示处于警告阶段

  CRITICAL           退出码2,表示处于紧急状态,严重状态

  UNKOEN           退出码3,表示无法获取服务的信息

 

第一步:开发的脚本:

 检测的是:Slave_IO_Runnin,Slave_SQL_Runnin,grep Last_SQL_Errno 三个字段

  开发好的插件都应该放在/usr/local/nagios/libexec目录下

#!/bin/sh


command=`mysql -uroot -p123456 -S /data/3307/mysql.sock -e "show slave status\G;"|egrep "Slave_IO_Runnin|Slave_SQL_Runnin|Last_SQL_Errno"`
a=`echo "$command"|grep Slave_IO_Runnin|awk -F ":" {print $2}`

b=`echo "$command"|grep Slave_SQL_Runnin|awk -F ":" {print $2}`

c=`echo "$command"|grep Last_SQL_Errno|awk -F ":" {print $2}`


if [[ $a == Yes ]]&&{[ $b == Yes }]&&[ $c -eq 0 ]
then
    echo "Slave is OK!"
    exit 0
else
    echo  "grep Slave_IO_Runnin:$a"
    echo  "grep Slave_SQL_Runnin:$b"
    echo  "grep Last_SQL_Errno:$c"
    exit 3
fi

[root@mysql mysql]# 

第二步:赋予执行权限

Nagios中所有的插件都是具有可执行的权限,如果没有可执行的权限就会报错

[root@Admin libexec]# chmod +x check_mysqlslave 
[root@Admin libexec]# ll check_mysqlslave 
-rwxr-xr-x 1 root root 177 Dec 25 20:54 check_mysqlslave

 第三步:编辑客户端的nrpe.cfg文件

[root@lamp etc]# vim nrpe.cfg
追加如下内容
command[check_passwd]=/usr/local/nagios/libexec/check_mysqlslave

第四步:配置nrpe.cfg文件

[root@mysql etc]# pwd
/usr/local/nagios/etc
[root@mysql etc]# vim nrpe.cfg
.....
allowed_hosts=127.0.0.1,192.168.220.129              //添加允许链接的主机
.....

第五步:在服务端添目标主机

[root@Admin objects]# vim hosts.cfg
define host{
        use                     linux-server            
        host_name               141-MySQL
        alias                   141-MySQL
        address                 192.168.220.141
        }

第六步:服务器端检查语法

   服务端只要修改了配置文件就应该检查语法,并重启服务

[root@Admin objects]# /etc/init.d/nagios checkconfig

 

第七部:在服务器端测

[root@Admin objects]# /usr/local/nagios/libexec/check_nrpe -H 192.168.220.141 -c check_mysqlslave
grep Slave_IO_Runnin: Yes
grep Slave_SQL_Runnin: Yes
grep Last_SQL_Errno: 0
[root@Admin objects]#

[root@Admin libexec]# cls

第八步:在服务器端定义一个服务

define service {
        use                     generic-service
        host_name               141-MySQL
        service_description     Check MySQLSlave
        check_command           check_nrpe!check_mysqlslave
}

第九步:重新载入配置文件

[root@Admin objects]# /etc/init.d/nagios reload     
Running configuration check...done.
Reloading nagios configuration...done
[root@Admin objects]# 

 

开发检测MySQL主从同步插件

原文:http://www.cnblogs.com/along1226/p/5078803.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!