[comment]: # ({8182ffcb-ecf9c397})

# 3 HTTP経由でApacheを監視する

[comment]: # ({/8182ffcb-ecf9c397})

[comment]: # ({d75c48d2-10fb7eeb})

## はじめに

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

[comment]: # ({/d75c48d2-10fb7eeb})

[comment]: # ({36b7cfe4-faa6dcc9})
**このガイドの対象者**

このガイドはZabbixの新規ユーザー向けに作成されており、Apacheインストールの基本的な監視を有効にするために必要な最小限の手順が含まれています。高度なカスタマイズやより詳細な設定が必要な場合は、Zabbixマニュアルの[設定](/manual/config)セクションをご覧ください。

[comment]: # ({/36b7cfe4-faa6dcc9})

[comment]: # ({8fc6c74e-3b4f784a})
**前提条件**

このインストールガイドを進める前に、[ダウンロードしてインストール](https://www.zabbix.com/download)する必要があります。ZabbixサーバーおよびZabbixフロントエンドを、OSの手順に従ってインストールしてください。

[comment]: # ({/8fc6c74e-3b4f784a})

[comment]: # ({370c51ab-f10ccc2e})
## Apacheの準備

1\. 使用しているApacheのバージョンを確認します。

RHEL系システムの場合、以下を実行します。

    httpd -v

Debian/Ubuntuの場合、以下を実行します。

    apache2 -v

2\. Apacheインスタンスで[Statusモジュール](https://httpd.apache.org/docs/2.4/mod/mod_status.html)が有効になっていることを確認します。

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-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サーバーの統計情報が含まれているはずです。

[comment]: # ({/370c51ab-f10ccc2e})

[comment]: # ({2e98c579-1c8f60ff})
## 監視のためのZabbixの設定

1\. Zabbixフロントエンドにログインします。

2\. ZabbixのWebインターフェースで[ホストを作成](/manual/config/hosts/host)します。

このホストはApacheサーバーを表します。

3\. *インターフェース*パラメータで*エージェント*インターフェースを追加し、ApacheインスタンスのIPアドレスを指定します。
**このマシンにZabbixエージェントをインストールする必要はありません**。このインターフェースは{HOST.CONN}マクロの解決のみに使用されます。
このマクロはテンプレートアイテムでApacheインスタンスを特定するために使用されます。

4\. *テンプレート*パラメータで*Apache by HTTP*を入力または選択します。

![](../../../assets/en/manual/guides/apache_host.png)

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

![](../../../assets/en/manual/guides/apache_host_macros.png){width="600"}

[comment]: # ({/2e98c579-1c8f60ff})

[comment]: # ({869fc9ae-478d88e2})
## 収集されたメトリクスを表示する

おめでとうございます。ここまでで、Zabbix はすでに Apache Webサーバーを監視しています。

収集されたメトリクスを表示するには、*Monitoring->Hosts*  
[メニューセクション](/manual/web_interface/frontend_sections/monitoring/hosts) を開き、ホストの横にある *Dashboards* をクリックします。

![](../../../assets/en/manual/guides/apache_hosts.png){width="600"}

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

![](../../../assets/en/manual/guides/apache_dashboard.png){width="600"}

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

![](../../../assets/en/manual/guides/apache_latest_data.png){width="600"}

[comment]: # ({/869fc9ae-478d88e2})

[comment]: # ({86f39343-59785b62})
## 障害アラートの設定

Zabbix は、さまざまな方法を使用してインフラストラクチャの障害を通知できます。  
このガイドでは、メールアラートを送信するための設定手順を説明します。 

1\. *ユーザー設定 -> プロファイル* に移動し、*メディア* タブに切り替えて、[メールアドレスを追加](/manual/quickstart/login#adding-user)します。

![](../../../assets/en/manual/quickstart/new_media.png){width="600"}

2\. [障害通知の受信](/manual/quickstart/notification) のガイドに従います。

次回 Zabbix が障害を検出したときに、メールでアラートを受信できるはずです。

[comment]: # ({/86f39343-59785b62})

[comment]: # ({93bc495a-21fefdf9})
## 設定をテストする

実際の障害をシミュレートしてテスト用の障害アラートを受け取るには、次の手順を実行します。

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 セクションに表示されます。

![](../../../assets/en/manual/guides/apache_problem.png){width="600"}

アラートが [設定されている](#set-up-problem-alerts) 場合は、障害通知も受信します。 

6\. 障害を解消して Apache の監視を続けるには、マクロの値を元に戻します。

[comment]: # ({/93bc495a-21fefdf9})

[comment]: # ({7e8d3225-fe48fbbc})
**関連情報:**

- [Webサーバーのハードニング](/manual/best_practices/security/web_server) - Webサーバーのセキュリティを高めるための推奨設定。
- [アイテムの作成](/manual/config/items/item) - 追加のメトリクスの監視を開始する方法。
- [HTTPアイテム](/manual/config/items/itemtypes/zabbix_agent) - HTTPエージェントを使用してカスタムメトリクスを監視する方法。
- [問題のエスカレーション](/manual/config/notifications/action/escalations) - 複数ステップのアラートシナリオを作成する方法
  （例：最初にシステム管理者にメッセージを送信し、45分以内に問題が解決しない場合はデータセンター管理者にメッセージを送信する）。

[comment]: # ({/7e8d3225-fe48fbbc})
