nagios监控svn(借助脚本)

 修改后的脚本如下(需添加指示灯的状态)
 
# vi svn.sh
 
#!/bin/bash


Port=`netstat -ntpl | grep svnserve | awk -F[:" "]+ '{print $4}'`
if [[ $Port == "3690" ]];then
echo "OK - svn is running"
exit 0
else
echo "CRITICAL - svn is down"
/usr/bin/svnserve -d -r /date_web/subversion
exit 2
fi

:wq

注:0 指的是状态灯绿灯,2指的是红灯,黄灯不用     并且宕了之后再次check时就能自动重启
 
# cp svn.sh  /usr/local/nagios/libexec

# chmod +x /usr/local/nagios/libexec/svn.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/svn.sh    (多个脚本的话设置多行)
 
:wq
 
# su - nagios -c 'sudo /usr/local/nagios/libexec/svn.sh'    (看看执行是否成功)
 
# vi /usr/local/nagios/etc/nrpe.cfg
 
command[check_svn]=/usr/bin/sudo /usr/local/nagios/libexec/svn.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 svn
          check_command      check_nrpe!check_svn
          notifications_enabled   1
}
 
:wq
 
 
# service nagios restart