家にあるRspberry PiでCPUの温度やら部屋の温度やらを記録しています。
Graphiteというのを使って、whisperというデータベースに保存しているのですが、久しぶりにみたらデータの保持期間やら、コマンドやらすっかり忘れていたので、忘備録としてまとめておきます。

データベースの場所

1
/var/lib/graphite/whisper/

上記の場所の下に更にディレクトリが切られていて、metric.wspというファイルがあります。
それがwhisperのDBです。
(ファイル名は環境や書き込んでいるデータによって任意に変わります)

データベースの情報をみる

whisper-infoコマンドで情報を見ることができます。

1
2
3
4
5
6
7
8
9
10
11
12
$ 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個になります。

実際に保持されているデータを参照するには下記のコマンドを実行します。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$ 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のサイズが足りなくなってきたら、サイズ変更が必要です。

1
2
3
4
5
6
7
$ 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 件のコメント :

コメントを投稿