プロメテウスで監視を行っており、レート関数を適切に使用する方法を理解しようとしています。
前提はこれです。カウンターがあります。これの構成は、15 秒ごとに新しい値を取り込むように設定されています。
今、これの 1 秒あたりのレートをグラフ化しようとしているので、レート関数を使用して次のようにします。
rate(pgbouncer_sent_bytes_total{job="pgbouncer", database="worker"}[1m])
レート関数を解釈すると、クエリにより、クエリが実行された各時点でのローリング レート平均 (1m のルック バック ウィンドウで) が得られます。ポイントの間隔は、使用する解像度によって指定されます。
以下は、プロメテウス コンソールのスクリーンショットで、生データ グラフと、1m の解像度を使用した上記のレート クエリのプロットを含みます。ここで得られたレート グラフは、下のグラフの生データを見て、私の期待と実際には一致しません。
興味深いのは、ロードされた時点によって結果のグラフが大きく異なることです。同じグラフを数回再ロードするだけで、同じデータを表しているように見えないところまで見た目が完全にシフトします。下の画像は数分後の同じデータセットですが、数秒後でも同じことが起こります。
ここで実際に何が起こっているのか、誰かが光を当てることができますか?