こんにちは、SCSKの坂木です。
Zabbixには、Webサイトの死活や応答時間、ステータスコードを監視できる Web監視(Webシナリオ) 機能があります。エージェント不要・Zabbixサーバーから直接HTTP/HTTPSアクセスを行うだけで使えるため、自社のコーポレートサイトやブログ、SaaSのログインページなどの「外形監視」に最適です。
シナリオとステップ1の作成
Webシナリオの作成
データ収集 → ホスト → 対象ホスト → Web から、Webシナリオの作成 を実行します。今回は次のように設定しました。
| 項目 | 設定値 | 補足 |
|---|---|---|
| 名前 | test_web監視 | 任意。シナリオを識別できる名前であればOK |
| 監視間隔 | 1m |
1分ごとに全ステップを順次実行 |
| 試行回数 | 2 | ネットワーク起因の失敗時のリトライ回数 |
| エージェント | Microsoft Edge 80 | webページにアクセスする際のUser-Agent |
| HTTPプロキシ | 空欄 | 社内プロキシ経由なら指定 |
ステップ1の作成
ステップ は実際にアクセスするURLとその合否判定条件を定義する設定です。1ステップにつき1リクエストが実行され、URL・タイムアウト・期待するステータスコード・期待する応答文字列などを設定します。Cookieはシナリオ実行中ずっと保持されるため、「ステップ1でログイン → ステップ2でマイページ表示」のようにセッションをまたいだ遷移確認も可能です。
シナリオ画面の [ステップ] タブから1つ目のステップ(実際に監視するwebサイト)を追加します。今回は次のように設定しました。
| 項目 | 設定値 |
|---|---|
| 名前 | Day1 Report Page |
| URL | https://blog.usize-tech.com/interop-tokyo-2026-day1-zabbix-report/ |
| タイムアウト | 15s |
| 要求文字列 | Interop Tokyo 2026 |
| 要求ステータスコード | 200 |
データ取得の確認
シナリオを保存して少し待つと、監視データ → ホスト → Web から取得結果を確認できます。
| 表示項目 | 内容 |
|---|---|
| ステップ | ステップの名前 |
| スピード | そのステップにおける1秒あたりのダウンロード速度 |
| レスポンスタイム | リクエスト送信から応答完了までの秒数 |
| レスポンスコード | 取得したHTTPステータスコード |
| ステータス | 「正常」または失敗時のエラーメッセージ |
ステップの複数登録
Webシナリオは 1つのシナリオに複数のステップ(監視するwebサイト) を登録できます。ステップは登録順に上から順番に直列実行されます。
ステップを2つ目・3つ目として追加
| ステップ | スピード | レスポンスタイム | ステータスコード | ステータス |
|---|---|---|---|---|
| Day1 Report Page | 1.99 MBps | 27.93ms | 200 | 正常 |
| Day2 Report Page | 5.73 MBps | 9.98ms | 200 | 正常 |
| Day3 Report Page | 4.85 MBps | 11.81ms | 200 | 正常 |
| 合計 | — | 49.71ms | — |
3ステップすべてが「正常」で取得され、各ステップに加えて シナリオ合計のレスポンスタイム も自動で算出されています。スピード/レスポンスタイムグラフも、ステップごとに別系列(青・緑・赤)で積み上げ表示されるようになりました。
💡 補足:ステップごとに自動生成されるアイテム
Webシナリオを作ると、ステップごとに以下のアイテムが自動生成されます。トリガーはこれらに対して設定します。
Download speed for step… 1秒あたりのダウンロード速度Response time for step… 応答時間(秒)Response code for step… HTTPステータスコード
またシナリオ単位では Failed step of scenario(失敗したステップ番号、全成功なら0)、Last error message of scenario、Download speed for scenario が自動生成されます。
トリガーを設定して障害を検知する
ステータスチェック用のトリガー作成
今回は どれか1つのステップが失敗したら(3つのwebサイトのうち、1つでも正常でなければ)障害として通知する というシンプルなトリガーを作ります。
| 項目 | 設定値 |
|---|---|
| 名前 | web監視_トリガー1 |
| 深刻度 | 重度の障害 |
| 条件式 | last(/Zabbix server/web.test.fail[test_web監視])<>0 |
web.test.fail[シナリオ名] は 失敗したステップ番号 を返すアイテムです。全ステップ成功なら 0、どれかが失敗するとそのステップ番号(1, 2, 3…)が入るため、<>0(0以外)という条件で シナリオ内のいずれかのステップで失敗が発生した 状態を捉えられます。
ステータスコード不一致での障害検知
まずはステップ3のURL末尾を一文字いじって 301 Moved Permanently が返るパス(要求コード200と不一致)に変更してみます。
| ステップ | ステータスコード | ステータス |
|---|---|---|
| Day1 Report Page | 200 | 正常 |
| Day2 Report Page | 200 | 正常 |
| Day3 Report Page | 301 | エラー:response code “301” did not match any of the required status codes “200” |
Day1・Day2は正常に実行され、Day3だけが失敗 しています。これによりトリガーが発火し、障害画面にも反映されました。
重度の障害 として web監視_トリガー1 が Zabbix server ホストで発生していることが確認できます。
要求文字列不一致での障害検知
てっくはーもにー)に変更してみます。ステップ3のURLは正常な値に戻した状態です。| ステップ | ステータス |
|---|---|
| Day1 Report Page | 正常 |
| Day2 Report Page | エラー:required pattern “てっくはーもにー” was not found on https://blog.usize-tech.com/interop-tokyo-2026-2-zabbix/ |
| Day3 Report Page | 不明 |
Day1は正常に実行され、Day2が失敗 しています。また、Day3 Report Page は “不明” となっており、そもそも実行されていません。
ステップは登録順に直列実行され、いずれかのステップが失敗した時点でシナリオ実行はそこで打ち切られ、以降のステップは実行されません。Failed step アイテムには失敗したステップ番号(この例なら
2)が入ります。
補足:今回は使っていないがブログ運用で便利なトリガー例
今回検証したのは「失敗ステップ検知」だけですが、Web監視で自動生成されるアイテムを活用すれば 応答時間の劣化 や 転送速度の低下 に対するアラートも作成できます。
応答時間が遅いときに警告
last(/Zabbix server/web.test.time[test_web監視,Day1 Report Page,resp])>5
ダウンロード速度が一定以下に落ちたとき
avg(/Zabbix server/web.test.in[test_web監視,Day1 Report Page,bps],5m)<1000000
ステップ単位でステータスコードを個別チェック
last(/Zabbix server/web.test.rspcode[test_web監視,Day2 Report Page])<>200
5. まとめ
本ブログでは、ZabbixのWeb監視について、シナリオ/ステップの作成からトリガーによる障害検知までを実機で検証しました。ポイントは次の3つです。
- 構成は「シナリオ+ステップ」の2階層:シナリオに共通設定、ステップごとにURLや判定条件を定義する。
- ステータスコードと要求文字列の両方で判定できる:HTTP 200で返るメンテナンス画面や改ざんページも取りこぼさない。
- 失敗したステップ以降は実行されない:直列実行のため、独立して監視したい対象はシナリオを分けるのが鉄則。
また、web.test.fail を使った失敗検知に加え、応答時間(web.test.time)やダウンロード速度(web.test.in)を使ったパフォーマンス劣化検知のトリガーも作成可能です。組み合わせることで、より実運用に耐えるWeb監視が実現できます。
Zabbixを既に運用していれば、Web監視機能は追加コストなしで始められます。本記事を参考に、自社のWebサービスやサイトの安心感を一段引き上げてみてください。
▼ 本ブログで監視した記事一覧



▼弊社ではZabbix関連サービスを展開しています。以下ページもご参照ください。
★Zabbixの基礎をまとめたeBookを公開しております!★

★SCSK Plus サポート for Zabbix★

★SCSK Zabbixチャンネル★

★X(旧Twitter)に、SCSK Zabbixアカウントを開設しました!★










