GrafanaでInfluxDBの値を表示する docker を使う


概要

いくつか、時系列データをGrafanaでみてみたいので、表示できるようにしたい。

結論

できた。

手順

InfluxDBを起動する

8083と8086にアクセスできるとして

docker pull influxdb:1.0.2-alpine
mkdir influxdb
cd influxdb
docker run -p 8083:8083 -p 8086:8086 \
      -v $PWD:/var/lib/influxdb \
      influxdb:1.0.2-alpine

InfluxDBへデータをいれる

1.0.2で試した。
1.0.2のコンテナからドキュメンテーションを押したら404になった。

データベースを作る

curl -i -XPOST http://localhost:8086/query --data-urlencode "q=CREATE DATABASE mydb"

データを書き込む

curl -i -XPOST 'http://localhost:8086/write?db=mydb' --data-binary 'cpu_load_short,host=server02 value=0.67
cpu_load_short,host=server02,region=us-west value=0.55 1422568543702900257
cpu_load_short,direction=in,host=server01,region=us-west value=2.0 1422568543702900257'

データを検索できるか試す(curl)

curl -GET 'http://localhost:8086/query?pretty=true' --data-urlencode "db=mydb" --data-urlencode "q=SELECT \"value\" FROM \"cpu_load_short\" WHERE \"region\"='us-west'"

データを検索できるか試す。Web Interface

Query 欄に、検索したいものをいれる。
from以降を変えると、ほかのデータを検索できる。

select value from cpu_load_short

最近のデータにする

上のデータが2015年のもののようなので、Grafanaで表示したときに最新のものになるようにしたい。

タイムスタンプは以下のようにして作成すると現在時刻になる

date "+%s%N"

Grafanaと連携する

grafanaのコンテナは以下を使った

monitoringartist/grafana-xxl:3.0

grafana-xxlについては

Datasourceを追加する

GUIでそれっぽくできるので、それで追加する。

Graphをつくる

Metricsのところで、FROMの右のdefaultの右側のところをクリックすると選択できるようになるので、
cpu_load_short を選択する

こんなかんじのグラフになる

これをみたらよさそうだった

わかりやすそうで、実際参考にさせてもらいました。
dweetとの連携もあった