Raspberry piで部屋の温度を測定してGraphiteに記録しているが、部屋の温度がマイナスになっていることがあった。
調べたらデータを編集できるみたいなので、マイナス値をマイナスになる前の値で補正してみた。
使うコマンド
|コマンド|意味| |whisper-dump|データの内容を参照する| |whisper-update|データを更新する whisper-update <unix時間>:<value>|
記録データの参照
まずは、記録されているデータを見てみる。
因みに、データは/var/lib/graphite/whisper の下にある。
1 | $ whisper-dump temp.wsp |
下記のようにデータが入っている。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | 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でいじってマイナス値だけ直前の正常値で補正してやる。
1 | 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)
</value></unix時間>
0 件のコメント :
コメントを投稿