私のアプリでは、各国のWebSocket ping時間のヒストグラム設定があり、国ごとのヒストグラムが1つあります。 Grafanaでは私はこれは完全にうまく機能し、次のクエリPrometheusのヒストグラムとNaN値を含む平均化セット
rate(country_ping_sum{country=~"AU|NZ|CA|GB|US",instance="$instance"}[15m])/rate(country_ping_count{country=~"AU|NZ|CA|GB|US",instance="$instance"}[15m])
経由で最も興味があるいくつかの国の平均ping時間のグラフを持っています。私は各国のグラフを取得します。今私は同じグラフに、他のすべての国の平均を1つにまとめたいと考えています。
avg(rate(country_ping_sum{country!~"AU|NZ|CA|GB|US",instance="$instance"}[15m])/rate(country_ping_count{country!~"AU|NZ|CA|GB|US",instance="$instance"}[15m]))
これは失敗します。 PrometheusコンソールのPrometheusクエリでクエリを実行しようとすると、NaNという値が得られます。同じクエリを使用してavg()関数を削除した場合、一致するすべての国のリストを取得し、一部には値があり、一部にはNaNがあります。国の多くは、合計とカウントの両方で0の率を持っています。明らかに、0によるそれらの除算は、それらの特定の国のNaNに相当します。
私の質問は、どのようにavg()に渡す前にNaN値をフィルタリングできますか?
それはそれでした!クイック応答ブライアンありがとう! – Brent