如何在nagios中监控crond服务
how to monitor crond service in nagios
我想在 Nagios 中监控 crond 服务。
我尝试使用创建以下脚本并放置在 /usr/local/nagios/libexec/
CRON_RESULT=$(/etc/init.d/crond status)
STATUS=`echo $CRON_RESULT| grep pid`
if [ -z "$STATUS" ]; then
echo "CROND CRITICAL- $CRON_RESULT"
exit 2
else
echo "CROND OK- $CRON_RESULT"
exit 0
fi
如果没有 cron 运行(显示 CRITICAL)并且如果 运行(显示 OK),它工作正常。
但是,如果 NRPE 客户端无法从 Nagios 服务器访问,crond 服务将状态显示为 "OK"(绿色)并显示一条消息 return code of 255 is out of bounds
。而且我不知道 crond 是否 运行。
在 CentOS 6.6 中有没有其他方法可以监控 crond 服务?
从 Nagios 服务器上的 libexec
目录,针对包含您要监视的 crond
服务的主机的 IP 地址手动执行 check_nrpe
命令:
[root@joeyoung.io libexec]# pwd
/usr/local/nagios/libexec
[root@joeyoung.io libexec]# ./check_nrpe -H 10.0.0.1
connect to address 10.0.0.1 port 5666: No route to host
在 运行 check_nrpe
之后立即执行 echo $?
以获取 return 代码。
[root@joeyoung.io libexec]# echo $?
255
如果您得到 255
(或 0 以外的任何数字)的结果,那么您在手动执行 check_nrpe
时收到的错误消息是问题根本原因的征兆。
你可以尝试 运行 这个并报告吗?
我搜索并发现它是 nrpe v2.15 中的错误,所以我在 Nagios Server 上恢复到 nrpe v2.12 并解决了这个问题。
我想在 Nagios 中监控 crond 服务。
我尝试使用创建以下脚本并放置在 /usr/local/nagios/libexec/
CRON_RESULT=$(/etc/init.d/crond status)
STATUS=`echo $CRON_RESULT| grep pid`
if [ -z "$STATUS" ]; then
echo "CROND CRITICAL- $CRON_RESULT"
exit 2
else
echo "CROND OK- $CRON_RESULT"
exit 0
fi
如果没有 cron 运行(显示 CRITICAL)并且如果 运行(显示 OK),它工作正常。
但是,如果 NRPE 客户端无法从 Nagios 服务器访问,crond 服务将状态显示为 "OK"(绿色)并显示一条消息 return code of 255 is out of bounds
。而且我不知道 crond 是否 运行。
在 CentOS 6.6 中有没有其他方法可以监控 crond 服务?
从 Nagios 服务器上的 libexec
目录,针对包含您要监视的 crond
服务的主机的 IP 地址手动执行 check_nrpe
命令:
[root@joeyoung.io libexec]# pwd
/usr/local/nagios/libexec
[root@joeyoung.io libexec]# ./check_nrpe -H 10.0.0.1
connect to address 10.0.0.1 port 5666: No route to host
在 运行 check_nrpe
之后立即执行 echo $?
以获取 return 代码。
[root@joeyoung.io libexec]# echo $?
255
如果您得到 255
(或 0 以外的任何数字)的结果,那么您在手动执行 check_nrpe
时收到的错误消息是问题根本原因的征兆。
你可以尝试 运行 这个并报告吗?
我搜索并发现它是 nrpe v2.15 中的错误,所以我在 Nagios Server 上恢复到 nrpe v2.12 并解决了这个问题。