nagios监控mysql主从状态

使用nagios监控mysql主从可以有两种方法,一种是使用nagios的nrpe插件来执行远程的shell脚本,并把数据发回监控服务器分析,二种方法是使用snmp的extend功能来执行远程脚本。我们这里介绍后一种方法。

一、mysql从服务器设置

1、mysql从服务器用户添加
执行如下语句添加用户:

  1. mysql> GRANT REPLICATION CLIENT ON *.* TO monitor@localhost IDENTIFIED BY 'PassWord';

2、下载check-mysql-slave.pl脚本

  1. cd /usr/local/bin/
  2. wget https://www.centos.bz/wp-content/uploads/2012/10/check-mysql-slave.pl
  3. chmod +x check-mysql-slave.pl

3、在mysql从服务器上配置extend mysql-slave
在/etc/snmp/snmpd.conf文件的末尾添加如下代码:

  1. extend mysql-slave /usr/local/bin/check-mysql-slave.pl --user monitor --pass PassWord --sock /var/lib/mysql/mysql.sock

注意相关参数修改为自己的。
之后重载snmp:

  1. service snmpd reload

二、监控服务器设置

1、下载check_snmp_extend.sh脚本

  1. mkdir /usr/local/nagios/libexec.local
  2. cd /usr/local/nagios/libexec.local
  3. wget https://www.centos.bz/wp-content/uploads/2012/10/check_snmp_extend.sh
  4. chmod +x check_snmp_extend.sh

2、定义USER10变量
在文件/usr/local/nagios/etc/resource.cfg添加如下变量:

  1. $USER10$=/usr/local/nagios/libexec.local

3、定义check_snmp_extend命令
在/usr/local/nagios/etc/objects/commands.cfg添加:

  1. define command{
  2. command_name check_snmp_extend
  3. command_line $USER10$/check_snmp_extend.sh $HOSTADDRESS$ $ARG1$
  4. }

4、定义监控mysql主从服务
在主机配置文件,如/usr/local/nagios/etc/objects/www.centos.bz.cfg中添加如下service(注意,此www.cnetos.bz.cfg文件已经在nagios.cfg配置文件中包含)

  1. define host{
  2.         use                     linux-server
  3.         host_name               www.centos.bz
  4.         alias                   www.centos.bz
  5.         address                 142.4.33.74
  6.         }
  7. ......
  8. ......
  9. define service{
  10. ## This is an example service configured as
  11. ## extend servicename /path/to/service-check.sh
  12. ## on remote.server in /etc/snmp/snmpd.conf
  13. use generic-service
  14. host_name www.centos.bz
  15. service_description mysql slave status
  16. check_command check_snmp_extend!mysql-slave
  17. }

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

标签:监控IOSMySQL 发布于:2019-11-22 23:14:01