文章目录
[隐藏]
一、mysql从服务器设置
二、监控服务器设置
使用nagios监控mysql主从可以有两种方法,一种是使用nagios的nrpe插件来执行远程的shell脚本,并把数据发回监控服务器分析,二种方法是使用snmp的extend功能来执行远程脚本。我们这里介绍后一种方法。
一、mysql从服务器设置
1、mysql从服务器用户添加
执行如下语句添加用户:
mysql> GRANT REPLICATION CLIENT ON *.* TO monitor@localhost IDENTIFIED BY ‘PassWord’;
2、下载check-mysql-slave.pl脚本
cd /usr/local/bin/
wget https://www.centos.bz/wp-content/uploads/2012/10/check-mysql-slave.pl
chmod +x check-mysql-slave.pl
3、在mysql从服务器上配置extend mysql-slave
在/etc/snmp/snmpd.conf文件的末尾添加如下代码:
extend mysql-slave /usr/local/bin/check-mysql-slave.pl –user monitor –pass PassWord –sock /var/lib/mysql/mysql.sock
注意相关参数修改为自己的。
之后重载snmp:
service snmpd reload
二、监控服务器设置
1、下载check_snmp_extend.sh脚本
mkdir /usr/local/nagios/libexec.local
cd /usr/local/nagios/libexec.local
wget https://www.centos.bz/wp-content/uploads/2012/10/check_snmp_extend.sh
chmod +x check_snmp_extend.sh
2、定义USER10变量
在文件/usr/local/nagios/etc/resource.cfg添加如下变量:
$USER10$=/usr/local/nagios/libexec.local
3、定义check_snmp_extend命令
在/usr/local/nagios/etc/objects/commands.cfg添加:
define command{
command_namecheck_snmp_extend
command_line$USER10$/check_snmp_extend.sh $HOSTADDRESS$ $ARG1$
}
4、定义监控mysql主从服务
在主机配置文件,如/usr/local/nagios/etc/objects/www.centos.bz.cfg中添加如下service(注意,此www.cnetos.bz.cfg文件已经在nagios.cfg配置文件中包含)
define host{
use linux-server
host_name www.centos.bz
alias www.centos.bz
address 142.4.33.74
}
……
……
define service{
## This is an example service configured as
## extend servicename /path/to/service-check.sh
## on remote.server in /etc/snmp/snmpd.conf
usegeneric-service
host_namewww.centos.bz
service_descriptionmysql slave status
check_commandcheck_snmp_extend!mysql-slave
}
参考:http://www.logix.cz/michal/devel/nagios/
nagios监控mysql主从状态