グラファイトとカーボンデーモンのパフォーマンスに関するデータを収集しようとしています。幸いなことに、カーボン デーモンは 60 秒ごとにグラファイトに報告し、受信したメトリックの数など、その動作に関するいくつかの統計を報告します。
私はstatsdを使用して統計を集計し、それらをカーボンデーモンに毎秒フラッシュしていますが、特定の時間間隔で受信したメトリックの数を表示するように設定すると、奇妙な動作に気付きました。Grafanaを使用して Graphite インスタンスに接続し、そこからデータを引き出しています。statsd が実行されていないときに、受信したメトリクスの数を調べると常に 0 のままです。これは、何も送信していないことを考えると奇妙ではありません。ただし、statsd を開始すると、この画像に見られるように、まだ統計を送信していなくても、数値は 1 分あたり約 800/900 に急速に上昇します。
これらの指標がどこから来ているのか、なぜ毎秒 15 の割合で発生するのか、私は途方に暮れています。また、statsd を開始するたびに、CPU の負荷が約 10% 増加します。私が気付いたのは、statsd のフラッシュ間隔を増やすと、受信するメトリックの数が減少することです。
これは statsd の構成ファイルです。
{
graphitePort: 2003,
graphiteHost: "127.0.0.1",
port: 8125,
backends: ["./backends/graphite"],
flushInterval: 1000, // Don't increase this past the lowest retention schema of graphite
prefixStats: "test",
graphite: {
legacyNamespace: false
}
}
グラファイトのストレージ スキーマは次のとおりです。
[carbon]
pattern = ^carbon\.
retentions = 60s:90d,300s:365d
[stats]
pattern = ^stats\..*
retentions = 1:2160,10:2160,60:10080,600:262974
[system]
pattern = ^system\..*
retentions = 10:2160,60:10080,600:262974