影舞のレポートをグラフ化して表示 on Windows
リーダーから「統計情報を視覚的に見たい」とのご要望。
まぁ組込みPGにも飽きてきてたから丁度いいやってっことで引き受けた。
どうやらMRTGでグラフ化するようだ。*1
グラフ化
影舞をインストールしたディレクトリ(以降、C:\Kagemaiとする)にmrtgディレクトリがある。
この中にプロジェクトID毎にディレクトリを切ってそれぞれのグラフを格納することにする。
mrtgディレクトリを漁るとsummary.rhtmlとmrtg.cfgがあるので、
プロジェクドID毎のディレクトリ内にコピーして編集する。
summary.rhtmの編集
mrtg/test.html, mrtg/test-week.png は必要に応じて適当に変更してください。
とのことなので従って編集する。
"test"をプロジェクトID(以降、pj_idとする)に置き換えればOK。
公開するときもプロジェクトID毎にディレクトリを切ることにしたので最終的に下記のように置換する。
mrtg/test.html → mrtg/pj_id/pj_id.html mrtg/test-week.png → mrtg/pj_id/pj_id-week.png
mrtg.cfgの編集
まず"test"を"pj_id"で置換する。
その上で下記の変更を行う。
- HtmDir, ImageDir, LogDir
それぞれ下記のように編集
HtmlDir: C:\Kagemai\mrtg\pj_id\html ImageDir: C:\Kagemai\mrtg\pj_id\html LogDir: C:\Kagemai\mrtg\pj_id\html
- Target
Target[pj_id]: `C:\Lynx_for_Win32\lynx.exe -dump http://localhost/kagemai/guest.cgi?project=pj_id&action=mrtg&t=2`
lynxに-dumpオプションを付けて影舞のページを読込ませると、テキストでデータを吐く。
このデータをMRTGに読み込ませてグラフを生成する。
- PageFoot
PageFoot[pj_id]: <hr><a href="http://foohogehoge/kagemai/guest.cgi?project=pj_id&action=top">戻る</a>
ここは好きに編集してOK。
- その他の項目
デフォルトでOK。気に入らなければ編集。
グラフを生成する
コマンドプロンプトで下記のように実行する。
perl C:\mrtg\bin\mrtg C:\Kagemai\mrtg\pj_id\mrtg.cfg
すると、C:\Kagemai\mrtg\pj_id\html\ にグラフ一式が生成される。
影舞で表示する
作業を自動化する
さて、データは継続的に採らないと意味がないので
グラフ生成手順を自動化してやる。
一番簡単な方法はmrtg.cfgでRunAsDaemonをYesに設定しておくこと。
この方法にはポイントが2つある
・HtmDir, ImageDir, LogDirに公開可能なディレクトリを指定する必要がある。
・たいした問題じゃないが、DOS窓が開きっぱなしになる。
DOS窓の件はどうでもいいとして、
Web公開可能なディレクトリが
C:\Program Files\Apache Software Foundation\Apachex.x\htdocs\
になっていたためこの方法は使えなかった。
# MRTGにスペースを含むパスを指定するとエラーになる。
# Web公開するディレクトリを変更することもできたはずだが忘れた。
# 調べるのも面倒なのでバッチに頼る。
RunAsDaemonをYesにしない場合は一定間隔でコマンド実行とコピーを繰り返す必要がある。
適当にバッチを書いてタスクスケジューラに登録しておけばいいでしょう。
実行間隔は10分くらいで。
*1:参考:MRTGでバグ統計情報をグラフ表示 | MgTN Blog
*2:表示されないときはC:\Kagemai\project\pj_id\cache以下のファイルを削除してみる