博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
开发检测MySQL主从同步插件
阅读量:6305 次
发布时间:2019-06-22

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

Nagios的状态码

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

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

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

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

 

第一步:开发的脚本:

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

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

#!/bin/shcommand=`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 = “0” ]then    echo "Slave is OK!"    exit 0else    echo  "Slave_IO_Runnin:$a"    echo  "Slave_SQL_Runnin:$b"    echo  "Last_SQL_Errno:$c"    exit 2fi[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.cfgdefine 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

Slave_IO_Runnin: Yes

Slave_SQL_Runnin: Yes

Last_SQL_Errno: 0
[root@Admin objects]#

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

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]#

总结:被动模式和主动模式下自定义插件的配置步骤

  1.半被动模式

    将开发好的脚本放在libexec目录下

      注意:脚本中要指定返回的状态值,和echo 的内容

    给脚本加上X权限

    在nrpe.cfg中加上command

    重启nrpe

    在服务端使用check_nrpe插件以命令的形式测试该插件是否可以正常共工作

    在services定义相关的服务

    检查语法,并重启服务

  2.主动模式

     将开发好的脚本放在libexec目录下

       注意:脚本中要指定返回的状态值,和echo 的内容

     给脚本加上X权限

     在command.cfg中定义开发好的脚本

     在services里边加入定义的监控的项目

     检查语法,并重启服务

  

转载于:https://www.cnblogs.com/along1226/p/5078803.html

你可能感兴趣的文章
深度揭秘腾讯云低功耗广域物联网LPWAN 技术及应用
查看>>
与Jeff Sutherland谈敏捷领导力
查看>>
More than React(四)HTML也可以静态编译?
查看>>
React Native最佳学习模版- F8 App开源了
查看>>
云服务正在吞噬世界!
查看>>
阅读Android源码的一些姿势
查看>>
Web语义化标准解读
查看>>
一份代码构建移动、桌面、Web全平台应用
查看>>
高性能 Lua 技巧(译)
查看>>
区分指针、变量名、指针所指向的内存
查看>>
异步编程的世界
查看>>
最近话题火爆的四件事你知道不?
查看>>
SpringBoot整合MyBatis
查看>>
云计算产业如何率先推行信用管理?
查看>>
Android 类库书签更新(一)
查看>>
Unity3D Input按键系统
查看>>
简单的一条SQL,不简单的做事思维 NOT IN 、NOT EXISTS、LEFT JOIN用法差别 ...
查看>>
DataWorks:任务未运行自助排查
查看>>
ionic/cordova热部署
查看>>
「镁客早报」特斯拉裁员,马斯克解释没有办法;微软推出Azure DevOps赏金计划...
查看>>