サーバ監視 phptopを動かしてみた
以下で紹介されていたサーバ監視ツールphptopを試してみた。
サーバ上で動いてるどのphpが重いか?を調べられる「phptop」:phpspot開発日誌
本家はこちら PhpTop – Bearstech Forge
ただすんなり動かなかったのでメモ。環境は、CentOS 5.2, PHP 5.2
phptopのサイトからダウンロードして解凍
$ wget http://forge.bearstech.com/trac/raw-attachment/wiki/PhpTop/phptop-0.5.2.tar.gz $ tar -zxvf phptop-0.5.2.tar.gz $ cd phptop-0.5.2/ $ ./phptop -t 15 -s mem
実行するとエラーが
Can't locate Term/Size.pm in @INC (@INC contains:
Term-Sizeがないらしい
※2010.12.21 追記)CPANモジュールを入れるのがいいみたい
$ perl -MCPAN -e shell cpan> install Term::Size
こちらは自分で試したもの
$ yum --enablerepo=rpmforge install perl-Term-Size
インストールして実行するとまたエラーが
Bareword "POSIX::LC_NUMERIC" not allowed while "strict subs" in use at ./phptop line 118. BEGIN not safe after errors--compilation aborted at ./phptop line 357.
よくわからないので118行目をみてみる
$ vi phptop setlocale(POSIX::LC_NUMERIC, 'C'); # Use . as decimal separator
locale?よくわからん。。
とりあえずこの行をコメントにして保存して実行!
Error: no log files found/processed. Tried: /var/log/apache2/error*log, /var/log/apache2/*/error*log
apache2 ?
ソースを見ると確かに356行目、
push(@log, '/var/log/apache2/error*log', '/var/log/apache2/*/error*log' ) if !@log;
自分の環境は、/var/log/httpd なのでパスを変更して、今度こそ・・
URL Hit Time User Sys >Mem/hit Mem_max http://xxxx/test1 2 0.8 0.7 0.1 8.2 8.2 http://xxxx/test2 1 0.3 0.2 0.0 8.2 8.2 http://xxxx/test3 2 0.5 0.4 0.0 8.2 8.2 http://xxxx/test4 1 0.3 0.2 0.0 8.0 8.0 http://xxxx/test5 1 0.2 0.2 0.0 8.0 8.0 http://xxxx/test6 9 2.4 1.6 0.1 7.2 7.2 Total (from last 15 min) 16 4.5 3.3 0.3
でたー!
コマンドの15は最後の15分間分を出力ということなので、適宜変更すればOK。
htmlに出力するときは、-o html オプションをつける。
$ ./phptop -t 15 -s mem -o html