問題タブ [promql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
3786 参照

prometheus - PromQL の hour() 関数を使用するにはどうすればよいですか?

Prometheus の alert.rules ファイルで、特定の期間にのみ発生するアラートを設定しようとしています。expr-tag 内で時間制限なしで以下のコード ブロックを既にテストしましたが、まったく問題なく動作します。
PromQL Documentation: hour()が述べているようhour()に、現在の UTC に応じて 0 から 23 の間の値を返します。

ただし、ここではアラート通知は発生しません。なぜ何も解雇されないのか、どうすればそれを修正できるのか、誰もが知っていますか?

編集:私はすでにそれを解決しました。なぜ私がやっているようにそれをしなければならないのか理解できませんが、次のように動作し
ますand hour() > 5 and hour() < 22:and ON() hour() > 5 < 22

0 投票する
0 に答える
1107 参照

grafana - `label_replace` によって導入されたフィルター ベクター ベースの新しいラベル

Prometheus では、複数の http リクエスト行を を使用してグループにマージしようとしていlabel_replaceます。

私が書いたクエリは次のとおりです。

label_replace(http_requests_total, "class", "$1", "handler", "([a-zA-Z0-9]+)Controller.*").

これは正しく機能し、classラベルを vector :"AAAA","BBBB" などに追加します。この時点で、 empty や などの特定のクラスを削除したいと思いBBBBます。

次を使用してベクトルをさらにフィルタリングするにはどうすればよいですか{class~="BBBBB"}

label_replace(http_requests_total, "class", "", "handler", "([a-zA-Z0-9]+)Controller.*"){class~="BBBBB"}

そうしようとすると、Prometheus でエラーが表示されます。

0 投票する
1 に答える
2026 参照

grafana - プロメテウスの単純累積増加

特定の 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 日間のこれらのメトリックの増加の累積合計を示すグラフを作成するにはどうすればよいですか? たとえば、単純化された次のデータが与えられた場合

2 日目から 8 日目までのグラフを表示する場合、次のようにグラフに線を描画します。

ここで、d0 はグラフの初期値を表します

ありがとう