Home

zhangyiqun

Thoughts, stories and ideas.

Notes Blog Archives About
04 Aug 2009

自建nagios命令

将nagios迁移过后又陆续添加了一些机器进去,这时候遇到一个麻烦,使用check_http无法验证网站,提示失败。

但是我直接使用libexec下的文件时却能够探测的到,因为公司的check_http是根据squid改写的,所以在参数上可能有一些问题。

于是开启了debug看了一下,反馈信息如下

[1249004934.093195] [2048.1] [pid=30677] Done. Final output: ‘/usr/local/nagios/libexec/check_http -H 58.83.184.47 -p 8080 ‘

显然最终输出的命令跟我想的不一样。复制了一份check_http为check_host

现在对services.cfg中进行相应的修改。

check_command check_host

重试后依然无法启动,debug提示无法找到命令。可能需要对commands进行定义。

一个典型的commands.cfg配置文件如下

# ‘check_snmp’ command definition

define command{

command_name check_snmp

command_line $USER1$/check_snmp -H $HOSTADDRESS$ $ARG1$

}

# ‘check_http’ command definition

define command{

command_name check_http

command_line $USER1$/check_http -H $HOSTADDRESS$ -p 8080 $ARG1$

}

# ‘check_host’ command definition

define command{

command_name check_host

command_line $USER1$/check_http -H $HOSTADDRESS$ $ARG1$

}

将check_host加入后完美解决问题~!

Notes Blog Archives About