如何在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
对于您的用例是强制性的。
我已经在 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
对于您的用例是强制性的。