Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
71
72

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

InfluxDB を10分だけ触ってみた

Last updated at Posted at 2014-04-03

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 をちょっとだけ触ってみた

71
72
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
71
72

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?