平均内存使用情况查询 - 普罗米修斯

问题描述 投票:3回答:2

如何编写一个查询,在过去24小时内输出实例的平均内存使用量?以下查询显示当前的内存使用情况

100 * (1 - ((node_memory_MemFree + node_memory_Cached + node_memory_Buffers) / node_memory_MemTotal))

对于CPU,我能够使用愤怒

100 * (1 - avg(irate(node_cpu[24h])) BY (instance))

如何使用irate和avg作为内存?

prometheus
2个回答
8
投票

过去24小时内实例的平均内存使用量

你可以使用avg_over_time

100 * (1 - ((avg_over_time(node_memory_MemFree[24h]) + avg_over_time(node_memory_Cached[24h]) + avg_over_time(node_memory_Buffers[24h])) / avg_over_time(node_memory_MemTotal[24h])))

对于CPU,我能够使用愤怒

irate只查看最后两个样本,并且该查询与您拥有的模式的数量相反并且将保持不变(在我的内核中它始终为0.1)。你要

100 - (avg by (instance) (rate(node_cpu{job="node",mode="idle"}[5m])) * 100)

请注意,这是一个5分钟的移动平均线,您可以将[5m]更改为您要查找的任何时间段,例如[24h]


1
投票

更新命令

CPU使用率 :

(1 - avg(irate(node_cpu_seconds_total{mode="idle"}[10m])) by (instance)) * 100

内存使用情况 :

100 * (1 - ((avg_over_time(node_memory_MemFree_bytes[10m]) + avg_over_time(node_memory_Cached_bytes[10m]) + avg_over_time(node_memory_Buffers_bytes[10m])) / avg_over_time(node_memory_MemTotal_bytes[10m])))
© www.soinside.com 2019 - 2024. All rights reserved.