しばらくの間、問題なくサーバーの1つでNagiosを実行していましたが、最近取得しました(リターンコード141は範囲外です)。
サービスをオンラインにしたためにサーバーの負荷が上昇しましたが、それでもそれほど高くはありません(負荷平均最大:0.7)。発売前は、Nagiosのすべてが正常に機能しています。
画像を参照してください。CurrentLoadはコード141を返します。2分前にBeancountersVZが141を返しました。これは不規則に発生します。 HTTPとPINGだけが141を返さず、nrpeで中継しません。
http://pic-hoster.net/view/45030/ScreenShot2012-05-28at5.31.35PM.png
問題のあるクライアントに対してNagiosホストからコマンドを実行すると、リターンが失われることがあることに気付きました。
root@xxx23:/usr/local/nagios/libexec# ./check_nrpe -H 123.123.123.123 -c check_apt
APT OK: 0 packages available for upgrade (0 critical updates).
root@xxx23:/usr/local/nagios/libexec# ./check_nrpe -H 123.123.123.123 -c check_apt
root@xxx23:/usr/local/nagios/libexec# ./check_nrpe -H 123.123.123.123 -c check_apt
APT OK: 0 packages available for upgrade (0 critical updates).
クライアントで直接実行した場合、これは発生しません。
私がしたこと:
私は数ヶ月前に他のサーバーで同じ問題を抱えていました。問題が見つからず、サーバーを再インストールしました。現在動作しています。
アイデアを持っている人はいますか?
[〜#〜]更新[〜#〜]
私はそれを見つけたと思います、1時間起こっていません。
SIGPIPEは良いヒントでした、私はnagiosではなくシステムで何かを想定しました。
Openvzの構成と制限を調整しました。安定していれば報告します。
同様の問題が発生し、コンテナ内のNRPEを介してチェックされた1つのサービスが予期されたWARNING
を返し、数分後に同じサービスが141/SIGPIPEエラーでCRITICAL
を返しました。次のチェックでは、WARNING
、CRITICAL
、WARNING
というように返されました。
エラーのトラフィックキャプチャを実行したところ、 Nagiosの問題#305 で、観察した内容を非常に正確に説明していることがわかりました。これは、SSL(SSL_shutdown()
)を使用しているときにNRPEサーバー側で接続が閉じられたために、クライアントにTCP RST)が送信され、中止されたことが原因のようです。読んで、したがってSIGPIPE。
パッチの適用nrpe-ssl_shutdown-2.patch
NRPEソースへの問題レポートに添付され、再構築および再インストール/再起動すると、問題の繰り返しが停止したように見え、警告は通常、重大なエラーなしで報告されます。
この問題は何度か発生しました。プラグインが予期せず終了したことが原因のようです。
私たちが取った行動:
それらの間で、これらは問題を解決したようでした。
終了コード141は、シグナル141-128 = 13に対応します。man7シグナルは、シグナル13がSIGPIPEであることを示します(つまり、話していたプロセスが終了しました)。これがOpenVZが以前のシグナルを送信しないことに関連しているというバグレポートがあります https://bugzilla.openvz.org/show_bug.cgi?id=1901