我已经运行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
......这并没有告诉我出了什么问题。
我有什么想法可以解决这个问题吗?
谢谢!
答案 0 :(得分:16)
尝试使用-N
的{{1}}选项。
我遇到了类似的问题,在我的情况下,Web服务器在发送响应后没有终止连接(https正在运行,http不是)。 check_http尝试从打开的套接字读取,直到服务器关闭连接。如果没有发生,则发生超时。
check_http
选项告诉-N
仅接收标题,但不接收页面/文档的内容。
答案 1 :(得分:1)
我将问题跟踪到了最新版OpenSUSE中配置的安全提供程序的问题。
从其他网页的摘要来看,似乎是尝试使用TLSv2协议的问题,该协议似乎无法正常工作,或者在默认配置中缺少某些内容以使其能够正常工作。
为了克服这个问题,我从JRE安全配置文件中注释了有问题的安全提供程序。
#security.provider.10=sun.security.pkcs11.SunPKCS11
security.provider。您的配置中的值可能有所不同,但实质上是SunPKCS11提供商存在争议。
此配置通常位于
中$JAVA_HOME/lib/security/java.security
你正在使用的JRE。
答案 2 :(得分:0)
使用nrpe.cfg中的此url修复:(使用nagios-nrpe-server在Deb 6.0 Squeeze上)
command[check_http]=/usr/lib/nagios/plugins/check_http -H localhost -p 8080 -N -u /login?from=%2F
答案 3 :(得分:0)
对于有兴趣的人,我偶然发现了这个问题,问题最终出现在Web服务器上的 mod_itk 中。
补丁可用,即使它似乎没有包含在当前的CentOS或Debian软件包中:
https://lists.err.no/pipermail/mpm-itk/2015-September/000925.html
答案 4 :(得分:0)
就我而言,/etc/postfix/main.cf
文件配置不当。
我的 mailserverrelay 没有定义,也非常严格。
我应该补充:
relayhost = mailrelay.ext.example.com
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination