LoginSignup
3
2

More than 5 years have passed since last update.

HRForecastでKPI可視化(してみようと思った)

Last updated at Posted at 2014-02-23

スクリーンショット 2014-02-23 22.53.10.png

とあるサービスの開発運用マンをしているわけですが、施策を出した後のKPIをリアルタイムに可視化できたらかっこいいかも…と思いHRForecastを使ってグラフにしてみようと思います。 自分でDBにクエリ投げてjson作ってjsでグラフ化するもありですが何よりだるいです。
このツールの凄いところは

  • POSTでデータを登録できる。(インターフェースがHTTP)
  • インストール、構築が楽(cpanmがさくっと使える程度にPerlあるを知っていれば)

というところにあると思います。
登録したいデータがいくら増えようが、開発運用マンはPOSTでURLを叩くだけでグラフにデータが追加されていきます。グラフの新規作成も作りたいグラフのURLでPOSTを投げることで作られます。
インストールも、MySQLがあれば特にyumとか叩く必要ないのでサーバーを汚さずに構築できます。(cpanmはhomeディレクトリに作られるので特に文句言われることもないはず。不安なら個人ディレクトリに置けばいい)

インストール

インストールした後は、perlを起動するだけで動作します。

インストール
あらかじめcpanmをインストールしておく

# HRForecastをダウンロード
cd /path/to/install_dir
git clone https://github.com/kazeburo/HRForecast
cd HRForecast

# 依存関係にあるcpanモジュールをインストール
sudo cpanm --installdeps .

# エラーでて面倒くさくなってきたら--forceオプション追加。多分大体testに失敗しているだけなので問題ないはず
sudo cpanm --installdeps . --force

# mysqlにデータを蓄えていくためのテーブルを作成
mysql -uroot -p test < schema.sql

# DBの接続先とかを設定
vim config.pl

# 起動
perl hrforecast.pl --config ./config.pl &

データ登録

POSTリクエストを行うことで登録できます。コマンドラインから登録したければcurlを使っていけます。

データ登録
# curlを使ってPOSTリクエストを投げる
curl http://localhost:5127/api/kpi/event/test1 -X POST -d 'number=11&datetime=2014-02-17 00:00:00'

# 標準入力から登録したい場合
echo 'number=11&datetime=2014-02-17 00:00:00' | curl http://localhost:5127/api/kpi/event/test1 -X POST -d @-

cronとかで定期的にデータを送ってあげようと思っています。
大量にデータを登録したい場合はどうすればいいんだろう、POSTを件数分投げる必要があるんでしょうか。DB見た感じだと直接insertとかありっぽそうです。

ほむ、cpanmでエラーがでてモジュールをインストールできなかったところ以外はサクッと行けた。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2