check_http! – ssl实际上检查http

在监视运行HTTPS但不运行HTTP的主机上的SSL服务时,Icinga会警告403 Forbidden返回码。 但是该警告是针对HTTP,而不是HTTPS。

使用-S或–ssl手动运行check_http命令将返回200 OK代码(以及针对HTTP运行时的403 Forbidden响应)。

但是,自动服务检查返回一个403错误与任何开关 – check_http!-S或check_http! – ssl。

Icinga不会抱怨使用此服务检查监视的其他SSL主机,也许是因为它们也都运行HTTP。

Icinga使用Nagios插件,所以我认为这是一个Nagios或(更可能)configuration问题。

如何解决这个错误的报告? SSL服务正在主机上工作。

这是用于Debian喘息的Icinga 1.7.1-7。 谢谢!

你不能只是通过“-S”或“–ssl”作为一个ARG的检查,除非它是专门编写的期望。

去看看/etc/nagios-plugins/config/http.cfg ,它应该都清楚。 Debian软件包提供了十几个不同的check_http命令,用于不同的用例。 您可能想要使用check_https或其变体。

有关背景信息,请参阅macros及其工作原理文档。

Keith答案的小补充:现在,Debian上的Icinga2可以包含/usr/share/icinga2/include/command-plugins.conf而不是/etc/nagios-plugins ,它不会自动复制$HOSTADDRESS$macros, -H选项。

所以check_http结束查询主机名的IP的默认虚拟主机,这可以默默地给出意想不到的结果。

从这个错误中学习后,我的基本服务configuration。 现在看起来像这样:

 apply Service "check_https" { import "generic-service" check_command = "http" vars.http_warn_time = 10 vars.http_critical_time = 50 vars.http_vhost = "$address$" vars.http_ssl = true vars.http_sni = true vars.sla = "24x7" check_interval = 5m retry_interval = 2m assign where "https-website" in host.groups }