きっかけ
仕事で
- 時系列のメタデータを保存、表示したい
- RDBだと厳しそう
- でも、好き勝手できるDBサーバはMySQLのみ
ってことがあり、何かいい方法、適切なDBは無いかと探していた。
そこにInfluxDB(時系列データベース)を見つけて、
- これだ!!
- けど、どうなん?(時系列データベース使ったことない)
- ちょっと試してみたいけど、好き勝手出来る環境がWindowsしかない
という状況から環境構築に取り掛かる。
しかし、環境構築に関してググってみるも
- WindowsにInfluxDBサーバを立てる情報が少ない
- そもそも日本語の情報が少ない
な感じだったので、自分のためも含めて環境構築メモを残しておきます。
ちょっとInfluxDBを試してみたいなんてときにも使えるかと思います。
(実際い構築してから少々時間がたってしまったため、バージョンが少し古いです、すみません)
セットアップ
InfluxDBと合わせて、Chronografもセットアップしました。
当然のことながら、目的はデータの貯め込みではなく見える化なので (^^;;
InfluxDB
ダウンロード
公式ページ からダウンロードする。
トップページの右上「Get InfluxDB」
→ 次のページの画面中央「Open Source」
→ 左側(InfluxDB)の「Download」
→ 「InfluxDB v1.7.8」
→ 少しスクロールして、「Windows Binaries (64-bit)」
からダウンロードする。
展開
ダウンロードしたファイルを「C:\influxdb」に解凍する。
設定ファイル変更
「influxdb.conf」を以下の通り変更する。
[meta]
# Where the metadata/raft database is stored
dir = "/var/lib/influxdb/meta"
↓
[meta]
# Where the metadata/raft database is stored
dir = "C:\\influxdb\\meta"
[data]
# The directory where the TSM storage engine stores TSM files.
dir = "/var/lib/influxdb/data"
# The directory where the TSM storage engine stores WAL files.
wal-dir = "/var/lib/influxdb/wal"
↓
[data]
# The directory where the TSM storage engine stores TSM files.
dir = "C:\\influxdb\\data"
# The directory where the TSM storage engine stores WAL files.
wal-dir = "C:\\influxdb\\wal"
[http]
# Determines whether HTTP endpoint is enabled.
# enabled = true
# Determines whether the Flux query endpoint is enabled.
# flux-enabled = false
# Determines whether the Flux query logging is enabled.
# flux-log-enabled = false
# The bind address used by the HTTP service.
# bind-address = ":8086"
# Determines whether user authentication is enabled over HTTP/HTTPS.
# auth-enabled = false
# The default realm sent back when issuing a basic auth challenge.
# realm = "InfluxDB"
# Determines whether HTTP request logging is enabled.
# log-enabled = true
↓
[http]
# Determines whether HTTP endpoint is enabled.
enabled = true
# Determines whether the Flux query endpoint is enabled.
# flux-enabled = false
# Determines whether the Flux query logging is enabled.
# flux-log-enabled = false
# The bind address used by the HTTP service.
bind-address = "localhost:8086"
# Determines whether user authentication is enabled over HTTP/HTTPS.
auth-enabled = false
# The default realm sent back when issuing a basic auth challenge.
# realm = "InfluxDB"
# Determines whether HTTP request logging is enabled.
log-enabled = true
フォルダ作成
「C:\influxdb」に、「meta」「data」「wal」」の3つのフォルダを作成する。
> mkdir meta
> mkdir data
> mkdir wal
InfuxDBの起動
コマンドプロンプトから、以下のコマンドを実行する。
> influxd.exe -config influxdb.conf
chronograf
ダウンロード
公式ページ からダウンロードする。
右上「Get InfluxDB」
→「Open Source」
→左側(InfluxDB)の「Download」
→「Chronograf v1.7.14」→Windows Binaries
展開
ダウンロードしたファイルを「C:\chronograf」に解凍する。
起動
コマンドプロンプトから以下のコマンドを実行する。
> chronograf.exe
Chronografの起動確認
ブラウザから「 http://localhost:8888/ 」にアクセス
DB作成
CLI
InfluxDBに接続
コマンドプロンプトから、以下のコマンドを実行する。
> influx -precision rfc3339
DBを作成する
コマンドプロンプトから、以下のコマンドを実行する。
> create database sample_database
作成したDBの確認
コマンドプロンプトから、以下のコマンドを実行する。
表示された一覧に「sample_database」があればOK
> show databases
利用するDBの変更
コマンドプロンプトから、以下のコマンドを実行する。
> use sample_database
動作確認
サンプルデータ
ダウンロード
とりあえず動作確認するために、公式ページにあるサンプルデータを使うと早い。
公式ドキュメント のページから、
- 左メニューの真ん中あたりより「Influx Query Language (InfluxQL)」→「Sample data」を開く。
- 右ページの真ん中より少し上くらいにある「Download and write the data to InfluxDB」からテキストファイルをダウンロードする
curl https://s3.amazonaws.com/noaa.water-database/NOAA_data.txt -o NOAA_data.txt
と書かれているので、URLの部分をブラウザにコピペすれば、「NOAA_data.txt」がダウンロードできる。
インポート
以下のコマンドを実行し、サンプルデータをインポートする
> influx -import -path=NOAA_data.txt -precision=s -database=NOAA_water_database
確認
Chronografで表示させてみる。
・・・Chronografの表示等の設定については、別の記事、Webサイトを参考にしてください m(_ _;)m
最後に
まとめてしまえば割と簡単な手順でしたが、情報が少なくて、きちんと起動するまでに少し手間取りました。
どなたかの参考になれば幸いです。