Nagios3 监控 HTTP 服务时出现警告

Nagios3 监控 HTTP 服务时出现警告

已经设置了要由 Nagios3 监控的本地网络配置。我发现一个问题,Nagios3 在 IP 为 192.168.1.52 的 Debian 服务器的 HTTP 监控服务中报告警告,该服务器具有单个虚拟主机和用于应用程序开发的大量虚拟主机。我收到此状态消息:

HTTP 警告:HTTP/1.1 404 未找到

我使用 Nagios 工具来检查。servername 是我在 Apache 配置中使用的 vhost 服务器名称。

/usr/lib/nagios/plugins/check_http -H 服务器名称 -I 192.168.1.52

收到此状态消息:

HTTP OK HTTP/1.1 200 OK - 37900 字节,0.504 秒 |时间=0.503946s;;;0.000000 大小=37900B;;;0

但当我这样检查时:

/usr/lib/nagios/plugins/check_http -I 192.168.1.52

我收到与警告相同的状态消息,因此我认为我没有完全设置好 Nagios,因为无法识别该服务器的虚拟主机,它应该如 check_http 服务所示。

我应该去哪里寻找解决方案来修复这个警告?

答案1

你如何定义nagios中的服务?

它应该是这样的:

define command{
command_name    my_check_http
command_line    $USER1$/check_http -H$ARG1$ -I $HOSTADDRESS$
}

define host{
use                     generic-host
host_name               something
alias                   something
address                 192.168.1.52
# ...
}

define service{
use  generic-service
host_name something
check_http_args!nameofvhost
# ...
}

答案2

人。非常感谢您的帮助,但是在检查您的任何答案之前,我自己找到了答案,抱歉!

为了解决这个问题,我在 command.cfg 文件中创建了一个自定义命令,如下所示:

定义命令{

   command_name    custom_check_http  
   command_line    $USER1$/check_http -H $HOSTNAME$ -I $HOSTADDRESS$  

}

不太清楚 $USER1$ 的用途,但如果没有它,它就会崩溃,并出现 127 个超出债券限制的错误。

主机定义已经正确写入了 host_name 和 address(抱歉缺少这些信息!),与 pQd 写入的类似。

定义主机{

   host_name SERVERNAME
   alias SERVERNAME_ALIAS
   address 192.168.1.52
   ...

}

最后 services_nagios2.cfg 文件中的服务定义就像默认的一样简单:

定义服务 {

   hostgroup_name                  http-servers  
   service_description             Apache  
   check_command                   custom_check_http  
   use                             generic-service  
   notification_interval           0 ; set > 0 if you want to be renotified

}

在提出这个问题之前,我还没有意识到变量 $HOSTNAME$ 和 $HOSTADDRESS$ 的用途。再次感谢您的帮助。

答案3

我们的一个 Web 服务器上也出现了“同样”的问题。而且,这个问题是在我们的网站更新后出现的。他们还更改了 IIS 中的标头,因此才开始出现错误。

解决方法:将服务器名称改为网站名称;“服务器名称”改为“site.com”

答案4

在您的 services.cfg 中,检查服务器名称而不是 IP,或者检查端口而不是 http 响应。

后者的例子:

检查命令 检查tcp!80

相关内容