Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
2
Help us understand the problem. What is going on with this article?
@oshiro

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

More than 5 years have passed since last update.

スクリーンショット 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でエラーがでてモジュールをインストールできなかったところ以外はサクッと行けた。

2
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
oshiro

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
2
Help us understand the problem. What is going on with this article?