HTTP経由でApacheを監視する
はじめに
このページでは、追加のソフトウェアをインストールせずに Apache Webサーバーの監視を開始するための、簡単で手早い方法を紹介します。
このガイドの対象者
このガイドは、Zabbix の新規ユーザー向けに作成されており、Apache のインストールに対する基本的な監視を有効にするために必要な最小限の手順が含まれています。より詳細なカスタマイズオプションを探している場合や、より高度な設定が必要な場合は、Zabbix マニュアルの Configuration セクションを参照してください。
前提条件
このインストールガイドを進める前に、OS に応じた手順に従って Zabbix サーバーと Zabbix Webインターフェースをダウンロードしてインストール する必要があります。
Apacheの準備
1. 使用しているApacheのバージョンを確認します。
RHELベースのシステムでは、次を実行します。
httpd -v
Debian/Ubuntuでは、次を実行します。
apache2 -v
2. ApacheインスタンスでStatus moduleが有効になっていることを確認します。
RHELベースのシステムでは、次を実行します。
httpd -M | grep status
status_module (shared)
Debian/Ubuntuでは、次を実行します。
apache2ctl -M | grep status
status_module (shared)
一覧にstatus_moduleが表示されない場合は、次を実行してモジュールを有効にします。
RHELベースのシステムでは、次を実行します。
LoadModule status_module /usr/lib/apache2/modules/mod_status.so
Debian/Ubuntuでは、次を実行します。
sudo /usr/sbin/a2enmod status
3. Apacheの設定ファイルを編集し、ZabbixサーバーのIPからステータスレポートへのアクセスを許可します。
RHELベースのシステムでは、/etc/httpd/conf.modules.d/status.conf を編集します。
sudo vi /etc/httpd/conf.modules.d/status.conf
Debian/Ubuntuでは、/etc/apache2/mods-enabled/status.conf を編集します。
sudo vi /etc/apache2/mods-enabled/status.conf
次の行をファイルに追加します(198.51.100.255 はZabbixサーバーのIPアドレスに置き換えてください)。
-
Apache 2.2 の場合:
<Location /server-status> SetHandler server-statusOrder Deny,Allow Deny from all Allow from 198.51.100.255 </Location>
-
Apache 2.4 の場合:
<Location "/server-status"> SetHandler server-status Require ip 198.51.100.255 </Location>
4. Apacheを再起動します
RHELベースのシステムでは、次を実行します。
sudo systemctl restart httpd
Debian/Ubuntuでは、次を実行します。
sudo systemctl restart apache2
5. すべてが正しく設定されているか確認するには、次を実行します(198.51.100.255 はZabbixサーバーのIPアドレスに置き換えてください)。
curl 198.51.100.255/server-status
応答にはApache Webサーバーの統計情報が含まれているはずです。
監視用に Zabbix を設定する
1. Zabbix Webインターフェースにログインします。
2. Zabbix Webインターフェースで ホストを作成 します。
このホストは Apache サーバーを表します。
3. Interfaces パラメータで Agent インターフェースを追加し、Apache インスタンスの IP アドレスを指定します。 このマシンに Zabbix エージェントをインストールする必要はありません。インターフェースは {HOST.CONN} マクロの解決にのみ使用されます。 このマクロは、Apache インスタンスを特定するためにテンプレートのアイテムで使用されます。
4. Templates パラメータで、Apache by HTTP を入力または選択します。

5. Macros タブに切り替え、Inherited and host macros モードを選択します。マクロ {$APACHE.STATUS.PORT} と {$APACHE.STATUS.SCHEME} の値が環境設定に適していることを確認します。 デフォルトでは、ポートは 80、スキームは http です。別のポートやスキームを使用する場合は、マクロの値を変更してください。

収集されたメトリクスを表示する
おめでとうございます!この時点で、Zabbix はすでに Apache Webサーバーを監視しています。
収集されたメトリクスを表示するには、Monitoring->Hosts
メニューセクション を開き、ホストの横にある Dashboards をクリックします。

この操作により、Apache の /server-status ページから収集された最も重要なメトリクスを含むホストダッシュボードが表示されます。

また、Monitoring->Hosts から Latest data をクリックすると、収集された最新のメトリクスをすべて一覧で表示できます。

障害アラートの設定
Zabbix は、さまざまな方法でインフラストラクチャの障害を通知できます。
このガイドでは、メールアラートを送信するための設定手順を説明します。
1. User settings -> Profile に移動し、Media タブを開いて、メールアドレスを追加します。

2. 障害通知の受信 のガイドに従います。
次回 Zabbix が障害を検知したときに、メールでアラートを受信できるはずです。
設定をテストする
実際の障害をシミュレートしてテスト用の障害アラートを受け取るには、次の手順を実行します。
1. Zabbix で Apache server ホストの設定を開きます。
2. Macros タブに切り替え、Inherited and host macros を選択します。
3. {$APACHE.STATUS.PORT} マクロの横にある Change を押し、別のポートを設定します。
4. Update を押してホスト設定を保存します。
5. 数分後、Zabbix は Apache service is down という障害を検出します。これは、現在インスタンスに接続できないためです。
この障害は Monitoring->Problems セクションに表示されます。

アラートが 設定されている 場合は、障害通知も受信します。
6. 障害を解消して Apache の監視を続けるには、マクロの値を元に戻します。
関連情報:
- Webサーバーのハードニング - Webサーバーのセキュリティを高めるための推奨設定です。
- アイテムの作成 - 追加の監視メトリックを開始する方法です。
- HTTPアイテム - HTTPエージェントを使用してカスタムメトリックを監視する方法です。
- 障害のエスカレーション - 複数段階のアラートシナリオを作成する方法です
(例: まずシステム管理者にメッセージを送信し、その後、45分以内に障害が解決しない場合はデータセンター管理者にメッセージを送信します)。