Help us understand the problem. What is going on with this article?

Grafana on InfluxDB をちょっとだけ触ってみた

More than 5 years have passed since last update.

Grafana という InfluxDB をバックエンドにしたグラフ描画ツールの存在を知ったので触ってみた。正確には、Grafana は本来は Graphite 用のダッシュボード置き換えツールなのだが、InfluxDB をバックエンドにしても動くらしい。というか、つい10日ほど前にサポートしたらしい。

InfluxDB については InfluxDB を10分だけ触ってみた の記事を参照。その記事の中で、Elasticsearch に対する Kibana のように、InfluxDB にも描画ツールがあれば便利だよね、という話をしたが、まさしく Grafana をその用途で使えるようだ。ちなみに、Grafana は Kibana を fork したツールである。

インストール

$ git clone git@github.com:torkelo/grafana.git
$ cd grafana/src
$ mv config.sample.js config.js

https://github.com/torkelo/grafana/wiki/InfluxDB のページを参考に config.js を以下の内容に置き換える。

InfluxDB を10分だけ触ってみたのようにして、test データベースは作ってあるものとする。

/** @scratch /configuration/config.js/1
 * == Configuration
 * config.js is where you will find the core Grafana configuration. This file contains parameter that
 * must be set before Grafana is run for the first time.
 */
define(['settings'],
function (Settings) {
  "use strict";
  return new Settings({
    elasticsearch: "http://"+window.location.hostname+":9200",
    datasources: {
      influx: {
        default: true,
        type: 'influxdb',
        url: "http://"+window.location.hostname+":8086/db/test",
        username: 'root',
        password: 'root',
      }
    },
    default_route: '/dashboard/file/default.json',
    timezoneOffset: null,
    grafana_index: "grafana-dash",
    panel_names: [
      'text',
      'graphite'
    ]
  });
});

ウェブサーバを立ち上げる

Kibana のセットアップをしたことがある人ならばわかると思うが、Grafana (Kibana) 自体は html および javascript だけなので、ウェブサーバを別途立てる必要がある。

ちょっと試したいだけなので、nginx とか立てずに以下のように ruby のワンライナーで立ち上げてみた。

$ ruby -rwebrick -e 'WEBrick::HTTPServer.new({:DocumentRoot => "./", :Port => 8080}).start'

アクセス

http://localhost:8080

スクリーンショット 2014-04-04 2.09.29.png

database 名 test をクリックするとドロップダウンが出てくるので Edit を選ぶ。※ Graphite じゃないのに、「Graphite」ってなってる... ^^;

スクリーンショット 2014-04-04 2.18.23.png

クエリを入れられそうな画面がでてくるので、入れてみる

スクリーンショット 2014-04-04 2.39.17.png

グラフ出た ^^

補足:なお、データは現在時間にあわせて InfluxDB の GUI から次のように投入した。time は miliseconds の epoch time なので注意。ruby で書くと Time.parse("2014-04-03 23:00:00 +0900").to_i * 1000 みたいな感じ。

Time Series Name: response_time
values: {"value":10,"time":1396533600000}
values: {"value":20,"time":1396537200000}
values: {"value":40,"time":1396540800000}

おわりに

Grafana は InfluxDB をサポートしはじめたばかりのようで、まだ細かい機能は今実装しているところの模様。

ダッシュボードの保存などの処理が kibana そのままで、どうやら elasticsearch が必要になるようだし、まだ発展途上感あるけど、期待したい。

sonots
A Ruby, Fluentd, and Chainer Committer. SRE Engineer. Qiitaは小ネタの投稿場所として利用しています。業務コードで、なぜそういう書き方をしているのか解説をQiitaに書いて、コードにはQiitaへのリンクを張る、という使い方をしていることが多いです(自己紹介じゃない)
https://medium.com/@sonots
zozotech
70億人のファッションを技術の力で変えていく
https://tech.zozo.com/
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
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  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
ユーザーは見つかりませんでした