计算多个prometheus metrics的百分比并显示在Grafana中
Calculate percentage of multiple prometheus metrics and display in Grafana
我有以下指标:
total_number_of_visitors
这是一个 gauge
,访问者进入网站时增加,离开时减少
paid_visitors
这是一个 counter
,当付费访问者进入网站并停留至少 5 分钟时递增。
这些指标中的每一个都有两个通用标签 device
[移动、桌面、其他] 和 browser
[ Chrome、Safari、Firefox、Edge、其他]
我想计算使用 PromQL 的付费访问者的百分比,并按这两个标签中的任何一个进行过滤,以显示在 Grafana 的图表中。
我该怎么做?
以下查询将 return 过去 5 分钟内网站上付费访问者的平均百分比:
100 * rate(paid_visitors[5m]) / avg_over_time(total_number_of_visitors[5m])
按 device
和 browser
标签过滤可以按以下方式执行:
100 * rate(paid_visitors{device="$device",browser="$browser"}[5m]) / avg_over_time(total_number_of_visitors{device="$device",browser="$browser"}[5m])
只需将 $device
和 $browser
替换为所需的值即可。
分组为device
和browser
标签可以通过以下方式进行:
100 * sum(rate(paid_visitors[5m])) by (device, browser) / sum(avg_over_time(total_number_of_visitors[5m])) by (device, browser)
我有以下指标:
total_number_of_visitors
这是一个 gauge
,访问者进入网站时增加,离开时减少
paid_visitors
这是一个 counter
,当付费访问者进入网站并停留至少 5 分钟时递增。
这些指标中的每一个都有两个通用标签 device
[移动、桌面、其他] 和 browser
[ Chrome、Safari、Firefox、Edge、其他]
我想计算使用 PromQL 的付费访问者的百分比,并按这两个标签中的任何一个进行过滤,以显示在 Grafana 的图表中。 我该怎么做?
以下查询将 return 过去 5 分钟内网站上付费访问者的平均百分比:
100 * rate(paid_visitors[5m]) / avg_over_time(total_number_of_visitors[5m])
按 device
和 browser
标签过滤可以按以下方式执行:
100 * rate(paid_visitors{device="$device",browser="$browser"}[5m]) / avg_over_time(total_number_of_visitors{device="$device",browser="$browser"}[5m])
只需将 $device
和 $browser
替换为所需的值即可。
分组为device
和browser
标签可以通过以下方式进行:
100 * sum(rate(paid_visitors[5m])) by (device, browser) / sum(avg_over_time(total_number_of_visitors[5m])) by (device, browser)