nagios监控 ogg同步状态
最近我用ogg搭建了sqlserver to mysql的生产环境,但是为了及时了解ogg的同步状态,我用nagios进行了监控。具体脚本如下。
在源端,如果源数据库是sqlserver:
cat C:\NSClient++\scripts\check_run.bat
@echo off
tasklist |find "%1" >NUL
IF ERRORLEVEL 1 GOTO err
IF ERRORLEVEL 0 GOTO ok
:err
echo CRITICAL: %1 process does not exist
exit /B 1
:ok
echo OK:%1 process of normal
exit /B 0
在C:\NSClient++\
NSC.ini文件里面:
在
[External Scripts]标签下,添加一行:
check_ogg_mgr=scripts\check_run.bat mgr
check_ogg_ext=scripts\check_run.bat extract
在nagios server上,
define service{
use hr,srv-pnp
host_name kaoqin-24.4
service_description ogg-mgr_status
check_command check_nrpe!check_ogg_mgr
}
define service{
use hr,srv-pnp
host_name kaoqin-24.4
service_description ogg-ext_status
check_command check_nrpe!check_ogg_ext
}
在目标端,我的目标端是MySQL:
[root@Manger ~]# crontab -l
#给nagios用的,定时检查ogg的状态
*/5 * * * * /usr/local/nagios/libexec/ogg.sh > /tmp/check_ogg.txt
[root@Manger ~]# cat /usr/local/nagios/libexec/ogg.sh
#!/bin/bash
/usr/local/ogg/ggsci << eof
info all
eof
[root@Manger ~]# cat /usr/local/nagios/etc/nrpe.cfg
command[check_ogg_status]=/usr/local/nagios/libexec/ogg_status.sh
[root@Manger ~]# cat /usr/local/nagios/libexec/ogg_status.sh
#!/bin/bash
ogg_status=`cat /tmp/check_ogg.txt |grep -E 'REPLICAT|MANAGER' |grep -c RUNNING`
if [ $ogg_status -eq 2 ];then
echo "ogg_status: OK: |USED=$ogg_status;1;1;;"
$(exit 0)
else
echo "ogg_status: CRITICAL: |USED=$ogg_status;0;0;;"
$(exit 2)
fi
在nagios server上:
define service{
use mysql,srv-pnp
host_name mysql02-2.111
service_description check_ogg_status
check_command check_nrpe!check_ogg_status
}
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28916011/viewspace-2138205/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/28916011/viewspace-2138205/