- Home ›
- Apache入門 ›
- Apacheサーバの管理 ›
- HERE
動作状況の確認
Apacheでは「mod_status」モジュールに「server-status」と言うハンドラーが用意されています。(ハンドラーとはある動作をさせる関数のようなものです。プログラムの集まりだと考えておいて下さい)。
「server-status」ハンドラーを呼び出すことでApacheの動作状況を取得する事ができます。そこでブラウザから「server-status」ハンドラーを呼び出し、動作状況をブラウザ上で確認できるようにしましょう。
mod_statusモジュールの読み込み
まず「mod_status」モジュールを利用出来るように「LoadModule」でモジュールを読み込みます。「httpd.conf」ファイルで「mod_status」で検索して下さい。デフォルトでは109行目付近に記述があります。
#LoadModule status_module modules/mod_status.so
先頭に「#」が記述されている場合は「#」を外して下さい。
LoadModule status_module modules/mod_status.so
次に「server-status」ハンドラーを呼び出す設定をします。Apache2.2系では「httpd-info.conf」ファイルに設定を記述します。その為「Include」を使って「httpd-info.conf」ファイルを読み込みます。「httpd.conf」ファイルで「httpd-info.conf」で検索して下さい。デフォルトでは471行目付近に記述があります。
# Real-time info on requests and configuration #Include conf/extra/httpd-info.conf
「Include」の前に「#」が記述されている場合は「#」を外して下さい。
# Real-time info on requests and configuration Include conf/extra/httpd-info.conf
httpd-info.confファイルの編集
次に「httpd-info.conf」ファイルを編集します。まずクライアントからどのように呼び出すかのURLを指定します。通常は「/server-status」で呼び出すように設定するようです。そこで「Location」を使って「/server-status」と言うURLパスに対する設定を記述します。
<Location /server-status> ... ... </Location>
まず「/server-status」と言うURLパスで呼ばれた時に「server-status」ハンドラーを呼び出して実行する設定を「SetHandler」を使って行います。
<Location /server-status> SetHandler server-status </Location>
このように記述すると「http://localhost/server-status」とブラウザからリクエストがあった場合、「server-status」ハンドラを実行して結果を返してくれます。
またサーバの動作状況は誰にでも公開するものではありません。そこでローカルホストからのみアクセスを許可します。設定の最終的な形は次のようになります。
<Location /server-status> SetHandler server-status Order deny,allow Deny from all Allow from localhost </Location>
上記を「httpd-info.conf」ファイルに記述して下さい。(デフォルトでほぼ同じ内容が書かれていますが「localhost」の前に「.」が付いている場合があります)。
実際に試してみる
ではローカルホストから「http://localhost/server-status」へアクセスして下さい。
無事アクセスできれば上記のようにApacheの動作状況をモニタリングできます。
指定した時間で自動更新
ローカルホストからアクセスする際にURLの末尾に「?refresh=秒数」と記述すると、指定した秒数毎に最新の情報を取得しなおすようになります。
では5秒単位で自動更新してみます。「http://localhost/server-status?refresh=5」と言うURLでアクセスして下さい。
上記のように5秒単位で自動的に最新の情報を取得しなおして表示します。
( Written by Tatsuo Ikura )