時系列データベース InflexDB を触ってみる。

こんにちは k-jun です。今回は最近の時系列データベースである InflexDB を使っていこうと思います。

https://github.com/influxdata/influxdb

Docker を使って起動して見たいので、ひとまず DockerHub を見てみます。

https://hub.docker.com/_/influxdb

結構簡単に起動できそうですね。以下の値だけは Required で要求されているので必須ですが。

  • DOCKER_INFLUXDB_INIT_USERNAME: The username to set for the system's initial super-user.
  • DOCKER_INFLUXDB_INIT_PASSWORD: The password to set for the system's inital super-user.
  • DOCKER_INFLUXDB_INIT_ORG: The name to set for the system's initial organization.
  • DOCKER_INFLUXDB_INIT_BUCKET: The name to set for the system's initial bucket.
$ docker run -p 8086:8086 -e DOCKER_INFLUXDB_INIT_MODE=setup -e DOCKER_INFLUXDB_INIT_USERNAME=test -e DOCKER_INFLUXDB_INIT_PASSWORD=password-e DOCKER_INFLUXDB_INIT_ORG=test -e DOCKER_INFLUXDB_INIT_BUCKET=test influxdb

The InfluxDB image contains some extra functionality to automatically bootstrap the system. This functionality is enabled by setting the DOCKER_INFLUXDB_INIT_MODE environment variable to the value setup

とのことなので、DOCKER_INFLUXDB_INIT_MODE も設定しておきました。起動後に localhost:8086 にアクセスすると ダッシュボードが。

$ open http://localhost:8086/

なんか... データベースという範疇を超えてきたな... ドキュメントをよく見るとどうやらデータ送信の agent である Telegraf の設定もめちゃくちゃ簡単に扱えるみたい。

export INFLUX_TOKEN=XXXX
telegraf --config http://localhost:8086/api/v2/telegrafs/XXX

TOKEN と Config 生成して、環境変数に入れて telegraf コマンドドーン!! で済んでしまった...。やばすぎる

f:id:K-jun1221:20210823024629p:plain

普通にダッシュボード優秀だし... もう全部これでいいのでは...?? Chronograf なる可視化ツールが InflexDB ように存在するらしいが、必要無いのでは。 Prometheus のグラフはかなりやる気が無かったが、これは優秀に見える。地味に UTC と Local Time を変更可能なのが嬉しい...!

Prometheus + Grafana + Alert Manager と比較してみると。

  • All in One で解決出来るのは InflexDB のほうが強い。

  • Prometheus は Pull ベース。InflexDB は Push ベースの監視システムである。

  • Plugin はざっくり Prometheus のほうが多そう...?

今回体験した限りだと、だいぶアリに見えた...! 自前の環境だったらサクッと入れて見ると面白いかもしれない。

それでは今日はこのへんで。