3 HTTP経由でApacheを監視する
はじめに
このページでは、追加のソフトウェアをインストールせずにApache Webサーバーの監視を開始する簡単な方法を説明します。
このガイドの対象者
このガイドはZabbixの新規ユーザー向けに作成されており、Apacheインストールの基本的な監視を有効にするために必要な最小限の手順が含まれています。高度なカスタマイズやより詳細な設定が必要な場合は、Zabbixマニュアルの設定セクションをご覧ください。
前提条件
このインストールガイドを進める前に、ダウンロードしてインストールする必要があります。ZabbixサーバーおよびZabbixフロントエンドを、OSの手順に従ってインストールしてください。
Apacheの準備
1. 使用しているApacheのバージョンを確認します。
RHEL系システムの場合、以下を実行します。
httpd -v
Debian/Ubuntuの場合、以下を実行します。
apache2 -v
2. ApacheインスタンスでStatusモジュールが有効になっていることを確認します。
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. ZabbixサーバーのIPアドレスからステータスレポートにアクセスできるように、Apacheの設定ファイルを編集します。
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フロントエンドにログインします。
2. ZabbixのWebインターフェースでホストを作成します。
このホストはApacheサーバーを表します。
3. インターフェースパラメータでエージェントインターフェースを追加し、ApacheインスタンスのIPアドレスを指定します。 このマシンにZabbixエージェントをインストールする必要はありません。このインターフェースは{HOST.CONN}マクロの解決のみに使用されます。 このマクロはテンプレートアイテムでApacheインスタンスを特定するために使用されます。
4. テンプレートパラメータでApache by HTTPを入力または選択します。

5. マクロタブに切り替え、継承されたマクロとホストマクロモードを選択します。マクロ {$APACHE.STATUS.PORT}と{$APACHE.STATUS.SCHEME}の値がインストール設定に合っているか確認します。 デフォルトでは、ポートは80、スキームはhttpです。異なるポートやスキームを使用している場合は、マクロの値を変更してください。

収集されたメトリクスを表示する
おめでとうございます。ここまでで、Zabbix はすでに Apache Webサーバーを監視しています。
収集されたメトリクスを表示するには、Monitoring->Hosts
メニューセクション を開き、ホストの横にある 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分以内に問題が解決しない場合はデータセンター管理者にメッセージを送信する)。