Apacheの動作状況を確認する(mod_status)

Apache では mod_status モジュールを有効にすることでブラウザから Apache のサーバの動作状況の確認を行うことができます。ここでは Apache の動作状況を確認できるようにする手順について解説します。

(Last modified: )

Apacheの動作状況を確認する

最初に mod_status モジュールを有効にします。 httpd.conf ファイルで mod_status と検索してください。

#LoadModule ssl_module modules/mod_ssl.so
#LoadModule status_module modules/mod_status.so
#LoadModule substitute_module modules/mod_substitute.so

Apacheの動作状況を確認する(1)

先頭に # が記述されている場合はコメントとなっています。 # を削除してください。

#LoadModule ssl_module modules/mod_ssl.so
LoadModule status_module modules/mod_status.so
#LoadModule substitute_module modules/mod_substitute.so

Apacheの動作状況を確認する(2)

これで mod_status モジュールが次回の Apache 起動時から有効となります。

次に mod_status モジュールの設定を行います。 設定は httpd.conf ファイルではなく httpd-info.conf ファイルで行います。デフォルトでは httpd.conf から httpd-info.conf を読み込んでいませんので、最初に読み込むように変更します。 httpd.conf ファイルで httpd-info.conf を検索してください。

# Real-time info on requests and configuration
#Include conf/extra/httpd-info.conf

Apacheの動作状況を確認する(3)

先頭に # が記述されている場合はコメントとなっています。 # を削除してください。

# Real-time info on requests and configuration
Include conf/extra/httpd-info.conf

Apacheの動作状況を確認する(4)

これで httpd.conf から httpd-info.conf ファイルを読み込むようになりました。( Include ディレクティブの使い方については「Includeディレクティブ:補助設定ファイルを読み込む」を参照されてください)。

それでは httpd-info.conf ファイルで設定を記述します。ファイルは conf ディレクトリの中の extra ディレクトリの中にあります。

Apacheの動作状況を確認する(5)

httpd-info.conf ファイルを開き、 server-status について記述されている箇所を探してください。

<Location /server-info>
    SetHandler server-info
    Require host .example.com
    Require ip 127
</Location>

Apacheの動作状況を確認する(6)

今回はローカル環境からの利用となりますので、次のように書き換えます。

<Location /server-status>
    SetHandler server-status
    Require local
</Location>

Apacheの動作状況を確認する(7)

ブラウザから /server-status へアクセスすると、 server-status ハンドラを使って Apache の活動状況をブラウザの画面に表示します。ローカルで Apache を起動している場合は関係ないですが、一般公開されているサーバの場合はアクセスを制限する必要があります。 Require ディレクティブを使って特定の IP アドレスやホストだけにアクセスを許可してください(上記ではローカルからのアクセスのみ許可しています)。

※ Require ディレクティブの設定方法については「Requireディレクティブ:アクセスの許可や拒否などのアクセス制限を行う」を参照されてください。

それぞれの設定ファイルを保存したあと Apache を再起動してください。

それではブラウザから http://localhost/server-status へアクセスしてください。

Apacheの動作状況を確認する(8)

Apache の活動状況が表示されます。

自動更新とテキストでの表示

URL の末尾にオプションを指定することで、(1)自動更新の指定、(2)テキスト形式での表示、を行うことができます。

自動更新の指定

URL の末尾に refresh=N を指定することで、 N 秒毎に自動で画面がリフレッシュされます。それでは例として 10 秒単位で自動更新してみます。 http://localhost/server-status?refresh=10 へアクセスしてください。

自動更新とテキストでの表示(1)

自動更新とテキストでの表示(2)

指定した 10 秒毎に画面が最新の情報に更新されて表示されます。

テキスト形式での表示

URL の末尾に auto を指定することで、テキスト形式で Apache の活動状況を表示します。データを何らかのスクリプトで処理する場合には、こちらの形式でのデータを取得すると便利です。それでは http://localhost/server-status?auto へアクセスしてください。

自動更新とテキストでの表示(3)

HTML ファイルではなくテキストで活動状況が表示されました。

拡張ステータスを表示する(ExtendedStatusディレクティブ)

Apache の活動状況を表示するときに ExtendedStatus ディレクティブを on に設定しておくと、より詳細な情報を確認することができます。書式は次のとおりです。

ExtendedStatus On|Off

記述できる場所は httpd.conf です。

デフォルトの設定は On となっています。( httpd-info.conf ファイルにはコメントで The default is Off. と記述されていますが、実際に試したところではデフォルトで On になっているようでした)。

それでは Off にした場合を試してみます。 httpd-info.conf ファイルを httpd.conf に読み込んでいますので、次の設定を httpd-info.conf ファイルに追加してください。

#
# ExtendedStatus controls whether Apache will generate "full" status
# information (ExtendedStatus On) or just basic information (ExtendedStatus
# Off) when the "server-status" handler is called. The default is Off.
#
#ExtendedStatus On

ExtendedStatus Off

拡張ステータスを表示する(ExtendedStatusディレクティブ)(1)

httpd-info.conf ファイルを保存したあと Apache を再起動してください。そのあとで改めて http://localhost/server-status へアクセスしてください。

拡張ステータスを表示する(ExtendedStatusディレクティブ)(1)

いくつかの情報が表示されなくなりました。

-- --

Apacheの動作状況を確認できるようにする手順について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。