Raspberry piで部屋の温度を測定してGraphiteに記録しているが、部屋の温度がマイナスになっていることがあった。
調べたらデータを編集できるみたいなので、マイナス値をマイナスになる前の値で補正してみた。
## 使うコマンド
|コマンド|意味|
|whisper-dump|データの内容を参照する|
|whisper-update|データを更新する whisper-update :|
## 記録データの参照
まずは、記録されているデータを見てみる。
因みに、データは/var/lib/graphite/whisper の下にある。
```shell
$ whisper-dump temp.wsp
```
下記のようにデータが入っている。
```shell
Meta data:
aggregation method: average
max retention: 157680000
xFilesFactor: 0.5
Archive 0 info:
offset: 28
seconds per point: 600
points: 262800
retention: 157680000
size: 3153600
Archive 0 data:
0: 1458796200, 19.600000000000001421085471520200372
1: 1458796800, 19.519999999999999573674358543939888
2: 1458797400, -40.600000000000001421085471520200372
3: 1458798000, 19.359999999999999431565811391919851
4: 1458798600, 19.199999999999999289457264239899814
5: 1458799200, 19.199999999999999289457264239899814
6: 1458799800, 19.199999999999999289457264239899814
```
/tmp/temp.txtに保存して、ヘッダーの余計なものをけづっておいた。
## 記録データのアップデート
whisper-updateは引数は時間:値で設定する。
whisper-dumpで取得したデータをawkでいじってマイナス値だけ直前の正常値で補正してやる。
```shell
cat /tmp/temp.txt | awk 'NR<=20418 {if($3 > 10){a=$3}else{gsub(",","",$2);if($2 > 0){print $2 ":" a}}}' | xargs -n 1 sudo whisper-update temp.wsp
```
whisper-updateはsudoしないと、temp.wspを更新できなかった。
## 参考URL
(http://www.perehospital.cat/blog/graphite-how-to-update-a-whisper-database-data-point)
0 件のコメント :
コメントを投稿