1

グラファイトとカーボンデーモンのパフォーマンスに関するデータを収集しようとしています。幸いなことに、カーボン デーモンは 60 秒ごとにグラファイトに報告し、受信したメトリックの数など、その動作に関するいくつかの統計を報告します。

私はstatsdを使用して統計を集計し、それらをカーボンデーモンに毎秒フラッシュしていますが、特定の時間間隔で受信したメトリックの数を表示するように設定すると、奇妙な動作に気付きました。Grafanaを使用して Graphite インスタンスに接続し、そこからデータを引き出しています。statsd が実行されていないときに、受信したメトリクスの数を調べると常に 0 のままです。これは、何も送信していないことを考えると奇妙ではありません。ただし、statsd を開始すると、この画像に見られるように、まだ統計を送信していなくても、数値は 1 分あたり約 800/900 に急速に上昇します。 statsd の実行中に受信したメトリクス

これらの指標がどこから来ているのか、なぜ毎秒 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
4

2 に答える 2

1

Statsd は、間隔ごとに同じ数のメトリクスをカーボンに報告します。statsd がヒットしたメトリクスの数は関係ありません。10 秒または 60 秒ごとに同じグループの集計統計をバックエンドに書き込んでいます。

于 2015-06-16T16:29:41.957 に答える
1

独自のメトリックを statsd に送信していなくても、statsd は独自のパフォーマンス メトリックを Graphite に送信すると思います。たとえば、私は見つけることができstats.statsd.processing_timeますstats.statsd.graphiteStats.*...

Carbon と同じで、何も送信していない場合でも、受信したメトリックの数のメトリックを取得します。それらを内部指標と考えてください。

https://github.com/etsy/statsd/blob/1590bcf56ea1a3ac167f62fba3d599b65582d5ea/docs/admin_interface.mdおよびhttps://github.com/etsy/statsd/blob/917a3e4276daf2587c30fcfcce65b0066e776626/backends/graphite.jsを確認して ください。

于 2015-04-17T07:36:09.403 に答える