Prometheus 普罗米修斯+;grafana:如何绘制每个时隙的事件图

Prometheus 普罗米修斯+;grafana:如何绘制每个时隙的事件图,prometheus,grafana,Prometheus,Grafana,我一直在努力在grafana中绘制一个图表,显示每x单位时间内的事件数,如1分钟、5分钟、30秒等。为了了解我在寻找什么,请参见下图: 我想要一个图表,显示X轴上的时隙(如5分钟时隙、5.30-5.35、5.35-5.40等等),Y轴显示每个时隙的事件 我已经配置了一个计数器,我可以使用普罗米修斯的递增函数来查找一段时间内(比如1m)的事件增量,如下所示: 增加(mycounter[1m]) 但是生成的图形与我想要的不一样。它给出的是随时间窗口的平均增长,而不是每个时间窗口的确切增长 这是可以

我一直在努力在grafana中绘制一个图表,显示每x单位时间内的事件数,如1分钟、5分钟、30秒等。为了了解我在寻找什么,请参见下图:

我想要一个图表,显示X轴上的时隙(如5分钟时隙、5.30-5.35、5.35-5.40等等),Y轴显示每个时隙的事件

我已经配置了一个计数器,我可以使用普罗米修斯的递增函数来查找一段时间内(比如1m)的事件增量,如下所示:

增加(mycounter[1m])

但是生成的图形与我想要的不一样。它给出的是随时间窗口的平均增长,而不是每个时间窗口的确切增长


这是可以实现的吗?

由于普罗米修斯的
速率
增加
工作方式,你永远不会得到每个时间窗口的确切增加

通过将Grafana中的
min step
设置为您喜欢的任何窗口步长,并将查询本身中的范围选择设置为
$\uuu interval
$\uu rate\u interval
,一旦Grafana 7.2发布,您就可以非常接近您想要的。但是,当你放大足够远的时候,如果没有足够的像素来适应所有的“窗口”,窗口将开始增长。此外,如果最小步长和范围完全相同,则会导致丢失增量<代码>$\uuuuuu rate\u interval
修复了这一问题

编辑:

从格拉法纳到普罗米修斯的查询包含一个步骤参数,普罗米修斯在给定的时间范围内“逐步通过”。对于每个步骤,都会计算相应的查询,例如
rate(counter_total[5m])
。最小步长是Grafana的下限。还有其他几个位置可以定义类似的内容。例如,在数据源设置中,设置刮取间隔

最后使用的实际步长值是根据许多其他因素计算的。例如,可用的像素数。但您也可以将所需的总步骤数固定为10。这里是
$\u interval
的用武之地。它基本上使步长与速率范围同步,并确保始终具有最高的分辨率,同时防止欠取和过取。缺点:图形可能变得非常尖锐和嘈杂,您可能更喜欢5/10/15米速率的外观。此外,如果速率范围与步骤完全相同,则可能会丢失数据的增量。但固定利率范围和足够大的时间范围也是如此<代码>$\uuuu rate\u interval
通过始终将刮取间隔添加到范围选择器来修复此问题


同样,我建议您观看

您能解释一下min step在内部是如何工作的吗?如果你有时间的话,我推荐GrafanaCONline 2020的视频/网络广播。这解释得很好。我也会对我的答案补充一点