宝哥软件园

nagios监控mysql主从状态

编辑:宝哥软件园 来源:互联网 时间:2020-05-08

使用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 http://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 http://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_name	check_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
	use			generic-service
	host_name		www.centos.bz
	service_description	mysql slave status
	check_command		check_snmp_extend!mysql-slave
}

参考:http://www.logix.cz/michal/devel/nagios/

更多资讯
游戏推荐
更多+