自建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加入后完美解决问题~!