Graphiteの不正データを補正する

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 件のコメント :

コメントを投稿