Prometheus 使用grafana duration变量对普罗米修斯数据进行重采样

Prometheus 使用grafana duration变量对普罗米修斯数据进行重采样,prometheus,grafana,grafana-variable,Prometheus,Grafana,Grafana Variable,我有一个普罗米修斯度量衡x,它模拟每秒的速率。我的目标是创建一个Grafana仪表板,该仪表板显示该速率的条形图,并在各种聚合级别上通用,例如“过去60分钟的平均速率” 对于固定的持续时间(如60分钟),这是很简单的。我们取普罗米修斯的平均值,乘以时间窗口中的秒数: avg_over_time( x[60m] ) * 60 * 60 使用此固定查询,还可以轻松创建Grafana仪表板,该仪表板显示每小时一个“条形图”(将“最小步长”设置为60m),其大小由上述查询定义 我想让这个可视化在取平均

我有一个普罗米修斯度量衡
x
,它模拟每秒的速率。我的目标是创建一个Grafana仪表板,该仪表板显示该速率的条形图,并在各种聚合级别上通用,例如“过去60分钟的平均速率”

对于固定的持续时间(如60分钟),这是很简单的。我们取普罗米修斯的平均值,乘以时间窗口中的秒数:

avg_over_time( x[60m] ) * 60 * 60
使用此固定查询,还可以轻松创建Grafana仪表板,该仪表板显示每小时一个“条形图”(将“最小步长”设置为60m),其大小由上述查询定义

我想让这个可视化在取平均值的时间跨度内通用。为此,我在Grafana中定义了一个“duration”变量
$duration
。然而,我仍停留在如何表述普罗米修斯的疑问上:

avg_over_time( x[$duration] ) * ???
由于
$duration
不是一个数字,而是一个字符串,比如
60m
,我不能简单地在这里取
$duration*60
。如何将
$duration
的内容转换为秒数


谢谢大家!

这是你暴露自己的指标吗?提问,因为如果你暴露了一个计数器,而不是一个量具,这将是一个很容易回答的问题。它应该只包含请求的总数,而不是包含实际速率的度量。然后,您可以在任何给定的持续时间内对RPS进行评级(度量[$\u rate\u interval])。这是您自己公开的度量吗?提问,因为如果你暴露了一个计数器,而不是一个量具,这将是一个很容易回答的问题。它应该只包含请求的总数,而不是包含实际速率的度量。然后,您可以在任何给定的持续时间内对RPS进行评级(度量[$\uu rate\u interval])。