2016-08-12 19 views
1

私はプロメテウスでいくつかのモニタリングをしており、レート関数を正しく使う方法を理解しようとしています。プロメテウスのレート関数とインターバルの選択

前提はこれです。私はカウンタを持っています。この設定は15秒ごとに新しい値を取り込むように設定されています。今

私はそうレート機能を使用して、このの毎秒グラフ化しようとしている私は、このように実行します。私は、レート機能を解釈したよう

rate(pgbouncer_sent_bytes_total{job="pgbouncer", database="worker"}[1m]) 

は、クエリは私にローリングレートの平均を与えます(照会された各時点で1mの窓を振り返る)。ポイントの間隔は、使用される解像度によって指定されます。

以下は、プロメテウスのコンソールからのスクリーンショットです。生データグラフと、上のレートクエリのプロットから1mの解像度を使用しています。ここで得られたレートグラフは、下のグラフの未加工データを見て私の期待に実際には一致しません。

data graphs

興味深いビット、それも結果のグラフは、それがロードされた時点に応じて、非常に異なって見えるようにします。同じグラフを後で数回リロードするだけで、同じデータを表現しているように見えないポイントにルックスが完全にシフトします。下の画像は数分後の同じデータセットですが、その後も数秒後に発生します。

rate reloaded graph

誰かが本当にここで何が起こっているかについていくつかの光を当てますか?

+0

また、レート計算が不安定であり、再ロードを伴うvarriesにも注意してください。レートの計算は、インターバル内の最初と最後の測定値の傾きを見るだけではなく、おそらく別の方法も用意する必要があります。 https://github.com/prometheus/prometheus/blob/master/promql/functions.go#L50 – eckes

答えて

2

あなたの言うことはデータと一致しません。その生データは約1分に1回しか上向きません。 15秒ごとに掃除をしていますか?

+0

はい、ズームインすると明らかになります。また、これは単に範囲の選択/解像度を拡大することで解決することができます。それはしません。私はシリーズの例を含めましたが、同じ問題がすべてのシリーズに存在しています。 – Pelleplutt

+2

問題はあなたの掻き取りです。 1分の掻き取り間隔と1分の範囲の組み合わせは、レースに非常に敏感です。 –

関連する問題