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
23
Help us understand the problem. What is going on with this article?
@tatsu-yam

Focuslightを動かす

More than 5 years have passed since last update.

グラフ表示ツールGrowthForecastのRuby実装版であるFocuslightがリリースされたということで、さっそく使ってみました。

インストール

FocuslightのREADMEのInstallationに従って作業を行います。

環境

手元にあったvagrantのboxを適当に選んで、そこにFocuslightを構築しました。
* Ubuntu 13.04

事前準備

FocuslightはRuby2.0以上を必要とするとのことなので、Ruby2.0以上の環境を用意しておきます。
加えて、RRDTool and its dependencies must be installed before installing Focuslight.
とのことなので、RRDToolをインストールしておきます。

$ sudo apt-get install rrdtool

Focuslightを手に入れる

$ git clone https://github.com/tagomoris/focuslight.git
$ cd focuslight

依存ライブラリのインストール

READMEに従って次はbundle installを行うのですが、OSのバージョンなどによってはライブラリが足りず失敗してしまいます。
足りないと言われる度にライブラリを追加していけばokです。

参考までに構築中に追加でインストールしたライブラリを記載します。

$ sudo apt-get install librrd-ruby librrd4 librrd-dev

// Debianの場合このあたりも別途入れてあげないといけないかもしれません
$ sudo apt-get install libsqlite3-dev sqlite3 libsqlite3-ruby libdbd-sqlite3-ruby

これで、bundle installが成功するはずです。

起動

bundle installに成功したあとは

$ bundle exec rake init
$ bundle exec foreman start
15:10:30 web.1     | started with pid 9819
15:10:30 worker1.1 | started with pid 9820
15:10:30 worker2.1 | started with pid 9822
15:10:31 web.1     | I, [2014-02-19T15:10:31.315950 #9821]  INFO -- : listening on addr=0.0.0.0:5125 fd=9
15:10:31 web.1     | I, [2014-02-19T15:10:31.316631 #9821]  INFO -- : worker=0 spawning...
15:10:31 web.1     | I, [2014-02-19T15:10:31.317653 #9821]  INFO -- : master process ready
15:10:31 web.1     | I, [2014-02-19T15:10:31.318822 #9838]  INFO -- : worker=0 spawned pid=9838
15:10:31 web.1     | I, [2014-02-19T15:10:31.319418 #9838]  INFO -- : Refreshing Gem list
15:10:31 web.1     | I, [2014-02-19T15:10:31.449224 #9838]  INFO -- : worker=0 ready

こうしたメッセージが出力されればok。
さっそくブラウザでhttp://localhost:5125/ にアクセスします。
Screenshot-4.png
こんな感じの画面が表示されるはずです。

データを投げてみる

Focuslightは、http://localhost:5125/api/serviceA/metricsX/data1 にcurlでPOSTしてあげると、グラフができます。(serviceA, metricsX, data1をお好きなものに変更してください)

$ curl -F number=10 http://localhost:5125/api/socialgame/member/register
{"error":0,"data":{"id":1,"service_name":"socialgame","section_name":"member","graph_name":"register","number":10, ~略~ }}

このような出力が返ってきたら成功です。http://localhost:5125/ にアクセスすると、グラフができているはずです。
cf0362f743f11fde48d14fc5a2d7722d.png

以上でFocuslightの構築が完了しました。さくっとできました、すごいです。

dstatからの情報を描画してみる。

FluentdからFocuslightにデータを流し込む場合、GrowthForecast向けのpluginであるfluent-plugin-growthforecastをそのまま利用できます!

こちらの記事に習って、fluent-plugin-dstatと、fluent-plugin-map、fluent-plugin-growthforecastの3つのpluginを使ってメモリ使用量などを描画してみます。

td-agent.confは、参考にさせていただいた記事のgfapi_urlを変更したのみなので、割愛させていただきます。

gfapi_url http://localhost:5125/api/

td-agent.confを書き換えた後、sudo /etc/init.d/td-agent restartしてしばらくすると...
Screenshot-7.png

メモリ使用量のグラフができました!

まとめ

Focuslightをインストールして、fluentdにてデータを流しこみ、グラフ描画まで行いました。GrowthForecastをこれまで触ったことがありませんでしたが、さくっと構築できるのはとても魅力的だと思います。

23
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
tatsu-yam
ぺーぺーです。 おさんぽの人と呼ばれたりいなかったり。
gree
インターネットを通じて、世界をより良くする。

Comments

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