こんにちは。バージョンは1.8.14です。 Web監視機能を使ってあるサイトのレスポンスを数分間隔でチェックしています。 タイムアウト設定は60秒です。このチェック時にまれにhttpステータスコードが0になることがあります。 いつもはステータスコードは200です。Zabbixはどういう時に0を返すのでしょうか? ちなみに、0の時そのサイトが表示されないらしいのです。
広瀬です。
HTTPのステータスコード(100~500番台)のどれにも当てはまらない、何の応答もしない=HTTP通信 が成立していないという事かと思います。試しに、Apacheを意図的に落とすなり、80番ポートふさぐなり して頂くと、同じ結果が出るはずです(timeout値超えて応答が無い場合も同じ)。
※おそらくZABBIXだから、返り値が「0」になるのだろうと思いますが、この辺はソースをひっくり返すと わかるのかと思います。WEB監視は、通常のリソース監視等々と違って値を返さなかった場合には、 よくある「取得不可」にはならず、応答が無ければ「0」に置き換えているのだと推測します
WEB監視の場合ステータスコードだけでは無く、レスポンス・ダウンロード速度等1つの設定で自動的に 複数の値を取得してくれます。その値も、ステータスコードが「0」の場合は、同じく「0」になっているはず です(最新データから見ればご理解頂けるかと)。
広瀬さん、コメントありがとうございます。なるほど 応答がなかったから0だった、という線で当たりをつけていきたいと思います。 ソースも追えれば追ってみたいと思います。
広瀬です
少し補足しておきます。先に書いた点でZABBIX側が値を「0」で返すと思われると 述べていますが、実際にはWEB監視で利用されている、libcurlの仕様だと思われます。
実際にcurlコマンドでステータスコードを返す様にしてみると、アクセス出来ない場合には 「000」で返答されていましたので、恐らく間違いは無いかとおもいます。
以上です。
アカウント名 ant
Zabbix関連
wakaba - 投稿数: 228
広瀬です。
HTTPのステータスコード(100~500番台)のどれにも当てはまらない、何の応答もしない=HTTP通信
が成立していないという事かと思います。試しに、Apacheを意図的に落とすなり、80番ポートふさぐなり
して頂くと、同じ結果が出るはずです(timeout値超えて応答が無い場合も同じ)。
※おそらくZABBIXだから、返り値が「0」になるのだろうと思いますが、この辺はソースをひっくり返すと
わかるのかと思います。WEB監視は、通常のリソース監視等々と違って値を返さなかった場合には、
よくある「取得不可」にはならず、応答が無ければ「0」に置き換えているのだと推測します
WEB監視の場合ステータスコードだけでは無く、レスポンス・ダウンロード速度等1つの設定で自動的に
複数の値を取得してくれます。その値も、ステータスコードが「0」の場合は、同じく「0」になっているはず
です(最新データから見ればご理解頂けるかと)。
ant - 投稿数: 2
広瀬さん、コメントありがとうございます。なるほど
応答がなかったから0だった、という線で当たりをつけていきたいと思います。
ソースも追えれば追ってみたいと思います。
wakaba - 投稿数: 228
広瀬です
少し補足しておきます。先に書いた点でZABBIX側が値を「0」で返すと思われると
述べていますが、実際にはWEB監視で利用されている、libcurlの仕様だと思われます。
実際にcurlコマンドでステータスコードを返す様にしてみると、アクセス出来ない場合には
「000」で返答されていましたので、恐らく間違いは無いかとおもいます。
以上です。