utgraph.pyはuptime
のリダイレクトログからサーバのロードアベレージを可視化するスクリプトです。pygooglechartとGoogle Chart APIを試すために作られました。
注意 このスクリプトを使う前にサーバを変更することを検討して下さい。多分そっちのほうが幸せになれます。
http://wids.net/archive/utgraph/から取得して展開して下さい。
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
オプションを使って各ホストの解析結果を別ディレクトリに保存して下さい。
pygooglechartがGPLv3なため。
Q: あなた自身はこのスクリプト使っているんですか?
A: もちろん! Dreamhost使ってますから!