私はプロメテウスでいくつかのモニタリングをしており、レート関数を正しく使う方法を理解しようとしています。プロメテウスのレート関数とインターバルの選択
前提はこれです。私はカウンタを持っています。この設定は15秒ごとに新しい値を取り込むように設定されています。今
私はそうレート機能を使用して、このの毎秒グラフ化しようとしている私は、このように実行します。私は、レート機能を解釈したよう
rate(pgbouncer_sent_bytes_total{job="pgbouncer", database="worker"}[1m])
は、クエリは私にローリングレートの平均を与えます(照会された各時点で1mの窓を振り返る)。ポイントの間隔は、使用される解像度によって指定されます。
以下は、プロメテウスのコンソールからのスクリーンショットです。生データグラフと、上のレートクエリのプロットから1mの解像度を使用しています。ここで得られたレートグラフは、下のグラフの未加工データを見て私の期待に実際には一致しません。
興味深いビット、それも結果のグラフは、それがロードされた時点に応じて、非常に異なって見えるようにします。同じグラフを後で数回リロードするだけで、同じデータを表現しているように見えないポイントにルックスが完全にシフトします。下の画像は数分後の同じデータセットですが、その後も数秒後に発生します。
誰かが本当にここで何が起こっているかについていくつかの光を当てますか?
また、レート計算が不安定であり、再ロードを伴うvarriesにも注意してください。レートの計算は、インターバル内の最初と最後の測定値の傾きを見るだけではなく、おそらく別の方法も用意する必要があります。 https://github.com/prometheus/prometheus/blob/master/promql/functions.go#L50 – eckes