nagios mysql配置_Nagios监控mysql同步

一、方案一、

先检查master上master status的状态,sleep 1,再检查slave上slave status,只要slave status上相应的file和position >= master上的,就认为是OK,否则发报警mail,仅供参考,这里使用方案二。

二、方案二、

登入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.93.16

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、在被监控的从服务器增加一个用户,给予较低的权限,操作为 :

注:Replication client 有此权限可以查询master server、slave server状态。

mysql >  grant Replication client on *.* to nagios@localhost identified by 'nagios';

mysql> flush privileges;

2、验证一下,看是否正常,  .

mysql -unagios -pnagios -e "show slave stutas\G"

3、在从服务器安装 nrpe,然后在配置文件nrpe.cfg加入一行

vi /usr/local/nagios/etc/nrpe.cfg

command[check_mysql_slave]=/usr/local/nagios/libexec/check_mysql_slave

4、编写脚本/usr/local/nagios/libexec/check_mysql_slave(这是监控其作用的核心),其内容如下:

#!/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 C2-slave is running"

exit 0

else

echo "Critical C2-slave is error"

exit 2

fi

附件里是我自己编写的脚本,详细写了哪个线程没有处于开启状态。稍微美化了一下。

注意权限执行权限

#chmod +x check_mysql_slave

#chown  nagios.nagios check_mysql_slave

5、手动运行这个脚本,观察输出是否正确

[root@wan76slavemysql libexec]# ./check_mysql_slave

OK mysql_slave is running!!!

#################################

###  以下对监控服务器进行配置 ###

#################################

6、在监控服务器上执行

WuYi176# /usr/local/nagios/libexec/check_nrpe -H 被监控机 -c check_mysql_slave

OK mysql_slave is running!!!

7、在监控文件中定义监控服务配置

vi /usr/local/nagios/etc//test.cfg

define service{

use                     mail-service

host_name               test

service_description     mysql_slave

check_command           check_nrpe!check_mysql_slave

}

8、验证配置文件是否正确

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

9、重读nagios配置文件,立即生效

FreeBSD下     /usr/local/etc/rc.d/nagios reload

CentOS下     service nagios reload

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值