3 HTTP経由でApacheを監視する

はじめに

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

このガイドの対象読者

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

前提条件

このインストールガイドを進める前に、お使いのOSの手順に従って、ZabbixサーバーとZabbixフロントエンドをダウンロードしてインストールする必要があります。

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. 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 フロントエンドにログインします。

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 サーバーを監視しています。

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

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

または、モニタリング -> ホストから最新データをクリックすると、収集された最新のメトリックがすべてリスト表示されます。

問題アラートの設定

Zabbix は、インフラの問題を様々な方法で通知できます。

このガイドでは、メールアラートを送信するための設定手順を説明します。

1. ユーザー設定 -> プロファイル に移動し、メディア タブに切り替えて メールアドレスを追加 します。

2. 問題通知の受信 のガイドに従います。

次回以降、Zabbix が問題を検出すると、メールでアラートが届くようになります。

設定をテストする

実際の問題をシミュレートし、テスト用のアラートを受け取るには、以下の手順を実行してください。

1. Zabbix で Apache サーバー のホスト設定を開きます。

2. マクロ タブに切り替え、継承されたホストマクロ を選択します。

3. {$APACHE.STATUS.PORT} マクロの横にある 変更をクリックし、別のポートを設定します。

4. 更新 をクリックして、ホスト設定を保存します。

5. 数分後、Zabbix はインスタンスに接続できなくなったため、Apache サービスがダウンしていますという問題を検出します。

監視 -> 問題 セクションに表示されます。

アラートが設定済み の場合、問題通知も受信します。

6. マクロの値を元に戻して問題を解決し、Apache の監視を継続します。

参照:

  • Webサーバーの強化 - Webサーバーのセキュリティ強化のための推奨設定
  • アイテムの作成 - 追加メトリックの監視を開始する方法
  • HTTPアイテム - HTTPエージェントを使用してカスタムメトリックを監視する方法
  • 問題のエスカレーション - 複数段階のアラートシナリオを作成する方法 (例: まずシステム管理者にメッセージを送信し、45分以内に問題が解決されない場合はデータセンター管理者にメッセージを送信する)