Nagios监控mysql主从复制

因为公司的nagios用了很久监控项目很多,也在zabbix迁移中,也就先临时用nagios监控mysql主从了

mysql> show slave status\G 查看其输出,即可判定主从复制是否正常。下面是某个从服务器的输出:

mysql> show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.X.X
                  Master_User: rep1
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000004
          Read_Master_Log_Pos: 1752541
               Relay_Log_File: hy-mysql3-relay-bin.000088
                Relay_Log_Pos: 2339
        Relay_Master_Log_File: mysql-bin.000004
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: 

这个输出,最关键处就是"Slave_IO_Running: Yes“和“Slave_SQL_Running: Yes”,这两个值全是"Yes"就表明主从复制正常,否则就是有问题。

操作步骤:
1、在主数据库服务器增加一个用户,给予较低的权限,操作为

1
2
mysql > grant Replication client on *.* to     'nagios' @ '%'  identified by  'nagios' ;   
mysql> flush privileges;

  

2、登陆从服务器验证一下,看是否正常。操作为 

1
mysql -unagios -pnagios -e  "show slave stutas\G"
   注意:这个操作是在 shell下操作的!!
3、在从服务器安装 nrpe,然后在配置文件nrpe.cfg加入一行
1
command [check_mysql_slave]= /usr/local/nagios-nrpe/libexec/chech_mysql_slave
4、编写脚本/usr/local/nagios-nrpe/libexec/check_mysql_slave(这是监控其作用的核心),其内容如下:
1
2
3
4
5
6
7
8
9
10
11
#!/bin/sh
declare  -a    slave_is
slave_is=($( /usr/local/mysql/bin/mysql  -unagios -pnagios    -e  "show slave status\G" | grep  Running | awk  '{print $2}' ))
if  "${slave_is[0]}"  "Yes"  -a  "${slave_is[1]}"  "Yes"  ]
      then
      echo  "OK -slave is running"
      exit  0
else
      echo  "Critical -slave is error"
      exit  2
fi
5、给脚本添加可执行权限,手动运行这个脚本,观察输出。

[root@192-168-X-X ~]#/usr/local/nagios-nrpe/libexec/check_mysql_slave
OK -slave is running

6、修改/etc/suders
1
2
3
4
5
#注释掉下面这行,表示默认不需要控制台
#Defaults    requiretty
 
#添加
nagios ALL=(ALL) NOPASSWD: /usr/local/nagios-nrpe/libexec/check_mysql_slave

7、测试nrpe

1
2
[root@192-168-X-X ~] # /usr/local/nagios-nrpe/libexec/check_nrpe -Hlocalhost -c check_mysql_slave
OK -slave is running

  


8、添加nagios服务器端的services.cfg
1
2
3
4
5
6
7
8
9
10
11
12
13
define service{
                 host_name  192.168.X.X
                 service_description check_mysql_slave
                 check_command check_nrpe!check_mysql_slave
                 max_check_attempts 4
                 normal_check_interval 3
                 retry_check_interval 2
                 check_period 24x7
                 notification_interval 10
                 notification_period 24x7
                 notification_options w,u,c,r
                 contact_groups zhaowei
                 }

9、重启nagios

1
2
3
4
[root@BC_BJ__Nagios ~] # service nagios restart
Running configuration check... done .
Stopping nagios:  done .
Starting nagios:  done .

10、web端显示如下可以监控多实例

 转载:https://www.cnblogs.com/xiewenming/p/7263283.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值