0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ZabbixのWeb監視設定(サーバーからの応答がない場合の通知)

0
Last updated at Posted at 2025-12-06

発生事象

ZabbixにてWeb監視の設定を行っていましたが、
HPからの応答がなくなったにもかかわらず、Zabbixの通知が発生しませんでした。

問題の原因

HP が正常に閲覧できる場合は レスポンスコード 200 が返却されます。
しかしサーバーダウンが発生したケースでは、レスポンスコード自体が返ってこない状態になります。

今回の監視設定では、
「レスポンスコードが 200 以外の場合のみ通知」
という条件しか設定しておらず、
「応答が返ってこない場合(nodata)」の監視ができていなかったことが原因でした。

対処方法

既存のトリガーに加えて、
「一定時間レスポンスが取得できなかった場合にも通知する設定」を追加します。
例えば、[nodata(300)=1]を追加することで、5分間レスポンスコードが返ってこなかった場合にも、通知することができる。

前提条件

レスポンスコードが200以外の場合に通知を行うトリガー設定は画像のようにしている。

image.png

回復したときに通知するため、「復旧条件式」としてこちらも追加する必要がある。
image.png

画像のように、条件式でレスポンスコードが200で返ってきたときの条件式が設定されていれば前提条件は満たしています。
image.png

手順

この状態から編集していく。
image.png

① トリガー編集画面を開く

② 条件式ビルダーを開く

障害の条件式の枠の下の「条件式ビルダー」を開く。
image.png

③ nodata 条件を追加

障害の条件式の右にある「追加」ボタンを押す。
下記の画像の通りに設定する。

項目 設定値
アイテム レスポンス
関数 nodata
最新の (T) 300
結果 =1

image.png

image.png

④テスト実行

テストを行うことができる。条件式の下の「テスト」ボタンを押す。
テストを行いたい任意の値を入れてテストを行う。
障害発生の条件式の場合はTRUEの場合に通知が来る。
image.png

⑤ 作成される障害条件式

条件式ビルダーを閉じると、下記のような式ができている。

last(/TEST/web.test.rspcode[TEST,TEST])<>200 or nodata(/TEST/web.test.rspcode[TEST,TEST],300)=1

image.png

⑥ 復旧条件式も同様に設定

復旧条件式も同様に設定する。

last(/TEST/web.test.rspcode[TEST,TEST])=200 or nodata(/TEST/web.test.rspcode[TEST,TEST],300)=0

image.png

これで、5分間レスポンスコードが返ってこなかった場合に通知を行う設定が完了です。

まとめ

今回は、HPからの応答がないのにも関わらず、Zabbix通知が発生しなかった問題について、参考の記事が見つからず、自分で作成しました。
基本的な設定につきましては、Zabbix公式サイトや、下記の記事が詳細まで丁寧に記載されていて参考になります。
https://www.site24x7.jp/blog/zabbix-web-monitoring/

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?