確認/試行するいくつかのこと:
Statsd 用にグラファイトを構成する
Graphite で、Statsd がデータを送信する方法と一致する 保持スキーマと集計設定を使用していることを確認してください(つまり、10 秒のフラッシュ間隔ごとに 1 つのデータ ポイントを送信します)。
単一の Statsd アグリゲーターを実行する
複数の statsd デーモンを実行するとメトリックがドロップされるため、Statsd の 1 つのインスタンスのみを実行していることを確認してください (Graphite は、最高精度の 1 つのデータ ポイントのみを保存するように構成されているため10s:6h
) 。
UI または URL API の時間範囲を 6 時間未満に制限する
6 時間のしきい値を超えるデータ (たとえば、現在から 7 時間前まで) を含むグラフを表示すると、表示されたグラフの 1 分間分の集計カウント データが表示されるようになります ( で statsd 用に Graphite を構成した場合retentions = 10s:6h,1min:7d,10min:5y
)。ロールアップは、時間範囲内の最も古いデータ ポイントに基づいて発生します (たとえば、今から 7 日以上 = 10 分のロールアップが得られます)。
まばらまたは「バースト」データを送信し、かつ古い時間範囲を表示している場合 (集約のトリガー)
xFilesFactor が十分に低く、null の割合が高い場合でも、集計によって null 以外の値が生成されることを確認します。たとえば、最初の 10 秒間に 100 のリクエストがあり、1 分間に残りの 50 秒間に 100 のリクエストがない100, null, null, null, null, null
場合、XFilesFactor が 1/6 よりも高い場合、データが古くなるとストレージが合計されて null になります。statsd が推奨するグラファイト構成を使用すると、これを処理できますが、データが失われたように見える可能性があるため、知っておくとよいでしょう。
スキーマまたは集計の変更を保存する
メトリクスが保存された後にグラファイト スキーマまたは集計設定を変更した場合 (ウィスパー = グラファイトのストレージ)、メトリクスの .wsp ファイルを削除するか (グラファイトはそれらを再作成します)、実行する必要がありますwhisper-resize.py
。
設定の検証
.wsp ファイルで whisper-info.py を実行することにより、一部のウィスパー データに対して設定を確認できます。/graphite/storage/whisper/ でメトリックの 1 つの .wsp ファイルを見つけますwhisper-info.py my_metric_data.wsp
。whisper-info.py の出力は、ストレージ設定がどのように機能しているかについて詳しく教えてくれるはずです。
TLDR;
Graphite が StatsD からのメトリクスの 10 秒間隔ごとに 1 つのデータ ポイントを保存するように設定されていることを確認する必要があります。Graphite が Statsd からのカウント データを合計している (平均していない) ことを確認する必要があります。これらは両方とも、推奨されるStatsd 構成設定を使用して処理できます。複数の Statsd アグリゲーターを実行しないでください。UI を使用する場合は、返されるデータを 6 時間未満に制限するか、保持のしきい値を超えるデータを参照するときに、どのロールアップを表示しているかを理解してください。最後に、設定が有効であることを確認します (既にメトリックを送信している場合)。