stats.message.foo
にカウンターがあり、stats.messages.foo
に移動したいと考えています。
コードを更新して新しいカウンターを設定しましたが、古いカウンターはまだ残っています。
私は read グラファイトから統計を削除するために必要なのは、ディスク上の適切なウィスパーファイルを削除することだけですが、wsp
を削除してから数秒以内に(データなしで)再生成されます。
データが格納されているキーの名前を変更したい場合、これは煩わしいですどのキーが正しいかを覚えておく必要があります。
誰かが古いカウンターを永久に削除する方法を知っていますか?
ウィスパーファイル(.wsp)を削除した後でも、statsd(その設定によって異なります)が古い統計(ウィスパーファイル)にデータを書き込み続けるため、多くの人がこの問題(私を含む)に苦労しています。
/etc/statsd/config.js(Ubuntu)でstatsd設定を確認します。 https://github.com/etsy/statsd/blob/master/exampleConfig.js の設定例。 deleteIdleStatsをtrueに設定して、受信されていないときにstatsdが統計を書き込まないようにすることをお勧めします。
deleteIdleStatsの欠点は、Graphiteが特定の統計に対してnull値を持つ可能性があることです。これは可視化レイヤーで処理できます(私はGrafanaをお勧めします)。
削除されたウィスパーファイルの再生成を停止するには、2つのオプションがあります。
service statsd restart
でstatsdを再起動するか、service statsd restart
不要になったwspファイルを削除するには:
find pathToUnwantedStatistic -print
find pathToUnwantedStatistic -delete
同様の問題がありましたが、利用可能なデータはありませんが、グラファイトにまだエントリが存在していました。私はstatsdを使用していますが、そこにもメトリックがありませんでした。 wspファイルに加えて、これらのフォルダーも削除する必要があることがわかりました。
私の正確なケースは、statsdのプレフィックスとしてマシン名を使用したことです。 Carbonは、たとえば/ opt/graphite/storage/whisper/stats/ip-0A215A08に各マシンのフォルダーを作成し、そこに私のメトリックのwspを保存しました。そのため、wspファイルを削除した後も、UIに表示されていたデータのない「フォルダ」の束がGraphiteに残っていました。
カーボン/グラファイトのチェック
Statsd(使用している場合)で、削除するメトリックのゲージ、タイマー、またはカウンターがなくなったことを確認します。これを行うには、インスタンス(デフォルトポート8126)でtelnetを実行し、プロセスを強制終了する代わりに Admin interface の適切なコマンドを使用してメトリックを確認することもできます。
上記の答えのいずれも私の場合には役に立ちませんでした。私はこれを私を助けるstackoverflowで見つけました: https://stackoverflow.com/questions/15501677/deleted-empty-graphite-whisper-files-automatically-re-generating#answer-20011928
同じ問題がありました。最初に、実行中のStatsDサーバーを強制終了することにより、ディレクトリを削除することができました。おそらくこれはあなたが抱えていたのと同じ問題です。
pkill statsd
何かがまだ古いメトリックを送信しているに違いないことを他の人に同意します。
理想的には、これを解決するためにクライアントの問題に対処しますが、 whisperのブラックリスト機能 を使用して、サーバー側でそのメトリックを拒否することもできます。
これをする:
USE_WHITELIST=True
の/opt/carbon/conf/carbon.conf
を確認してください/opt/carbon/conf/blacklist.conf
に追加