手当たり次第に書くんだ

飽きっぽいのは本能

CentOS 5 Apache Status の確認 – mod_status で稼働状態を見る

CentOS 5 の Apache で mod_status を使い、稼働状態を確認する基本を確認します。古い Web サーバーでは、プロセス数、リクエスト状況、待ち状態を見るだけでも、メモリ不足や接続詰まりの手掛かりになります。

Apache Status で見えること

mod_status は Apache の内部状態を表示するモジュールです。サーバーが重い時に、単に CPU やメモリだけを見るのではなく、Apache がどのような状態でリクエストを処理しているかを確認できます。

  • 稼働中の worker / process の状態
  • リクエスト処理中か待機中か
  • アクセス元とリクエスト URI
  • CPU 使用時間やリクエスト数
  • KeepAlive による待機状態

モジュールと設定の確認

CentOS 5 の Apache では、mod_status が読み込まれているか、設定ファイルに status 用の Location があるかを確認します。

httpd -M | grep status
grep -R "server-status" /etc/httpd/conf /etc/httpd/conf.d
service httpd configtest

古い設定では ExtendedStatus On が明示されていることがあります。詳細情報を見たい場合には有効ですが、公開範囲を誤ると内部情報が外部に見えるため、アクセス制限が前提です。

設定例

status ページは、管理端末や監視サーバーからだけ見えるように制限します。

ExtendedStatus On

<Location /server-status>
    SetHandler server-status
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
    Allow from 192.168.1.0/24
</Location>

CentOS 5 世代の Apache 2.2 では、アクセス制御の書き方が Require ではなく OrderDenyAllow です。現代の Apache 2.4 とは書式が違う点に注意します。

確認方法

設定後は文法確認を行い、Apache を reload してからローカルまたは許可済み端末から確認します。

service httpd configtest
service httpd reload
curl http://127.0.0.1/server-status
curl "http://127.0.0.1/server-status?auto"

?auto は監視ツールが読みやすい形式で出力します。Cacti や外部監視で Apache の状態を取得する場合は、この形式が使われることがあります。

運用上の注意

  • status ページをインターネットへ公開しない
  • 許可する送信元を管理ネットワークに限定する
  • Apache が重い時は MaxClients とメモリ使用量も合わせて見る
  • KeepAlive の待機が多い場合は接続状態も確認する

Apache Status は便利ですが、公開範囲を誤るとアクセス元、URI、稼働状態といった内部情報を漏らします。監視用に使う場合も、ネットワーク制御と Apache 側のアクセス制御を両方確認します。

まとめ

CentOS 5 の Apache Status は、古い Web サーバーの状態を読むための実用的な手掛かりです。mod_statusExtendedStatus、アクセス制限、?auto 出力を理解しておくと、当時の監視構成や性能問題を追いやすくなります。

関連する記事

参考書籍

参考書籍
参考書籍
ストーリーで覚える Linux CLI 入門

古い Linux サーバーの記事を読み直す時にも、コマンドライン操作の考え方を確認しやすい参考書籍です。

Amazon で見る
このリンクは Amazon アソシエイトリンクです。
CentOS 5 Apache Status の確認 – mod_status で稼働状態を見る

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る