3 HTTP経由でApacheを監視する

はじめに

このページでは、追加のソフトウェアをインストールせずにApache Webサーバーの監視を開始する簡単な方法を説明します。

このガイドの対象者

このガイドは、Zabbixを初めて利用するユーザー向けに作成されており、Apacheのインストールに対して基本的な監視を有効にするために必要な最小限の手順をまとめています。詳細なカスタマイズオプションを探している場合、またはより高度な設定が必要な場合は、Zabbixマニュアルの設定セクションを参照してください。

前提条件

このインストールガイドを進める前に、お使いの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-status

    Order 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パラメータで、エージェントインターフェースを追加し、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サーバーの監視を開始しています。

収集したメトリクスを表示するには、監視->ホストメニューセクション を開き、 ホストの横にある ダッシュボード をクリックします。

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

または、監視->ホスト から 最新データ をクリックすると、収集された最新のメトリクスを 一覧で表示できます。

問題アラートの設定

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