InfluxDBデータのbackup,restore
Influxdbは,時系列データベースの1つです.時系列データを格納するのに適したデータベースで,メトリクスやイベントの保存や解析が便利になっています.インストール方法や基本的な使い方については各所に分かり易記事がでているので,本エントリーではデータのbackup,restoreについて記載します.基本的には公式のBackup and Restoreの要約です.
backup
influxDBデータには,metaデータと実データがあります.metaデータにはユーザデータ,database名,continuous queries等が入っています.
これのバックアップは,以下のコマンドで可能です.
$ influxd backup /path/to/backup
2016/02/01 17:15:03 backing up metastore to /tmp/backup/meta.00
2016/02/01 17:15:03 backup complete
問題なければ,上記のようなログがはかれて,/tmp/backup/meta.00
にmetaデータが保存されます./tmp/backup/
がない場合は新しいdirectoryが作成されます.
実データ(データベース)のバックアップは,
$ influxd backup -database mydatabase /path/to/backup
で行います.オプションとしてretention policyやshard ID,時間指定が可能です.
$ influxd backup -database telegraf -retention default -since 2016-02-01T00:00:00Z /tmp/backup
問題なければ,/tmp/backup
内にmetadataとdatabaseファイルが作成されます.
restore
restoreする際にはまず,service influxsdb stop
等でInfluxDBを一時停止してください.
metadataのrestoreは
$ influxd restore -metadir /var/lib/influxdb/meta /tmp/backup
にて行います.
また,databaseのrestoreは,
$ influxd restore -database telegraf -datadir /var/lib/influxdb/data /tmp/backup
にて行います.
一度restoreをすると,shardのパーミッションが変更されてしまう場合があるので,
$ sudo chown -R influxdb:influxdb /var/lib/influxdb
で設定し直し,最後に
$ service influxdb start
でInfluxDBを再起動します.
OSXの場合
上記の,/var/lib/influxdb/meta
や/var/lib/influxdb/data
はlinuxの場合のmetadata,databaseの保存場所です.OSXの場合はどこになるのかの記載がなく大分迷いましたが,
公式のDatabase Configurationをみるとデフォルトではそれぞれ**/Users/<username>/.influxdb/meta
,/Users/<username>/.influxdb/data
**になっているようです.