- 締切済み
ユーザーがcgi等を実行したログをとりたい
個人的に、RedHat系のサーバを丸ごと1台レンタルして運用しています。何人かの知人にホームスペースを貸していますが、モニタリングから、ときおりCPU使用率が著しく高いものがあるようです。 しかし、どのユーザーの使用率が高いのかわかりません。簡便で構わないので、ユーザー毎で過去のcpu使用率を残す方法とか、cgiの実行ログを残す方法をご存じの方はいらっしゃませんでしょうか。 商用ツールで実現できる事は知っていますが、結構な値段ですもので…
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- chidori_ko
- ベストアンサー率48% (328/683)
回答No.2
% grep KEYWORD access_log | less % grep -v KEYWORD access_log | less % grep KEYWORD access_log >> hoge.log とかして、アクセスログの中から当該部分だけを抜き出すとか、当該部分を除くとかして抽出して眺めていけばいかがでしょうか。 あと、webalizer とかどうでしょうか。 http://homepage1.nifty.com/Que/plamo/apache/webalizer.html
- kazu-gto
- ベストアンサー率25% (53/205)
回答No.1
cgiの実行ログはhttpdのアクセスログに残りませんか? CPUの使用率ですが基本的には一定時間間隔でのログになるとおもいますが, vmstat - 仮想メモリの統計を報告する というコマンドがありますのでこれをcronで定期的に実行してlogファイルに残し,後で解析すれば出来そうな気がしますが,如何でしょうか?
お礼
早速の回答ありがとうございます。httpdのアクセスログには残るようですね(今、初めて気がつきました)。 ただ、全てのユーザーのアクセスログを巡回するのは、結構大変かもしれません。できれば、同じファイルに全てのユーザーの使用ログが残ればよいなぁと考えていたのですが、ムシがよすぎるでしょうか。 それから、vmstat…ユーザー毎で集計するのは難しいような気がします。私が他の方法を知らないだけかもしれませんが…。