家にある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 件のコメント :

コメントを投稿