back

utgraph.py

何ですか?

utgraph.pyはuptimeのリダイレクトログからサーバのロードアベレージを可視化するスクリプトです。pygooglechartGoogle Chart APIを試すために作られました。

注意 このスクリプトを使う前にサーバを変更することを検討して下さい。多分そっちのほうが幸せになれます。

An Example

Download / Installation

http://wids.net/archive/utgraph/から取得して展開して下さい。

Requirements

使い方

usage: utgraph.py [options] file

options: 
  --version             show program's version number and exit
  -h, --help            show this help message and exit
  -d DIR, --directory=DIR
                        output DIR [default: ./]
  -t HOSTNAME, --target-host=HOSTNAME
                        target hostname (for title)

通常、下記のように使います。

$ crontab -l
*/5 * * * * sh /home/ys/bin/monitor.sh
$ cat bin/monitor.sh
/usr/local/bin/wget -q http://wids.net/tmp/uptime.cgi -O - \
              >> /home/ys/monitor/wids.net/`date +%Y%m%d`.log
/usr/local/bin/python /home/ys/monitor/utgraph.py \
              -t wids.net \
              -d /home/ys/public_html/monitor/ \
                 /home/ys/monitor/wids.net/`date +%Y%m%d`.log

utgraphは下記のuptimeフォーマットをサポートしています。

   7:40PM  up 8 days, 23:51, 2 users, load averages: 0.01, 0.01, 0.00
   7:45PM  up 8 days, 23:56, 2 users, load averages: 0.03, 0.01, 0.00
   7:50PM  up 9 days, 1 min, 2 users, load averages: 0.00, 0.00, 0.00

 or

  23:45:01 up 2 days, 13:36,  2 users,  load average: 2.46, 2.15, 2.02
  23:50:02 up 2 days, 13:41,  2 users,  load average: 2.70, 2.35, 2.12
  23:55:01 up 2 days, 13:46,  2 users,  load average: 2.25, 2.52, 2.26

バージョン0.5では、utgraphは行の最初にスペースがないとパースに失敗します。失敗する場合は適当にパーサをいじって下さい。

多数のホストのロードアベレージを1ページで表示したい場合は、各ホストのcur.pngを呼び出すHTMLを書いて下さい。cur.pngはutgraphが実行された時に一番新しい解析結果の画像のシンボリックリンクとして生成されます。また、その場合は-dオプションを使って各ホストの解析結果を別ディレクトリに保存して下さい。

License

GNU General Public License 3.

pygooglechartがGPLv3なため。

Changelog

FAQ

Q: あなた自身はこのスクリプト使っているんですか?

A: もちろん! Dreamhost使ってますから!