この記事では、ZabbixにおけるWeb監視(URL監視、http/https監視、外形監視)とシナリオ監視の設定手順を詳しく紹介します。
目次
- ZabbixでWebサイトを監視する手順
- Web監視編
- シナリオ監視編
- 通知設定
- ZabbixのWebサイト監視によくある課題
- まとめ
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つです。
ホストグループ名を入力して、確定します。
2. ホスト登録
次にWeb監視用ホストを追加します。
Zabbixのホスト登録ではインターフェースが必須のため、デフォルトのループバックアドレスを仮で登録しておきます。それ以外は監視対象が何か判断できる名称で登録するなどしましょう。
3. アプリケーションの追加
先ほど登録したホストにアプリケーションを追加します。アプリケーションは論理的にアイテムをグルーピングするものですが、Web監視では無理に分割しなくても大丈夫です。
ここではHTTPSとHTTPを論理的に分けてみます。
4. Webシナリオの追加
次に監視対象のWebシナリオ(想定するページ移動のステップ)を追加します。Zabbixでは、シナリオ単位で監視することを前提に画面が設計されています。ここでは、単一URLの監視をするため、シナリオに単一のURLを登録します。
名前はどのシナリオか判断できるように登録し、アプリケーションは先ほど設定したものを選択します。エージェントはアクセスログ上に残るため、ログ解析しやすい形で残すためZabbixを選択しておきましょう。設定できたら、ステップタブを選択します。
ステップタブで、ステップの追加から具体的なWebページを設定します。パラメータが少し多いですが、監視対象サイトがどのような状態であるべきかをここで定義していきます。特に、レスポンス内容に含まれる文字列をチェックする要求文字列と要求ステータスコードは可能な限り設定しましょう。設定したら、これで登録して監視を活性化させます。
設定が問題なければ、以下のようにデータが取得できています。
5. しきい値の追加
次に、しきい値を追加するため、トリガーを追加します。デフォルトではレスポンスタイムやレスポンスコードなど複数のデータを取得していますが、ここではレスポンスコードが200かどうかをしきい値として登録します。
シナリオ監視編
次に複数ステップで監視を行うシナリオ監視を見ていきましょう。やり方は前述のWebシナリオの追加でWebページを必要なだけ登録するだけです。ホストグループ登録からアプリケーション登録としきい値登録は同一手順になるのでここでは割愛します。
1. シナリオ監視の追加
先ほどとは別のWebシナリオ監視を追加します。
名前をシナリオがわかるような名称で追加します。
ステップに複数URLを追加します。ここではTopページからPriceページ、Singupページと遷移するステップで追加していきます。Topページは先ほどの内容を同一のため割愛します。
問題なくステップが追加できたら、シナリオを追加します。
設定が問題なければ、最新データからデータが取得できていることを確認できます。
通知設定
1.メールサーバーの設定
Zabbixのデフォルトで用意されているメール配信の方法では、SMTPメールサーバーを用意する必要があります。Zabbix ServerのGUIより、管理にあるメディアタイプからEmailを選択すると設定画面が開くので、必要なパラメータを更新して設定します。
2. 通知先の登録
通知先の登録を行うために、管理にあるユーザーよりユーザー毎に通知先を設定することができます。メールアドレスの場合はメディアタイプをEmailで登録します。
3. 通知条件の設定
利用するメディアタイプの設定が出来たら、アクションから監視対象毎の通知先や通知条件を設定します。アクションタブで通知する監視対象を設定後、実行内容タブにて通知先ユーザーを登録します。これでZabbix環境における障害時にアラートをメール通知させる設定が完了しました。
(参考ドキュメント:https://www.zabbix.com/documentation/current/manual)
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
関連記事
- Zabbix 6.0 サーバー構築手順(インストールから初期設定まで)
- Zabbix Agentのインストールと設定手順
- Zabbixでログ監視する手順(Windowsイベントログ監視・Syslog監視)
- Zabbixでプロセス監視する手順
- Zabbixでアラートをメール通知する手順
- ZabbixのPing実行手順とPing監視する手順
- ZabbixでWeb監視とシナリオ監視する手順
- ZabbixのSNMP監視手順とNetFlowでトラフィックを可視化する方法
- ZabbixでCPU使用率を監視する手順
- Zabbixで死活監視する手順
- Zabbixでポート監視する手順
- Zabbixでサービス監視する手順(Windowsサービス監視)
- Zabbixでメモリ使用率を監視する手順
- Zabbixでリソース監視する手順
- Zabbixでディスク使用率を監視する手順
- ZabbixでDNS監視する手順
- ZabbixでDockerコンテナを監視する手順
免責事項:ここに記載されているすべての著作権、商標、商号は、元の所有者の所有物です。このWebページに含まれる情報は、一般的な情報提供のみを目的としており、そのような情報は、正確性、信頼性、または完全性について調査、監視、または確認されていません。 当社は、ここに含まれる情報への依存に起因する誤り、または損失に対する責任を明示的に否認します。