特定の HTTP リクエストを受信したときに Prometheus カウンターをインクリメントするアプリケーションがあります。アプリケーションは Kubernetes で実行され、複数のインスタンスがあり、1 日に複数回再デプロイされます。クエリを使用すると、予想どおり、インスタンスごとの累積リクエスト数を表示http_requests_total{method="POST",path="/resource/aaa",statusClass="2XX"}
するグラフが生成されます。
過去 7 日間に受信したリクエストの累積頻度を示す Grafana グラフを作成したいと考えています。
私が最初に考えたincrease(...[7d])
のは、7 日間のウィンドウの外で始まるすべてのメトリック (表示されている画像のように) とsum
それらの値を説明するために使用することでした。
私は、実際にはポイントインタイムsum(increase(http_requests_total{method="POST",path="/resource/aaa",statusClass="2XX"}[7d]))
の正しい答えを与えることに気づきました。ただし、結果のグラフは、コンポーネントの値が週に沿って増加/減少するため、要求されたものとはまったく異なります。increase(...)
過去 7 日間のこれらのメトリックの増加の累積合計を示すグラフを作成するにはどうすればよいですか? たとえば、単純化された次のデータが与えられた場合
| Day | # Requests |
|-----|------------|
| 1 | 10 |
| 2 | 5 |
| 3 | 15 |
| 4 | 10 |
| 5 | 20 |
| 6 | 5 |
| 7 | 5 |
| 8 | 10 |
2 日目から 8 日目までのグラフを表示する場合、次のようにグラフに線を描画します。
| Day | Cumulative Requests |
|-----|---------------------|
| d0 | 0 |
| d1 | 5 |
| d2 | 20 |
| d3 | 30 |
| d4 | 50 |
| d5 | 55 |
| d6 | 60 |
| d7 | 70 |
ここで、d0 はグラフの初期値を表します
ありがとう