ZabbixでWeb監視とシナリオ監視を始める手順

この記事では、ZabbixにおけるWeb監視(URL監視、http/https監視、外形監視)とシナリオ監視の設定手順を詳しく紹介します。

ZabbixでWebサイトを監視する手順

Zabbix 5.0 LTSを活用したWebサイトの監視方法を単一URLを監視するWeb監視編と設定したステップに応じたシナリオ監視編の2つを紹介し、よくある課題についても触れます。

Zabbixサーバーの構築

Zabbixサーバーの構築手順はこちらの記事をご確認ください。AWS上のCentOS 8にZabbix 5.0を構築する手順を詳しく説明しています。

Zabbixエージェントのインストール

Zabbixエージェントのインストール手順はこちらの記事をご確認ください。Windows編、Linux編に分けて詳しく説明しています。

Web監視編

1. ホストグループ登録

Web監視は仮想IPアドレスやURLに対して行う事が多いため、Web監視用のホストグループとホストを追加します。Zabbixからネットワーク経由の監視先の正常性確認となることも分けることを推奨する理由の1つです。

ZabbixでWeb監視する手順01

ホストグループ名を入力して、確定します。

ZabbixでWeb監視する手順02

2. ホスト登録

次にWeb監視用ホストを追加します。

ZabbixでWeb監視する手順03

Zabbixのホスト登録ではインターフェースが必須のため、デフォルトのループバックアドレスを仮で登録しておきます。それ以外は監視対象が何か判断できる名称で登録するなどしましょう。

ZabbixでWeb監視する手順04

3. アプリケーションの追加

先ほど登録したホストにアプリケーションを追加します。アプリケーションは論理的にアイテムをグルーピングするものですが、Web監視では無理に分割しなくても大丈夫です。

ZabbixでWeb監視する手順05

ここではHTTPSとHTTPを論理的に分けてみます。

ZabbixでWeb監視する手順06

4. Webシナリオの追加

次に監視対象のWebシナリオ(想定するページ移動のステップ)を追加します。Zabbixでは、シナリオ単位で監視することを前提に画面が設計されています。ここでは、単一URLの監視をするため、シナリオに単一のURLを登録します。

ZabbixでWeb監視する手順07

名前はどのシナリオか判断できるように登録し、アプリケーションは先ほど設定したものを選択します。エージェントはアクセスログ上に残るため、ログ解析しやすい形で残すためZabbixを選択しておきましょう。設定できたら、ステップタブを選択します。

ZabbixでWeb監視する手順08

ステップタブで、ステップの追加から具体的なWebページを設定します。パラメータが少し多いですが、監視対象サイトがどのような状態であるべきかをここで定義していきます。特に、レスポンス内容に含まれる文字列をチェックする要求文字列と要求ステータスコードは可能な限り設定しましょう。設定したら、これで登録して監視を活性化させます。

ZabbixでWeb監視する手順09

設定が問題なければ、以下のようにデータが取得できています。

ZabbixでWeb監視する手順10

5. しきい値の追加

次に、しきい値を追加するため、トリガーを追加します。デフォルトではレスポンスタイムやレスポンスコードなど複数のデータを取得していますが、ここではレスポンスコードが200かどうかをしきい値として登録します。

ZabbixでWeb監視する手順11

無料かつ5分でWebサイト監視を始める方法はこちら

シナリオ監視編

次に複数ステップで監視を行うシナリオ監視を見ていきましょう。やり方は前述のWebシナリオの追加でWebページを必要なだけ登録するだけです。ホストグループ登録からアプリケーション登録としきい値登録は同一手順になるのでここでは割愛します。

1. シナリオ監視の追加

先ほどとは別のWebシナリオ監視を追加します。

ZabbixでWeb監視する手順12

名前をシナリオがわかるような名称で追加します。

ZabbixでWeb監視する手順13

ステップに複数URLを追加します。ここではTopページからPriceページ、Singupページと遷移するステップで追加していきます。Topページは先ほどの内容を同一のため割愛します。

ZabbixでWeb監視する手順14

ZabbixでWeb監視する手順15

問題なくステップが追加できたら、シナリオを追加します。

ZabbixでWeb監視する手順16

設定が問題なければ、最新データからデータが取得できていることを確認できます。

ZabbixでWeb監視する手順17

無料かつ5分でWebサイト監視を始める方法はこちら

通知設定

1.メールサーバーの設定

Zabbixのデフォルトで用意されているメール配信の方法では、SMTPメールサーバーを用意する必要があります。Zabbix ServerのGUIより、管理にあるメディアタイプからEmailを選択すると設定画面が開くので、必要なパラメータを更新して設定します。

2. 通知先の登録

通知先の登録を行うために、管理にあるユーザーよりユーザー毎に通知先を設定することができます。メールアドレスの場合はメディアタイプをEmailで登録します。

3. 通知条件の設定

利用するメディアタイプの設定が出来たら、アクションから監視対象毎の通知先や通知条件を設定します。アクションタブで通知する監視対象を設定後、実行内容タブにて通知先ユーザーを登録します。これでZabbix環境における障害時にアラートをメール通知させる設定が完了しました。

(参考ドキュメント:https://www.zabbix.com/documentation/current/manual)

無料かつ5分でWebサイト監視を始める方法はこちら

ZabbixのWebサイト監視によくある課題

ZabbixではWebサイト監視を実施する上で発生する課題がいくつかあります。ここではよくある3つの課題を紹介します。

1. Zabbix ServerからWebサイトへの監視経路

Zabbix Serverはほとんどの場合ローカル上に存在するサーバーを監視する目的で構築されているため、インターネット経由で行うWebサイト監視とは相性が悪く、利用者と完全に同一の経路を通ることが困難な場合が多いです。

2. Zabbix Serverの複数運用

1つ目の課題を解決するために、Zabbix Serverを異なる拠点に複数構築して分散監視させることができます。しかし、その一方で複数拠点のZabbix Serverを運用・管理するコストが発生します。Zabbix Serverの可用性維持や脆弱性対応等の運用コストは監視を生業とする専門業者でもない限り持ち出しで対応し続けるのは得策とは言えません。

3. Zabbix Serverのテンプレート

簡易なWebサイト監視であればZabbixのテンプレートで問題なくカバーできますが、より複雑な監視を実装すると標準のテンプレートではカバーできません。例えば、WebSocket監視などは自前でスクリプト作成して監視を行うことになります。

まとめ

ZabbixでWeb監視をしたいというニーズは多く、Zabbixはそれに応える機能を持っていることがわかったと思います。しかし、課題もありました。Zabbix ServerからしかWebサイト監視ができないという課題は、例えばクラウド型の監視サービスであれば簡単に解決できます。

無料かつ5分で始められるクラウド型監視サービス「Site24x7」

REST API監視やWebSocket等の監視はAPIを外部公開しているWebサービスが一般的になっている昨今、多様なWebサイト監視方法を提供するSite24x7(サイトトゥエンティーフォーセブン)なら、より安心してサービス開発/提供できるようになります。

例えばAWS上に構築した、小さく始めて大きく育てるようなWebサービスにおいては、Amazon CloudWatchとSaaS型の監視ソリューションであるSite24x7を採用してはいかがでしょうか。CloudWatchを連携させ、Site24x7上でクラウド監視、サーバー監視、Web監視を一元化することも可能です。

フリープランのサインアップはこちら:
https://www.site24x7.jp/signup.html?pack=1&l=ja

プランと価格の詳細はこちら:
https://www.site24x7.jp/pricing.html

ZabbixとSite24x7の機能比較一覧はこちら:
https://www.site24x7.jp/zabbix-alternative.html

関連記事