私は約2年間nagiosを実行していますが、最近、この問題が私のサービスの1つで発生し始めました。
私は得ています
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
...何が悪いのか教えてくれません。
これを解決する方法はありますか?
ありがとう!
-N
のcheck_http
オプションを使用してみてください。
同様の問題が発生しました。私の場合、応答を送信した後、Webサーバーが接続を終了しませんでした(httpsは機能していましたが、httpは機能していませんでした)。 check_httpは、サーバーが接続を閉じるまで、開いているソケットからの読み取りを試みます。それが起こらない場合は、タイムアウトが発生します。
-N
オプションは、check_http
にヘッダーのみを受信し、ページ/ドキュメントのコンテンツは受信しないように指示します。
私は自分の問題を、OpenSUSEの最新バージョンで構成されたセキュリティプロバイダーの問題まで追跡しました。
他のWebページの要約から、TLSv2プロトコルを使用しようとしたときに問題が発生したようですが、これは正しく機能していないように見えるか、デフォルト構成で機能するための何かが不足しています。
この問題を解決するために、問題のセキュリティプロバイダーをJREセキュリティ構成ファイルからコメントアウトしました。
#security.provider.10=Sun.security.pkcs11.SunPKCS11
Security.provider。構成によって値が異なる場合がありますが、基本的にSunPKCS11プロバイダーが問題になっています。
この構成は通常、
$Java_HOME/lib/security/Java.security
使用しているJREの.
興味のある人は誰でも、私もこの問題に遭遇し、問題はWebサーバーのmod_itkにあることになりました。
現在のCentOSまたはDebianパッケージに含まれていないように見える場合でも、パッチは利用可能です。
https://lists.err.no/pipermail/mpm-itk/2015-September/000925.html
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