• 締切済み

ユーザーがcgi等を実行したログをとりたい

個人的に、RedHat系のサーバを丸ごと1台レンタルして運用しています。何人かの知人にホームスペースを貸していますが、モニタリングから、ときおりCPU使用率が著しく高いものがあるようです。 しかし、どのユーザーの使用率が高いのかわかりません。簡便で構わないので、ユーザー毎で過去のcpu使用率を残す方法とか、cgiの実行ログを残す方法をご存じの方はいらっしゃませんでしょうか。 商用ツールで実現できる事は知っていますが、結構な値段ですもので…

  • kyura
  • お礼率89% (67/75)

みんなの回答

回答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

参考URL:
http://homepage1.nifty.com/Que/plamo/apache/webalizer.html
  • kazu-gto
  • ベストアンサー率25% (53/205)
回答No.1

cgiの実行ログはhttpdのアクセスログに残りませんか? CPUの使用率ですが基本的には一定時間間隔でのログになるとおもいますが, vmstat - 仮想メモリの統計を報告する というコマンドがありますのでこれをcronで定期的に実行してlogファイルに残し,後で解析すれば出来そうな気がしますが,如何でしょうか?

kyura
質問者

お礼

早速の回答ありがとうございます。httpdのアクセスログには残るようですね(今、初めて気がつきました)。 ただ、全てのユーザーのアクセスログを巡回するのは、結構大変かもしれません。できれば、同じファイルに全てのユーザーの使用ログが残ればよいなぁと考えていたのですが、ムシがよすぎるでしょうか。 それから、vmstat…ユーザー毎で集計するのは難しいような気がします。私が他の方法を知らないだけかもしれませんが…。

関連するQ&A

  • ユーザーディレクトリでCGIの実行ができない。

    環境 FedoraCore2 Apache で、ルートディレクトリでCGIの実行が可能であるのに、ユーザーディレクトリに設置したCGIは500エラーを起こして実行できません。 ブラウザを通してアクセスすると500が出ますが、ユーザーでコマンドラインからCGIを実行すると正常に結果を返します。 なお、コマンドラインでCGIを実行した場合にはログは残りませんが、ブラウザでアクセスした場合、以下のログファイルにログが記録されていました。 error_log [Tue May 16 08:49:21 2006] [error] [client 192.168.11.2] Premature end of script headers: test.cgi suexec.log [2006-05-16 08:49:21]: uid: (503/test) gid: (503/503) cmd: test.cgi [2006-05-16 08:49:21]: cannot get docroot information (/home/test) ちなみに、ネットで見つけた#!/usr/bin/perlの後ろに--を付加する方法では同様の500エラーが出てしまいました。 どなたか、原因及び解決法をご存じの方、ご教授いただければ幸いです。

  • 【御質問】SQL Serverでのログ取得について

    知人から現在運用しているSQL Serverにおいて ユーザ単位での操作レベルのログ取得を モニタリングの目的で実現したいという話を 伺いました。 (誰がいつどういった操作を行い、どのようなデータを  ひっぱってきたか?といったログイメージ) 皆様がどうやって上記要件を実現 しているかについてご指導いただけないでしょうか? 大変お手数ですが何卒宜しく御願い申し上げます。

  • CGIで作ったサイトのログ解析はできますか?

    モバイルサイトを全てCGIで作ろうと思っています。 (中に会員ページがあり、そのCGIと連動させるためです) そこで質問なのですが、今まではHTMLで作成してタグを貼って ログを読んでいたのですが、今度CGIで作る際にも アクセスログが読めるようにするには どうすれば良いでしょうか? THANK YOUページだけHTMLにしようと思ったのですが それも難しいようです。 (会員ページ内CGIからHTMLに移るとログアウトとなり ユーザーにとって使いにくくなるそうです) CGIは、基本的に1枚にトップも資料請求もコンテンツも 全て入れ込んで作ります。 CGIは全く詳しくないのですが、 「○○○.com/○○.cgi」から動的ページを作るとログは 「○○○.com/○○.cgi?=1023」というようになるのでしょうか? そうなればサーバーにはそのログが残るのでしょうか…? 些細なことでも結構ですので、CGIサイトのログ解析の方法について 何かご存知であれば教えて下さい。。。。。 よろしくお願いいたします。

    • ベストアンサー
    • CGI
  • 他ユーザーのシェル実行

    OSはredhat linuxです。 aaausrとbbbusrの2つのユーザーを作成しています。 このうちaaausrからbbbusrのシェルをbbbusrとして実行したいと 考えています。 また、rshやsshは使用しないで実現したいと考えています。 このような事は実現可能なのでしょうか?。 分かる方がいらっしゃればお教え頂ければと思います。 以上です。

  • CGIのログを違うパソコンへ移動

    プロバイダのスペースでHPを運営していましたが 容量の関係で自宅サーバを作りそこで 運営していきたいと考えています。 現在の非サーバPCにCGIファイルが 入っていて、それをフォルダごと共有でサーバのパソコンに 送ったのですが、ログが全て消えてしまっています。 (まっさらな状態) まだプロバイダの方にCGIをアクセスする事は出来ます。 なんとかログをそのままサーバー機に移す方法は 無いでしょうか? KentWEBさんのCGIを使っています。

    • ベストアンサー
    • CGI
  • LINUXでログ出力

    今、LINUX(RedHat7.0J)でイントラサーバを運用しているのですが 毎日、夜中にログを出力したいと考えています。 ログ内容はログイン失敗ユーザーやディスク容量など運用ログです。 FreeBSDなどはデフォルトで出力するようcrontabにありましたが LINUXの場合ありません。シェルスクリプトを書ければいいのですが 当方書けないため、どなたか作っておられる方、またはツールがあるよ っ方あつかましいお願いですが、教えていただけませんか? 急ぎでなければ勉強がてら作るのですが、もうしわけありません。

  • BASIV認証のログ

    管理などに使うCGIのある場所をBASIC認証でアクセス制限をしていますが、どの管理ユーザーがいつ認証を行ったかをログに残すにはどうしたらよいでしょうか? さらにaccess_log でCGIがでどの管理ユーザーにより実効されたかの記録を残す方法はあるでしょうか?

  • CGIが使えないのはなぜ?

    こんにちは。 現在Redhat8を使用して、サーバーを作っています。apacheを起動してサイトが表示できるまではOKだったのですが、CGIを使う段階でつまづいています。 httpd.confは様々なサイトを見てそのとおりに編集したのですが、いざCGIを起動するとServerError!となります。Error_logを見ると↓のような妙な文章でした。Permissionなら分かるのですが、、これは何でしょう。 Premature end of script headers: XXX.cgi CGIの先頭のPerl指定は #!/usr/bin/perl にしてあります。何が悪いのか分からず途方にくれています。何かチェックする部分があればどうかご指摘ください。お願いします。パーミッションの設定は完了しており、CGIスクリプト自体も先頭以外はいじっていません。 RedHat8.0 Apache2.0 /home/www/html にHTMLファイル /home/www/cgi-bin にCGIスクリプト ----------------以下関係のありそうなhttpd.confの抜粋 ScriptAlias /cgi-bin/ "/home/www/cgi-bin/" <Directory /home/www/cgi-bin> Options ExecCGI Order allow,deny Allow from all </Directory> AddHandler cgi-script .cgi

  • CGIの負荷計測

    自作掲示板の書き込み処理の動作負荷を調べたいのですが何かいい方法は無いでしょうか?? 普通記事を表示させるだけのCPU時間等は、ブラウザに表示するprint部分をコメントアウトして、ログ読み込みを除いたI/O処理を削減することで行ったりしていたのですが、書き込み処理となると「記事を投稿しなければいけない」といった問題があってどのようにすればよいか思いつきません。 もうひとつ試したのが、異なる複数の有名なCGIスクリプトを、CPU占有率0の状態からポチッと書き込みボタンを押して、CPU占有率のグラフを眺め、それを何度も繰り返しながら平均を取り、比較する、という原始的な事をしていました。一応「あぁ、これはこれに比べると重いんだなぁ」というのは漠然的には知ることができましたが。。メモリの使用率なんかもできたら調べたいです。 色々調べて、コマンドプロンプトから、 > dprofpp -p test.cgi とうつことで、実行速度がわかるということを知ったのですが、これでも「フォームからの書き込み処理」等の処理をどうすればよいかという問題や、1回の実行ではほとんどCPU時間が0になってしまいます。なにかよい方法は無いでしょうか? 動作環境は、windows xp sp1 、apache と Active Perl 5.6.1 です。 一応 fedora core もPCに入っているのでそちらでできる方法でもかまいません。

    • ベストアンサー
    • Perl
  • maillogを特定のユーザーも見れるようにしたい

    Linux初心者です。よろしくお願いします。 Redhat7.3にqmailをインストールして使用しています。 /var/log/maillog なのですが、所有者はrootになっていて、rootだけが読み書きできる状態になっています。 -rw------- 1 root root maillog 一般ユーザーがviで開こうとすると、権限が無いので断られます。 ある特定の一般ユーザーがこのログを見ることが出来るようにしたいのですが、どのような方法があるでしょうか。 一般ユーザー全てが見れる状態ではなく、例えばsampleuserという名前のユーザーだけがこのログを参照できるようにしたいのですが。 もちろんrootはこのまま読み書きできる状態を維持でかまいません。 よろしくお願い致します。