InfluxDBとGrafanaのDockerコンテナの作成方法

この記事のまとめ:
  • 時系列データベースのInfluxDBと、データの可視化ツールのGrafanaをDockerコンテナとして動かして、組み合わせてデータの表示の実行方法を紹介します。
背景

以前InfluxDBをUbuntuにインストールして使ってみましたが、Dockerの勉強がてらにDockerコンテナでIndluxDBを動かしてみようと思ってやってみました。

また、InfluxDBと組み合わせてよく使われているデータの可視化ツールのGrafanaも興味があったのでこれもあわせてDockerコンテナで動かしてみようと思います。

はじめに

Dockerの実行環境は整っているものとして進めます。また、本記事ではDockerのインストール方法やDockerコマンド等の説明はしません。

私の環境は下記の通りです。

  • Ubuntu 16.04 (Intel 64bit)
  • Docker version 17.03.2-ce, build f5ec1e2
InfluxDBとGrafanaのコンテナの実行

正直言って、以前行ったインストールの作業はバカバカしくなるくらいコンテナを使うと楽です。

まずは、InfluxDBのコンテナとGrafanaのコンテナを立ち上げるdocker-compose.ymlファイルを用意します。

version: "3"
services:
  influxdb:
    image: influxdb:latest
    ports:
      - "8086:8086"
    volumes:
      - ./influxdb/data:/var/lib/influxdb
  grafana:
    image: grafana/grafana:latest
    ports:
      - "3000:3000"
    volumes:
      - ./grafana/dashboards:/etc/grafana/provisioning/dashboards
      - ./grafana/datasources:/etc/grafana/provisioning/datasources
    depends_on:
      - influxdb

それぞれのサービスのデータの永続化のために、ホストのカレントディレクトリ配下に./influxdb./grafanaにそれぞれのデータが保存されるようにしています。

あとは、下記のコマンドでコンテナが立ち上がります。

$ sudo docker-compose up -d

コンテナが立ち上がっているかどうか下記のコマンドで確認します。 StateがUpになっていればコンテナが立ち上がっています。

$ docker-compose ps
                 Name                            Command           State           Ports
-------------------------------------------------------------------------------------------------
xxxxxxxxxxxxxxx_grafana_1_ff4e89243e43    /run.sh                  Up      0.0.0.0:3000->3000/tcp
xxxxxxxxxxxxxxx_influxdb_1_bdf5067520fe   /entrypoint.sh influxd   Up      0.0.0.0:8086->8086/tcp
InfluxDBの動作確認

InfluxDBに接続してバージョンを確認してみます。 8086ポートをInfluxDBコンテナにつなぐようにしていますので、ホスト側で下記のコマンドでバージョンを確認できます。

$ curl -sl -I http://localhost:8086/ping
HTTP/1.1 204 No Content
Content-Type: application/json
Request-Id: 0072d4e5-1b45-11e9-8004-0242ac140002
X-Influxdb-Build: OSS
X-Influxdb-Version: 1.7.2
X-Request-Id: 0072d4e5-1b45-11e9-8004-0242ac140002
Date: Fri, 18 Jan 2019 17:17:58 GMT

正しくバージョンが表示できるようであればInfluxDBコンテナの動作に問題ないと思いますので、あとは自由に使えばよいです。

例えば、データベースを新規で作成してみます。 下記コマンドで"mydb"という名前のデータベースを作成できます。

$ curl -i -XPOST http://localhost:8086/query --data-urlencode "q=CREATE DATABASE mydb"
Grafanaの動作確認

GrafanaをInfluxDBと連携してみます。

ブラウザを開き、"localhost:3000"を表示します。 初回接続時はそのまま"Log in"ボタンを押せばよいです。

するとパスワードの変更を要求されますので、変更してもいいですし、スキップしてもいいです。

"Home Dashboard"が表示されます。まずは"Add data source"を押し、データベースの情報を登録します。

InfluxDBを押します。

InfluxDBの設定回りを登録します。 InfluxDBの初期ユーザー名と初期パスワードはどちらも"admin"です。

また、先ほど作成した"mydb"を今回は選択しています。"Save & Test"を押すと接続テストをしてくれるので問題なければ"Back"を押してホームに戻ります。

最後に新しいダッシュボードを作ります。"New dashboard"を押します。

どういったダッシュボードを作るか選択がいろいろできるますので、用途に合わせて作ればよいです。今回はデータベースにデータが入っていないので割愛しますがそのあとの操作も非常に簡単です。


今回は以上です。 最後まで読んでいただき、ありがとうございます。
関連記事




コメント

このブログの人気の投稿

LinuxでのnVidia GPUのオーバークロック・電力チューニング方法

【レビュー】 格安VPSサービスTime4VPSを1年強使ってみてわかったメリット・デメリット・注意点