Grafana 如何计算普罗米修斯一天中的平均值

Grafana 如何计算普罗米修斯一天中的平均值,grafana,prometheus,Grafana,Prometheus,我目前正试图通过以下查询获取上个月RAM的平均使用百分比: 100 - ((avg_over_time(node_memory_MemAvailable_bytes{instance="...",job="..."}[4w]) * 100) / node_memory_MemTotal_bytes{instance="...",job="..."}) 查询工作正常,但现在我想过滤掉夜间收集的值,以便获得白天的实际使用百分比:是否可以仅在上午8点到晚上8点之间获得收集的值的平均值 提前谢谢 Ma

我目前正试图通过以下查询获取上个月RAM的平均使用百分比:

100 - ((avg_over_time(node_memory_MemAvailable_bytes{instance="...",job="..."}[4w]) * 100) / node_memory_MemTotal_bytes{instance="...",job="..."})
查询工作正常,但现在我想过滤掉夜间收集的值,以便获得白天的实际使用百分比:是否可以仅在上午8点到晚上8点之间获得收集的值的平均值

提前谢谢


Mathias

因为你不能有一个有洞的范围(即过去4周,但只有上午8点到晚上8点),你需要创建一个记录规则,只记录白天的可用内存,然后在所述规则生成的时间序列上计算一个时间上的
平均值

这条规则相对容易建立

node_memory_MemAvailable_bytes
  and 
hour(timestamp(node_memory_MemAvailable_bytes)) >= 8
  and 
hour(timestamp(node_memory_MemAvailable_bytes)) < 20
node\u memory\u MemAvailable\u字节
及
小时(时间戳(节点\内存\内存可用\字节))>=8
及
小时(时间戳(节点\内存\内存可用\字节))<20
但它最初不会有任何历史记录,因此您必须等待几天才能从中获得任何有意义的数据。还请注意,此表达式将过滤UTC上午8点到下午8点之间的样本。您可能需要将其调整到您的时区