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

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

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

これで 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

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

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

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

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

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

httpd-info.conf ファイルを開き、 Location ディレクティブを使って次のように記述します。

<Location /server-status>
SetHandler server-status

Require local
</Location>

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

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

これで準備は完了です。それぞれの設定ファイルを保存したあと Apache を再起動してください。そのあとでブラウザから http://localhost/server-status へアクセスしてください。

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

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 ファイルに追加してください。

<Location /server-status>
SetHandler server-status

Require local
</Location>

ExtendedStatus Off

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

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

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

-- --

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

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。