家にあるRspberry PiでCPUの温度やら部屋の温度やらを記録しています。
Graphiteというのを使って、whisperというデータベースに保存しているのですが、久しぶりにみたらデータの保持期間やら、コマンドやらすっかり忘れていたので、忘備録としてまとめておきます。
## データベースの場所
```
/var/lib/graphite/whisper/
```
上記の場所の下に更にディレクトリが切られていて、metric.wspというファイルがあります。
それがwhisperのDBです。
(ファイル名は環境や書き込んでいるデータによって任意に変わります)
## データベースの情報をみる
whisper-infoコマンドで情報を見ることができます。
```bash
$ whisper-info metric.wsp
maxRetention: 86400
xFilesFactor: 0.5
aggregationMethod: average
fileSize: 17308
Archive 0
retention: 86400
secondsPerPoint: 60
points: 1440
size: 17280
offset: 28
```
上記の情報を見ると、60秒間隔(secondsPerPoint)で86400秒分のデータ(maxRetention)を保持できるようになっています。
保持できるデータの数は1440個になります。
実際に保持されているデータを参照するには下記のコマンドを実行します。
```bash
$ whisper-dump metric.wsp
Meta data:
aggregation method: average
max retention: 86400
xFilesFactor: 0.5
Archive 0 info:
offset: 28
seconds per point: 60
points: 1440
retention: 86400
size: 17280
Archive 0 data:
0: 1457856000, 50
1: 0, 0
2: 0, 0
3: 0, 0
4: 0, 0
5: 0, 0
6: 0, 0
:
```
## サイズ変更
さて、DBのサイズが足りなくなってきたら、サイズ変更が必要です。
```bash
$ whisper-resize metric.wsp
Retrieving all data from the archives
Creating new whisper database: metric.wsp.tmp
Created: metric.wsp.tmp (12614428 bytes)
Migrating data...
Renaming old database to: metric.wsp.bak
Renaming new database to: metric.wsp
```
新しいデータには昔のデータは引き継がれませんので注意が必要です。
(昔のデータは.bkがついて残ります)
家の温度なんかの情報をwhisperで保存しているけど、長期的に保存する場合は普通のBDの方がよかったのだろうか。
今後検討が必要になってくるかもしれません。
移行が必要になったとしても、簡単なスクリプトで移行できそうな気がします。
0 件のコメント :
コメントを投稿