LoginSignup
3
2

More than 5 years have passed since last update.

influxDBの導入

Posted at

influxDBの導入

  • 時系列データを扱いたいと思い、influxDBを使ってみました。
説明 起動コマンド
dockerイメージから起動する場合 docker run -d -p 8083:8083 -p 8086:8086 -p 8090:8090 -p 8099:8099 --name influxdb1 soushi/influxdb:1.0
Centos:6イメージから新規に作成する場合 docker run -i -t -d -p 8083:8083 -p 8086:8086 -p 8090:8090 -p 8099:8099 -v /etc/localtime:/etc/localtime:ro --name influxdb1 centos:6 /bin/bash
  • dockerイメージが無い場合、Dockerfileから作成できます。
docker build [ -t {イメージ名} [ :{タグ名} ] ] <Dockerfileのあるディレクトリ>
  • Dockerfileからdockerイメージを作成するコマンド例
docker build -t soushi/influxdb:1.0 <Dockerfileのあるディレクトリ>
  • dockerイメージを作成するためのDockerfileの場所

~/OneDrive/docker/influxdb/Dockerfile

ポートを利用するライブラリ 目的 ポート番号
influxDB Web UI 8083
influxDB Comm. 8086
influxDB Raft for clustering 8090
influxDB Protobuf for clustering 8099

※ポート番号の解説はinfluxDB installationを参照

設定項目 設定値
influxdb本体 /usr/bin/influxdb
influxdb設定ファイル /opt/influxdb/shared/config.toml
influxdb pidファイル /opt/influxdb/shared/influxdb.pid

1 influxDBの導入を行います

1.0 dockerコンテナの起動

説明 起動コマンド
Centos:6イメージから新規に作成する場合 docker run -i -t -d -p 8083:8083 -p 8086:8086 -p 8090:8090 -p 8099:8099 -v /etc/localtime:/etc/localtime:ro --name influxdb1 centos:6 /bin/bash

1.1 influxDBのダウンロードとセットアップ

mkdir /usr/local/download/
cd /usr/local/download/
yum -y install wget
wget http://s3.amazonaws.com/influxdb/influxdb-latest-1.x86_64.rpm
rpm -ivh influxdb-latest-1.x86_64.rpm
/etc/init.d/influxdb start

2 influxDBでデータベースを作成します。

2-A CLIベースでデータベースとユーザーを作成します。

公式サイト参照

curl -X POST 'http://localhost:8086/db?u=root&p=root' -d '{"name": "grafanadb"}'
curl -X POST 'http://localhost:8086/db?u=root&p=root' -d '{"name": "grafanaconf"}'
curl -X POST 'http://localhost:8086/db/grafanadb/users?u=root&p=root' -d '{"name": "soushi", "password": "soushi"}'
curl -X POST 'http://localhost:8086/db/grafanaconf/users?u=root&p=root' -d '{"name": "soushi", "password": "soushi"}'
curl -X POST 'http://localhost:8086/db/grafanadb/users/soushi?u=root&p=root' -d '{"admin": true}'
curl -X POST 'http://localhost:8086/db/grafanaconf/users/soushi?u=root&p=root' -d '{"admin": true}'

2-B GUIベースでデータベースを作成します。

2-B.1 ホストVMから、influxDBのフロントエンド(8083番ポート)にアクセスします。

設定値
初期ログインID root
初期パスワード root
ホストネーム 10.0.0.1
ホストポート番号 8086

Grafana Fig 1.png

2-B.2 Grafanadbで利用するためのデータベースを2つ作成します。

設定値
データベース名 grafanadb
Shard Spaces Space名 default
Shard Spaces Retention inf
Shard Spaces Duration 7d
Shard Spaces RegEx /.*/
Shard Spaces RF 1
Shard Spaces Split 1
設定値
データベース名 grafanaconf
Shard Spaces Space名 default
Shard Spaces Retention inf
Shard Spaces Duration 7d
Shard Spaces RegEx /.*/
Shard Spaces RF 1
Shard Spaces Split 1

Grafana Fig 2.png

2-B.3 データベース操作用のユーザーを追加します。

設定値
データベース名 grafanadb
Username soushi
Password soushi
Admin? true(checked)
設定値
データベース名 grafanaconf
Username soushi
Password soushi
Admin? true(checked)

Grafana Fig 3.png

全コード

mkdir /usr/local/download/
cd /usr/local/download/
yum -y install wget
wget http://s3.amazonaws.com/influxdb/influxdb-latest-1.x86_64.rpm
rpm -ivh influxdb-latest-1.x86_64.rpm
/etc/init.d/influxdb start
curl -X POST 'http://localhost:8086/db?u=root&p=root' -d '{"name": "grafanadb"}'
curl -X POST 'http://localhost:8086/db?u=root&p=root' -d '{"name": "grafanaconf"}'
curl -X POST 'http://localhost:8086/db/grafanadb/users?u=root&p=root' -d '{"name": "soushi", "password": "soushi"}'
curl -X POST 'http://localhost:8086/db/grafanaconf/users?u=root&p=root' -d '{"name": "soushi", "password": "soushi"}'
curl -X POST 'http://localhost:8086/db/grafanadb/users/soushi?u=root&p=root' -d '{"admin": true}'
curl -X POST 'http://localhost:8086/db/grafanaconf/users/soushi?u=root&p=root' -d '{"admin": true}'
3
2
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
3
2