df3 发表于 2013-8-26 08:49:59

nagios监控mysql主从

nagios监控mysql的主从,我这里介绍两种方法,一种是用nagios自带监控mysql 的插件实现,另一种是自己写脚本,下面是两种方法的具体实现过程:
一、nagios自带监控mysql的插件实现
1、编辑/usr/local/nagios/etc/commands.cfg,添加监控mysql主从的字段:
define command{
      command_name   check_mysql_slave
      command_line   $USER1$/check_mysql -H $HOSTADDRESS$ -P13267 -S -uroot -p123456 -s /data/mysql/nagios/logs/mysql.sock
      }
PS:-u指定用户,-P指定端口,-p指定密码,-s指定sock文件路径,-S监控主从
2、编辑/usr/local/nagios/etc/objects/cfg/navyserver.cfg ,添加监控mysql主从项目:
define service{
      use             generic-service
      host_name       navy
      service_description   check_mysql_slave1
      check_command         check_mysql_slave
      }
3、重启nagios就OK了
/etc/init.d/nagios restart
二、脚本监控
1、撰写监控脚本
vi /usr/local/nagios/libexec/check_mysql_slave
#!/bin/sh
declare -a    slave_is
slave_is=($(cd /data/mysql/nagios; /data/mysql/nagios/bin/mysql --sock=logs/mysql.sock-unagios -p123456-e "show slave status \G"|grep Running |awk '{print $2}'))
if [ "${slave_is}" = "Yes" -a "${slave_is}" = "Yes" ]
   then
   echo "OK -slave is running"
   exit 0
else
   echo "Critical -slave is error"
   exit 2
fi
2、在/usr/local/nagios/etc/nrpe.cfg中添加监控mysql主从的命令
?
1
command=/usr/local/nagios/libexec/check_mysql_slave
3、编辑/usr/local/nagios/etc/objects/cfg/navyserver.cfg ,添加监控mysql主从项目:
define service{
      use             generic-service
      host_name       navy
      service_description   check_mysql_slave
      check_command         check_nrpe!check_mysql_slave
      }
4、重启nagios就OK了
/etc/init.d/nagios restart

457475451 发表于 2013-8-26 10:49:02

人生不能像做菜、把所有的料都准备好才下锅!

yanqiufang 发表于 2013-8-26 17:18:07

人生自古谁无死,啊个拉屎不用纸!

网中网 发表于 2013-8-27 01:57:35

自从我变成了狗屎,就再也没有人踩在我头上了。

水莹儿 发表于 2013-8-27 05:24:41

人生重要的不是所站的位置,而是所朝的方向!

sdxh0506 发表于 2013-8-27 08:45:57

找到好贴不容易,我顶你了,谢了

jericho0702 发表于 2013-8-27 17:17:35

生活***好玩,因为生活老***玩我!
页: [1]
查看完整版本: nagios监控mysql主从