因为公司的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"
|
3、在从服务器安装 nrpe,然后在配置文件nrpe.cfg加入一行
1
|
command
[check_mysql_slave]=
/usr/local/nagios-nrpe/libexec/chech_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
|
[root@192-168-X-X ~]#/usr/local/nagios-nrpe/libexec/check_mysql_slave
OK -slave is running
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