質問: 現在CentOSサーバにPlesk下でバーチャルホストで多数のサイトを管理していますが、 多数のサイトがあるため、サイトが重くなったときにただちに原因となっているファイルを調べることができません。 **apacheの状態を把握できるようなできるだけ簡単な方法やソフト(できればフリー)**はないでしょうか? 特に把握したいことは、優先順に以下の通りです。 1. 一定時間内に特にアクセスが多いファイル群をファイル順に並べて表示できる 2. maxClient値に達したときに実行されずにたまっているアクセス一覧を表示できる 3. 一定時間内で重い処理を行ったPHPプログラム(応答に時間がかかったリクエスト)を実行時間が長い順に並べる 4. 一定時間内でエラーコードを頻発しているリクエストをエラー回数の多い順に並べる 5. apacheプロセスを監視して現在のプロセス数、リクエスト数、使用メモリ・CPU量を表示する 見え方のイメージを言うと、**coldfusionサーバに付属しているサーバモニターのようなもの**が理想なのですが・・・。 さらに欲を言うと、もし自宅のwindowsからリモートで監視できるようなソフトがあれば最高なのですが・・。
回答: サーバ内でコマンドラインで確認するならばapachetopコマンドの導入は如何でしょうか? apachetopはログファイルを引数に与え読み込むことにより、リアルタイムに、ある程度は目的に合った表示をしてくれるはずです。 またapacheのプロセスを監視したいのであれば、他の方が書かれているように監視ツールの導入をオススメします。 稼働監視であればZabbix以外にもnagiosや最近だとsensu、他にもパフォーマンス監視であればcactiや最近だとtd-agentと合わせてgraphite(+grafana)あたりも良いかも知れません。 更に、詳しくApacheの状況を拾いたいのであれば、Apacheにmod_statusモジュールを導入しLocationディレクティブで指定した/server-statusパスから拾うようなpluginを上記のような監視ツールのプラグインとして導入することも考えてみてください。