【问题标题】:Nagios: CRITICAL - Socket timeout after 10 secondsNagios:CRITICAL - 10 秒后的套接字超时
【发布时间】:2011-10-24 03:18:14
【问题描述】:

我已经运行 nagios 大约两年了,但最近这个问题开始出现在我的一项服务中。

我来了

CRITICAL - Socket timeout after 10 seconds

对于 check_http -H my.host.com -f follow -u /abc/def 的检查,以前可以正常工作。没有其他服务报告此问题。远程站点正常运行,我可以从 nagios 服务器执行wget http://my.host.com/abc/def,它可以很好地下载响应。此外,执行 check_http -H my.host.com -f follow 效果很好,即只有当我使用 -u 参数时,事情才会中断。我还尝试将不同的用户代理字符串传递给它,没有区别。我尝试增加超时,没有运气。我尝试使用 -v,但得到的只是:

GET /abc/def HTTP/1.0
User-Agent: check_http/v1861 (nagios-plugins 1.4.11)
Connection: close
Host: my.host.com


CRITICAL - Socket timeout after 10 seconds

...这并没有告诉我出了什么问题。

有什么办法可以解决这个问题吗?

谢谢!

【问题讨论】:

  • 您是否尝试将-4-6 添加到check_http 选项?在我不得不强制 IPv4 进行检查之前,我遇到过这个问题。
  • 谢谢,我试了一下。使用-4 我得到了同样的错误。使用-6 我得到:名称或服务未知 HTTP CRITICAL - 无法打开 TCP 套接字
  • 你能发布你的 wget 的输出吗?我假设因为您使用 follow 目标 URL 会进行重定向。
  • 在这种情况下,-f 跟随可能不是必需的,我只是将它作为我用于所有服务的命令的一部分,因为其中一些会重定向。
  • 这是 wget 的输出(经过一些混淆):--2011-11-16 23:04:34-- my.host.com/abc/def Resolving my.host.com... 174.xxx。 yyy.zzz 正在连接到 my.host.com|174.xxx.yyy.zzz|:80... 已连接。 HTTP 请求已发送,等待响应... 200 OK 长度:6324686 (6.0M) [text/html] 保存到:def' 100%[==========================================================================================>] 6,324,686 5.97M/s in 1.0s 2011-11-16 23:04:36 (5.97 MB/s) - acr' 已保存 [6324686/6324686]

标签: nagios


【解决方案1】:

尝试使用check_http-N 选项。

我遇到了类似的问题,在我的情况下,Web 服务器在发送响应后没有终止连接(https 有效,http 无效)。 check_http 尝试从打开的套接字中读取,直到服务器关闭连接。如果这没有发生,则会发生超时。

-N 选项告诉check_http 只接收标题,而不接收页面/文档的内容。

【讨论】:

  • 谢谢,终于我的服务不再处于“PROBLEM”状态了!
  • 为解决方案喝彩,但是连接未终止是堆栈中可能存在问题的迹象。 OP 能否评论触发它的变化是什么?
  • 遇到了同样的问题,这是由于“优化”网络设备造成的。
  • Check_MK 用户信息:在 WATO 中,此选项名为“不要等待文档正文” - 也为我解决了这个问题
【解决方案2】:

我将我的问题归结为在最新版本的 OpenSUSE 中配置的安全提供程序的问题。

从其他网页的摘要来看,尝试使用似乎无法正常工作的 TLSv2 协议似乎是一个问题,或者在默认配置中缺少某些内容以使其正常工作。

为了解决这个问题,我从 JRE 安全配置文件中注释掉了有问题的安全提供程序。

#security.provider.10=sun.security.pkcs11.SunPKCS11

security.provider。您的配置中的值可能不同,但本质上是 SunPKCS11 提供程序存在问题。

这个配置一般在

$JAVA_HOME/lib/security/java.security

您正在使用的 JRE。

【讨论】:

    【解决方案3】:

    用 nrpe.cfg 中的这个 url 修复:(在 Deb 6.0 Squeeze 上使用 nagios-nrpe-server)

    command[check_http]=/usr/lib/nagios/plugins/check_http -H localhost -p 8080 -N -u /login?from=%2F
    

    【讨论】:

      【解决方案4】:

      对于任何感兴趣的人,我也偶然发现了这个问题,问题最终出现在网络服务器上的 mod_itk 中。

      有一个补丁可用,即使它似乎没有包含在当前的 CentOS 或 Debian 软件包中:

      https://lists.err.no/pipermail/mpm-itk/2015-September/000925.html

      【讨论】:

        【解决方案5】:

        在我的情况下,/etc/postfix/main.cf 文件配置不好。 我的 mailserverrelay 没有定义,也非常严格。 我应该补充:

        relayhost = mailrelay.ext.example.com
        
        smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-02-07
          • 2017-10-19
          • 2011-04-12
          • 1970-01-01
          • 1970-01-01
          • 2017-06-11
          • 2012-04-08
          • 2022-01-18
          相关资源
          最近更新 更多