様々な値をWebAPI経由でグラフ化できる「GrowthForecast」をインストールしてみた
GrowthForecastとは
WebAPIからグラフを更新できる画期的なツールです。
curlとかで叩くだけで簡単に様々な数値をグラフ化することができます。
割と最近、1分間隔でグラフ更新ができるようになったり、
溜め込んだデータをJSON形式で出力できる機能が追加されたりしたので試してみました。
近いうちに、Fluentdで集めたログをこのGrowthForecastでグラフ化してみる予定です。
ひとまず今日はGrowthForecastのインストールから動作確認まで。
GrowthForecastインストール手順
cpanmのインストール
cd /usr/bin/ curl -LOk http://xrl.us/cpanm chmod +x cpanm
wget http://ftp.yz.yamagata-u.ac.jp/pub/lang/cpan/authors/id/G/GF/GFUJI/Alien-RRDtool-0.02.tar.gz cpanm Alien-RRDtool-0.02.tar.gz
GrowthForecastインストール
cd /usr/local/ git clone git://github.com/kazeburo/GrowthForecast.git cd GrowthForecast cpanm --installdeps .
実行してみる
perl ./growthforecast.pl --port 5125
おや、エラーだ。
Can't locate RRDs.pm in @INC (@INC contains: /tmp/GrowthForecast/lib /tmp/GrowthForecast/extlib/lib/perl5 /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/5.8.8 .) at /tmp/GrowthForecast/lib/GrowthForecast/RRD.pm line 6. BEGIN failed--compilation aborted at /tmp/GrowthForecast/lib/GrowthForecast/RRD.pm line 6. Compilation failed in require at /tmp/GrowthForecast/lib/GrowthForecast/Web.pm line 9. BEGIN failed--compilation aborted at /tmp/GrowthForecast/lib/GrowthForecast/Web.pm line 9. Compilation failed in require at ./growthforecast.pl line 16. BEGIN failed--compilation aborted at ./growthforecast.pl line 16.
yum -y install perl-rrdtool
もっかい起動
perl ./growthforecast.pl 2012-04-27T14:12:34 [INFO] [short] first updater start in Fri Apr 27 14:13:00 2012 at /usr/local/GrowthForecast/lib/GrowthForecast/Worker.pm line 47 2012-04-27T14:12:35 [INFO] [update] first updater start in Fri Apr 27 14:15:00 2012 at /usr/local/GrowthForecast/lib/GrowthForecast/Worker.pm line 47
うごいた!
グラフを追加
apiを叩くだけ
このルールで叩きます。
URL
http://localhost:5125/api/サービス名/セクション名/グラフ名
パラメータ
number | 記録する数値(HTTPステータスコードとかレスポンスタイムとか) |
mode | 記録のモード。デフォルトgauge。countにすると今入ってる数値に加算していく |
例えばこんなかんじ
curl -F number=10 -F mode=gauge http://localhost:5125/api/HogeService/HogeSection/items
さっきのコマンドをとりあえずcronに登録してみる
crontab -e
*/1 * * * * /usr/bin/curl -F number=10 -F mode=gauge http://localhost:5125/api/service_name/section_name/name
しばらく待ってからブラウザで確認
でました!
これを使えば色々な数値を簡単にグラフ化することができます。
次回はFluentdのログをいろいろ流しこんでグラフ化してみる予定です。
参考リンク
http://blog.nomadscafe.jp/2012/02/growthforecast1json.html
http://d.hatena.ne.jp/magicalhat/20120403/1333435826
http://blog.nomadscafe.jp/2011/12/growthforecast.html