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 ではなく Order、Deny、Allow です。現代の 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_status、ExtendedStatus、アクセス制限、?auto 出力を理解しておくと、当時の監視構成や性能問題を追いやすくなります。
関連する記事
- CentOS 5 サーバー管理ガイド
CentOS 5 系の記事を役割別に確認できるハブページです。 - CentOS 5 Apache メモリ不足時のチューニング
Apache のプロセス数とメモリ使用量を見直す記事です。 - CentOS 5 Cacti モニタリングサーバー構築
監視側で状態をどう扱うかを確認します。
参考書籍
古い Linux サーバーの記事を読み直す時にも、コマンドライン操作の考え方を確認しやすい参考書籍です。
Amazon で見る
