2016-07-29 10 views
5

sum(rate(my_counter_total[1m]))またはsum(irate(my_counter_total[20s]))で高速カウンタをグラフ化します。あなたがいつも最後の2〜3秒以内に変化を期待できる場合、第2のものは優先されます。プロメテウスとグラファナによる遅いカウンタのグラフ化

しかし、偶数時間の数分ごとに増分を計算するスローカウンターはどのようにグラフ化しますか? 0.0013232/sのような値を持つことは人間にとってはあまり面倒ではありません。

私のサービスにサインアップしているユーザーの数をグラフ化したいとしましょう(1時間に2回のサインアップが必要です)。合理的なクエリは何ですか?

我々は現在、grafanaでそれをグラフ化するために、次の使用

  • 問合せ:3600 * sum(rate(signup_total[1h]))
  • ステップ:3600
  • 解像度:1/1

Slow counter setup

ですこれは合理的ですか?

グラフを描画するためにこれらのパラメータがどのように一緒に動くかを理解しようとしています。範囲セレクタ([10m])、rate()irate()の機能、グラファナのStepResolutionの設定が互いにどのように影響するか説明できますか?

答えて

2

これは正しい方法です。また、rate()をそのまま使用するための構文糖であるincrease()を使用することもできます。

誰かがどのようにレンジセレクタ

説明することができます。こののみプロメテウスによって使用され、データがオーバー動作するかを示しています。

grafanaのステップと解像度の設定は互いに影響しますか?

これはGrafana側で使用され、プロメテウスから要求するタイムスライスの数に影響します。

これらの設定は相互に直接影響しません。しかし、解像度は範囲よりも小さくなるはずです。そうしないと、アンダーサンプリングして情報を見逃してしまいます。

+0

私はまだすべてをまとめるのに苦労しています。 1分あたりのインクリメント数を指定するカウンタの場合は、 'sum(increase(my_counter_total [1m])) 'を使用してレート/ mを表示します。これはgrafanaのステップを1mに、解像度を1/1に設定すると最も効果的です。したがって、プロットされたすべての値は1分あたりの発生数に対応します。しかし、大きな時間枠(30d)を選択すると、グラフは1mステップを多く要求するため、時間がかかります。 ステップを自動的に(空のままに)設定すると、値<1mの小さな時間枠で機能します。ステップが例えば10mの値はもう意味をなさない。 – James

+1

はい、そうです。私は、すべてが一貫して1秒になるように 'rate()'をつけておくことをお勧めします。これを改善するには、https://github.com/grafana/grafana/pull/4257が必要です。 –

+0

あなたが言ったPRは、まさにこのための解決策だと思われます!今のところ、私は推測するごとに毎秒の速度で行くつもりです... – James

関連する問題