web-dev-qa-db-ja.com

グラファイトはデータポイントを要約します

graphite を使用してデータを収集していますが、一定期間における特定のイベントの総数を取得したいと思います。たとえば、1週間あたりのログイン数です。

ただし、必要なのは総数だけであり、時間の経過とともにどのように変化するかを確認する必要はありません。

from=-1w&target=summarize(stats.events.login.success,"1w")&format=jsonのようなものを使用しても、twoデータポイントを取得します。ない1。

summarize関数から単一のデータポイントを取得する方法はありますか?または、別の関数を使用して単一のデータポイント値を返しますか?

19
gingerlime

ここでの問題は、summaryがデフォルトでfromフィールドに整列しないことです。

summarize(seriesList, intervalString, func='sum', alignToFrom=False)

もしあなたがそうするなら

from=-1w&target=summarize(stats.events.login.success,"1w","sum",true)&format=json

データポイントは1つだけ取得する必要があります。現在実行しているのは、fromパラメーターから始まる週の範囲内に収まらない日付にバケットを調整することです。そのため、最終的に2つのバケットになります。 graphite docs から要約:

デフォルトでは、バケットは最も近い間隔に丸めることによって計算されます。これは、1日より短い間隔でうまく機能します。たとえば、interval = 1hourの場合、22:32はバケット22:00〜23:00になります。

AlignToFrom = trueを渡すと、代わりに開始時刻からバケットが作成されます。この場合、22:32のバケットは開始時刻によって異なります。 from = 6:30の場合、22:32の1時間バケットは22:30-23:30です。

26
mmrobins

したがって、私にとっては、水曜日の週と15、16、または17日の月に分割されます。さらに、私のものはalignToFrom値を無視しているようです。同僚は、おそらくそれはインストール日またはwhispherdbが最初にインスタンス化されたときに基づいているという考えを持っていました。曜日が当てはまると私が信じるところでは、私たちは両方とも月の半ばに物を設置したとは思えません。

0
Jeffe