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
menu section を開き、ホストの横にある Dashboards をクリックします。

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

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

障害アラートの設定
Zabbix は、さまざまな方法でインフラストラクチャの障害を通知できます。
このガイドでは、メールアラートを送信するための設定手順を説明します。
1. ユーザー設定 > プロフィール に移動し、メディア タブに切り替えて、メールを追加します。

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分以内に解決されない場合はデータセンター管理者にメッセージを送信します)。