ウェブ監視のステータスコードについて
お世話になっております。
バージョンは1.8.3です。
ウェブ監視のステータスコードについて確認したいのですが、
監視対象のurlのドメインが他社に移管し、今まで検索していたページを表示させようとすると
302 Found となり、外部リンクページにとばされるのですが、
該当監視のデータ上で過去のステータスをみると200のままです。
サーバからcurl -I 該当URLを叩くと、
HTTP/1.1 302 Foundと返されています。
ステータスコード200以外はNGとするため、該当ウェブ監視のステータスには200を入力しております。
質問ですが、
この場合Zabbixは何をもって200OKであると判断しているのでしょうか?
リダイレクトを検知する他の方法はないのでしょうか?
よろしくお願いいたします。
KAZ - 投稿数: 1085
iwamoさん
httpリターンコードですが、3xx系は一般的にはコンテンツ移動等があった場合に帰ってくるリターンコードです。
下記に詳しく載ってます。
http://www.studyinghttp.net/status_code
ブラウザからサーバにリクエストがかかると、302が返却されるのですが、302レスポンスのlocationの移動先を自動にリクエストして移動先のコンテンツを取得しリターンコード200が返却されます。
WireShark等のプロトコルアナライザを使ってhttpシーケンスを解析するとわかりやすいかも知れません。
上記から1回目は302 Foundが帰ってきて自動的に発行したリクエストに対して最終的に200 OKが帰ってきます。
iwamo - 投稿数: 27
KAZさま
iwamoです。リダイレクト先のURLまでアクセスしに行っているということですね。
回避する方法はありませんよね?
であれば、
弊社の監視ページの内容は該当サーバのFQDNやサーバ番号の記載なので
その文字列を判定し、文字列が一致しなければNGとするのが手っ取り早い解決方法
でしょうか
KAZ - 投稿数: 1085
iwamoさん
>iwamoです。リダイレクト先のURLまでアクセスしに行っているということですね。
>回避する方法はありませんよね?
httpの仕様なので、回避方法は無いかと思います。
>であれば、
>弊社の監視ページの内容は該当サーバのFQDNやサーバ番号の記載なので
>その文字列を判定し、文字列が一致しなければNGとするのが手っ取り早い解決方法
>でしょうか
私の思いつく中でもそれが一番簡単な方法だと思います。
kodai - 投稿数: 1341
こちらのブログ記事もご参考ください。
http://d.hatena.ne.jp/ike-dai/20120607/1339062501
iwamo - 投稿数: 27
kodai様
返信遅れまして申し訳ありません。
処理についてよくわかりました。
社内でいろいろと検討したのですが、弊社の監視対象のパス名は一定ですので
ドメインにパスつけてリダイレクト無しでcurlを実行するスクリプト作ってみます。
ご対応ありがとうございました。