InfluxDBをWindowsで起動する簡単手順（ついでにChronografも）

# きっかけ
仕事で

- 時系列のメタデータを保存、表示したい
- RDBだと厳しそう
- でも、好き勝手できるDBサーバはMySQLのみ

ってことがあり、何かいい方法、適切なDBは無いかと探していた。
そこにInfluxDB（時系列データベース）を見つけて、

- これだ！！
- けど、どうなん？（時系列データベース使ったことない）
- ちょっと試してみたいけど、好き勝手出来る環境がWindowsしかない

という状況から環境構築に取り掛かる。
しかし、環境構築に関してググってみるも

- WindowsにInfluxDBサーバを立てる情報が少ない
- そもそも日本語の情報が少ない

な感じだったので、自分のためも含めて環境構築メモを残しておきます。
ちょっとInfluxDBを試してみたいなんてときにも使えるかと思います。

（実際い構築してから少々時間がたってしまったため、バージョンが少し古いです、すみません）

# セットアップ
InfluxDBと合わせて、Chronografもセットアップしました。
当然のことながら、目的はデータの貯め込みではなく見える化なので (^^;;


## InfluxDB

### ダウンロード

 [公式ページ](https://www.influxdata.com/) からダウンロードする。
トップページの右上「Get InfluxDB」
→　次のページの画面中央「Open Source」
→　左側（InfluxDB）の「Download」
→　「InfluxDB v1.7.8」
→　少しスクロールして、「Windows Binaries (64-bit)」
からダウンロードする。

### 展開

ダウンロードしたファイルを「C:\influxdb」に解凍する。

### 設定ファイル変更

「influxdb.conf」を以下の通り変更する。

```INI:変更前
[meta]
  # Where the metadata/raft database is stored
  dir = "/var/lib/influxdb/meta"
```

　　　↓

```INI:変更後
[meta]
  # Where the metadata/raft database is stored
  dir = "C:\\influxdb\\meta"
```

```INI:変更前
[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"
```

　　　↓

```INI:変更後
[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"
```

```INI:変更前
[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
```

　　　↓

```INI:変更後
[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

### ダウンロード

 [公式ページ](https://www.influxdata.com/) からダウンロードする。
右上「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
```

# 動作確認

## サンプルデータ

### ダウンロード
とりあえず動作確認するために、公式ページにあるサンプルデータを使うと早い。
[公式ドキュメント](https://docs.influxdata.com/influxdb/v1.7/introduction/getting-started/) のページから、

- 左メニューの真ん中あたりより「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

# 最後に
まとめてしまえば割と簡単な手順でしたが、情報が少なくて、きちんと起動するまでに少し手間取りました。
どなたかの参考になれば幸いです。