Nagios 没有使用 check_http 进行重定向

Nagios 没有使用 check_http 进行重定向

目前,为了测试,我将服务检查设置如下:

define service{
use     generic-service 
host_name       <host>
service_description HTTP
check_command   check_http!-s "blablabla" -f follow
}

请注意,字符串“blablabla”在页面上不存在,这只是为了测试。

Nagios 正在报告

HTTP OK: HTTP/1.1 301 Moved Permanently - 294 bytes in 6.607 second response time
Performance Data:   time=6.606636s;;;0.000000 size=294B;;;0

但是如果我直接运行 check_http 插件,我会得到以下结果:

<user>@<nagiosbox>:/usr/lib/nagios/plugins# ./check_http -H <host> -s "blablabla" -f follow
HTTP CRITICAL: HTTP/1.1 200 OK - string 'blablabla' not found on 'http://<host>:80/' - 92654 bytes in 3.984 second response time |time=3.983636s;;;0.000000 size=92654B;;;0

答案1

您确定您使用相同的参数调用了相同的插件吗?在我看来,您没有正确定义服务。通常,传递的参数没有选项,例如:

check_command   check_http!blablabla!follow

它们之间用 分隔!。在命令定义中,你可以指定 check_http 插件的正确选项,例如:

# 'check_http' command definition
define command{
        command_name    check_http
        command_line    /usr/lib/nagios/plugins/check_http -H '$HOSTADDRESS$' -s '$ARG1$' -f '$ARG2$'
        }

参数$ARG1$$ARG2$将被替换为您在服务定义中指定的实际值。

相关内容