Nagios3 check_httpname给出503响应; 从命令行我得到一个200响应

我们使用Nagios来监视我们的网站(以及其他一些东西)。出于某种奇怪的原因,当我testing出这个命令的时候

/usr/lib/nagios/plugins/check_http -H 'domainname.com' 

返回的响应是HTTP/1.1 200 OK但是当我设置服务来做到这一点:

 # Check that domain is running define service { hostgroup_name hostgroup service_description host site check_command check_httpname!domainname.com use generic-service notification_interval 1; set > 0 if you want to be renotified } 

返回的响应是HTTP/1.1 503 Service Unavailable

有谁知道为什么会这样呢?

不知道为什么我不能添加评论,但是您可能想要在主机定义中validation您的地址和host_name。 我一直卡在命令行检查脚本工作的情况下,但GUI是告诉我别的东西。 通常这是地址字段中的拼写错误。

如何解决这个问题

您必须编辑/usr/local/nagios/etc/objects/commands.cfg并将https结构“-I”更改为“-H”

这将告诉它查找主机名,而不是在服务器configuration的http_check块中指定的dip地址:/usr/local/nagios/etc/servers/yourserver.cfg

从:

  # 'check_http' command definition define command{ command_name check_http command_line $USER1$/check_http -I $HOSTADDRESS$ $ARG1$ } 

至:

  # 'check_http' command definition define command{ command_name check_http command_line $USER1$/check_http -H $HOSTADDRESS$ $ARG1$ }