在nagios插件网上下载了一个check_uptime.pl 插件,来监测nginx服务器的运行天数,服务器的运行时间。下载下来在服务器上执行能得到数据,但是在nagios服务器上,在commands.cfg 加了配置文件,然后在services.cfg 加了监测服务,在nagios 页面上显示 null. 在网上查找了好久原因都没找到问题的所在,想好了久,既然执行命令能输出内容,为什么在nagios上不能输出内容呢,发现是这个插件的输出内容格式与 nagios 的内容格式不符所导致的。
报警信息为: Notification Type: PROBLEM
Service: fms_uptime1 Date/Time: Mon Aug 2 13:39:17 CST 2010 Additional Info: (null) 下载的 check_uptime.pl 输出内容:
nagios $> ./check_uptime.pl -H -L
修改 代码
print "$result :UPTIME on $hostname -$message current uptime: $uptime $units\n";
nagios $> ./check_uptime.pl -H -L 插件的使用方法: 1.下载 check_uptime.pl 到 /usr/local/nagios/libexec/ 目录下 给予 可执行权限
2.修改 /usr/local/nagios/etc/objects/commands.cfg 加入代码:
复制代码代码如下:
define command{
command_name check_uptime command_line $USER1$/check_uptime.pl -H -L -W $ARG1$ -C $ARG2$ -w $ARG3$ -c $ARG4$ }
3.修改 services.cfg 加入代码:
复制代码代码如下:
define service{
use local-service,srv-pnp host_name fms service_description fms_uptime check_command check_uptime!365!400!2!1 }
# 如果是 nrpe 客户端 则加入:
复制代码代码如下:
command[check_uptime]=/usr/local/nagios/libexec/check_uptime.pl -H -L -W 365 -C 400 -w 1 -c 0
4.重启服务
复制代码代码如下:
/etc/init.d/nagios restart
# nrpe 客户端
复制代码代码如下:
/etc/init.d/xinetd restart
|