あまり知られていないApacheの小技を1つ紹介する。
Apacheのリアルタイムなアクセス統計情報を表示させるために「mod_status」を利用する。(※おそらく大抵のconfigでデフォルトでこの記述があるはず)
まずは、mod_statusを読み込む必要があるため、httpd.confに以下を追加する。
続いて、ステータスレポート(リアルタイムの統計情報)を表示させたいコンテキスト内(サーバ設定ファイルorバーチャルホスト)で
Status を使用可能にする
example.com ドメインからのブラウザのみに対して ステータスの報告を使用可能にするには 以下のコードを httpd.conf 設定ファイルに追加します
<Location /server-status>
SetHandler server-status
Order Deny,Allow
Deny from all
Allow from .example.com
</Location>
引用元: mod_status - Apache HTTP サーバ
上記マニュアルにある通り、以下の設定を記述する。
<Location /server-status>
SetHandler server-status
Order Deny,Allow
Deny from all
Allow from 許可するホスト または IPアドレスのリスト
</Location>
で、Apache再起動の後に、http://○○○/server-status/ へアクセスすると・・・

のような画面が表示される。
表示される内容は以下の通り。(マニュアル抜粋)
* アイドル (訳注: リクエストを扱っていない) ワーカーの数
* サーバが起動もしくは再起動された時刻と動作している時間
但し、このままでは表示出来る情報がそれほど多くないので、
とすることで(この設定のコンテキストは「サーバ設定ファイル」のみ/バーチャルホスト内では使えない)

上記の通り「ExtendedStatus Off」の時と比べて
* 総アクセス数と総バイト数
* 平均の 1 秒あたりのリクエスト数、1 秒あたりの送られたバイト数、 リクエストあたりのバイト数
* 各ワーカーと Apache 全体で使用されている CPU の割合
* 現時点のホストと処理されているリクエスト
上記情報が追加される。
これらの情報があれば問題発生時に色々と切り分け出来るのだが、その切り分け方法については後日・・・(多分書かない)




