您的位置:首页 > 移动开发 > IOS开发

nagios监控slave(借助脚本)

2012-04-20 17:42 218 查看
nagios监控slave(借助脚本)

修改后的脚本如下(需添加指示灯的状态)

# vi slave.sh

#!/bin/bash

IO_env=`/usr/local/mysql/bin/mysql -u root -p123456 -e "show slave status \G" | grep Slave_IO_Running | awk -F[:" "]+ '{print $3}'`

SQL_env=`/usr/local/mysql/bin/mysql -u root -p123456 -e "show slave status \G" | grep Slave_SQL_Running | awk -F[:" "]+ '{print $3}'`

if [ $IO_env == "Yes" -a $SQL_env == "Yes" ];then

echo "slave is running at time:`date +%y/%m/%d-%H:%M`"

exit 0

else

echo "slave is down at time:`date +%y/%m/%d-%H:%M`"

$(/sbin/mysql -u root -p123456 -e "stop slave")

$(/sbin/mysql -u root -p123456 -e "reset slave")

$(/sbin/mysql -u root -p123456 -e "start slave")

exit 2

fi

:wq

注:

1、0 指的是状态灯绿灯,2指的是红灯,黄灯不用

2、slave宕时执行重启slave的命令,并显示红灯(注:命令执行后slave就已经正常了,显示红灯只是想告诉有这么个事件slave宕过)

# cp slave.sh /usr/local/nagios/libexec

# chmod +x /usr/local/nagios/libexec/slave.sh

# mount /dev/cdrom /media/cdrom

# rpm -ivh sudo-1.6.9pl7-3.el5.i386.rpm

# visudo

#Defaults requiretty (注释掉)

nagios ALL=(ALL) NOPASSWD:/usr/local/nagios/libexec/slave.sh (多个脚本的话设置多行)

:wq

# su - nagios -c 'sudo /usr/local/nagios/libexec/slave.sh' (看看执行是否成功)

# vi /usr/local/nagios/etc/nrpe.cfg

command[check_slave]=/usr/bin/sudo /usr/local/nagios/libexec/slave.sh

:wq

# killall nrpe

# /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d

# vi /usr/local/nagios/etc/objects/ming.cfg

define service{

use generic-service

host_name ming

service_description slave

check_command check_nrpe!check_slave

notifications_enabled 1

}

:wq

# service nagios restart
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息