如何在nagios中配置https_check URL

How to configure https_check URL in nagios

我已经在 Linux 中安装了 Nagios(Nagios® Core™ 版本 4.2.2) Server.I 已经使用 check_http 编写了 JIRA URL 检查 HTTPS url.

它应该得到响应 200,但它给出响应 HTTP CODE 302。

[demuc1dv48:/pkg/vdcrz/Nagios/libexec][orarz]# ./check_http -I xx.xx.xx  -u https://xxx.xxx.xxx.com/secure/Dashboard.jspa -S CONNECT
SSL Version: TLSv1
HTTP OK: HTTP/1.1 302 Found - 296 bytes in 0.134 second response time |time=0.134254s;;;0.000000 size=296B;;;

所以我在nagios配置文件中配置了相同的。

define command{
        command_name    check_https_jira_prod
        command_line    $USER1$/check_http -I xxx.xxx.xxx.com  -u https://xxx.xxx.xxx.com/secure/Dashboard.jspa -S CONNECT -e 'HTTP/1.1 302'
}

现在我的 JIRA 服务器宕机了,但它没有反映在 nagios 中 check.The nagios 响应仍然只显示 HTTP 代码 302。

如何解决这个问题?

你没有指定,但我假设你在 Nagios 中央服务器 commands.cfg 配置文件中定义了你的命令,但你还需要在 services.cfg 中定义一个服务,因为服务使用命令来 运行 脚本。

如果您运行从不同的服务器进行check_http检查,您还需要在该远程机器上的nrpe.cfg配置文件中定义它,然后重新启动nrpe.

附带说明一下,根据您共享的输出,我相信您没有使用 check_http Nagios 插件正确支持的标志。 来自你的 post:

check_http -I xxx.xxx.xxx.com  -u https://xxx.xxx.xxx.com/secure/Dashboard.jspa -S CONNECT -e 'HTTP/1.1 302'

来自./check_http -h

-I, --IP-address=ADDRESS
    IP address or name (use numeric address if possible to bypass DNS lookup).

您正在使用主机名 (xxx.xxx.xxx.com )

-S, --ssl=VERSION
    Connect via SSL. Port defaults to 443. VERSION is optional, and prevents auto-negotiation (1 = TLSv1, 2 = SSLv2, 3 = SSLv3).

您指定了CONNECT

除非您在 chech_http 脚本中设置 follow 参数,否则您无法获得代码 200。

我建议你使用这样的东西:

./check_http -I jira-ex.telefonica.de  -u https://xxx.xxx.xxx.com/secure/Dashboard.jspa -S -f follow

-f follow 对于您的用例是强制性的。