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

InfluxDB を10分だけ触ってみた

More than 5 years have passed since last update.

InfluxDB とは Black Duck Open Source Rookies of the Year 2013 にも選ばれた今注目の Time series metrics database である。

ということでちょっと触ってみた。

インストール

http://influxdb.org/download/ ページを見て、環境にあわせてインストールする。

例えば CentOS x86_64 の場合

$ wget http://s3.amazonaws.com/influxdb/influxdb-latest-1.x86_64.rpm
$ sudo rpm -ivh influxdb-latest-1.x86_64.rpm
influxdb process is not running [ FAILED ]
Starting the process influxdb [ OK ]
influxdb process was started [ OK ]

おぉ、これだけなのか。

http://influxdb.org/docs/ Introduction ページを見て、アクセスする。API が 8086 ポート、Web UI が 8083 ポートで動いているらしい。

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

ちなみに lsof -p してみると他にもいくつか LISTEN しているようだ。

$ sudo lsof -p 16288 -P | grep TCP
influxdb 16288 root    5u  IPv6 988300294      0t0       TCP *:8090 (LISTEN)
influxdb 16288 root    7u  IPv6 988300298      0t0       TCP *:8099 (LISTEN)
influxdb 16288 root    9u  IPv6 988300742      0t0       TCP *:8086 (LISTEN)
influxdb 16288 root   10u  IPv6 988300744      0t0       TCP *:8083 (LISTEN)

GUI で遊ぶ

実際に運用しようと思ったら、HTTP API を使うとは思うが、せっかくなので GUI から遊んでみる。

http://localhost:8083 にアクセスして、デフォルト root/root でログインする。ログインしたら GUI から database を作ったりできるようだ。

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

Database を作って、Explore リンクをクリックすると、次のような画面に入る。

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

MySQL でいうところの table に相当するものを series と呼ぶらしい。試しに以下のようなデータを series に登録してみる。

Time Series Name: response_times
values: {"time": 1382819388, "value": 234.3}

で、Query を

select value from response_times;

としてみると、なんか出た。

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

もっと入れてみる。ほうほう。

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

SQL-like query language

あとは、SQL-like query language を使って色々ごにょごにょできるようだ。

select value from response_times where time > now() - 1h limit 1000;

のようにして1時間以内、1000個のみに絞るとか、

select max(value) from response_times group by time(10m);

のようにして、10分ごとの max 値の値のみを取るとか。

Time Series SQL 楽しい ^^

おわりに

GUI を使ったのでグラフが表示されたが、実際に API 経由で使う場合は、json でデータが返ってくるだけなので描画ツールは自分で実装しなければならないはず。Elasticserach に対する Kibana のようなものが、InfluxDB にもあると捗るので、誰か作ると良いですね。

追記:そういえば最近 twitter のタイムラインに流れてた Grafana を使えるのかな。今、鋭意実装中みたいだけど期待できますね。cf. https://github.com/torkelo/grafana/wiki/InfluxDB

With version 1.5 Grafana now supports InfluxDB. The support is pretty basic with this first version.

追記の追記:触ってみました => Grafna on InfluxDB をちょっとだけ触ってみた

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
ユーザーは見つかりませんでした