web-dev-qa-db-ja.com

Prometheusクエリの戻り値から範囲ベクトルを生成する

タイプカウンターのメトリックvarnish_main_client_reqがあり、リクエストのレートが指定された時間内に特定の量(たとえば、「量過去2分間に逸脱した要求の数!」).

deriv() 関数を使用すると、相対値を比較するよりもはるかに機能するはずですが、ゲージでのみ使用できます。増え続けるメトリックを別名に変換することは可能ですか?定格メトリック別名。ゲージ?

クエリderiv(rate(varnish_main_client_req[2m])[5m])

期待値:Prometheusは、過去2分間のクライアント要求のレートを計算し、過去5分間の結果の値の導関数を返します。

実際の結果

"エラー": "文字48での解析エラー:範囲指定の前にメトリックセレクターを付ける必要がありますが、代わりに* promql.Callに従います"

レコーディングルール はオプションかもしれませんが、クエリで動作するはずのものの安価な回避策のように感じます。

my_gauge_metric = rate(some_counter_metric[2m])

13
Paul Voss

はい、これには記録ルールを使用する必要があります。

Prometheusは、過去2分間のクライアントリクエストのレートを計算し、過去5分間の結果の値の導関数を返します。

ここに問題があります-プロメテウスはどの間隔でこのデータを合成する必要がありますか?

6
brian-brazil