不知道这里有什么问题,但是我正在为两台在同一台Web服务器上运行的虚拟主机进行testing。 我只是想确保一个HTTP 200上的GET回来。当我在命令行上运行这个,没有问题:
st:/etc/nagios3# /usr/lib/nagios/plugins/check_http www.example.com HTTP OK: HTTP/1.1 200 OK - 14144 bytes in 0.055 second response time |time=0.055208s;;;0.000000 size=14144B;;;0
只要我popup这个configuration,虽然,我得到一个警告,404警报:
在我的commands.cfg中:
define command { command_name check_http command_line $USER1$/check_http -H $HOSTNAME$ }
并在我的services.cfg:
define service { use generic-service host_name myhost service_description HTTP-WWW check_command check_httpname!www.example.com }
作为一般说明,您应该查看Apache日志文件,以查看服务器端发生的情况。
您在命令行上运行的命令与您在configuration文件中的命令不同。 在你正在运行的命令行中:
check_http host.example.com
但是在你的configuration文件中,你正在运行:
check_http -H host.example.com
这两个截然不同的东西! 阅读文档以获取更多信息。 如果您使用的是基于名称的虚拟主机,则这两个命令会向不同的虚拟服务器发送请求。
我想你可能有一个错字:
define command { command_name check_http command_line $USER1$/check_http -H $HOSTNAME$ }
也许你的意思是:
define command { command_name check_httpname command_line $USER1$/check_http -H $HOSTNAME$ }