[英]Average Memory Usage Query - Prometheus
How do I write a query that outputs average memory usage for instances over the past 24 hours?如何编写一个查询来输出过去 24 小时内实例的平均内存使用情况? The following query displays the current memory usage
以下查询显示当前内存使用情况
100 * (1 - ((node_memory_MemFree + node_memory_Cached + node_memory_Buffers) / node_memory_MemTotal))
For CPU, I was able to use irate对于 CPU,我可以使用 irate
100 * (1 - avg(irate(node_cpu[24h])) BY (instance))
How do I use irate and avg for memory?如何将 irate 和 avg 用于内存?
average memory usage for instances over the past 24 hours
过去 24 小时内实例的平均内存使用量
You can use avg_over_time
:您可以使用
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])))
For CPU, I was able to use irate
对于 CPU,我可以使用 irate
irate
only looks at the last two samples, and that query is the inverse of how many modes you have and will be constant (it's always 0.1 on my kernel). irate
只查看最后两个样本,该查询与您拥有的模式数相反,并且将保持不变(在我的内核上它始终为 0.1)。 You want你要
100 - (avg by (instance) (rate(node_cpu{job="node",mode="idle"}[5m])) * 100)
Note that this is a 5 minute moving average and you can change [5m]
to whatever period of time you are looking for such as [24h]
.请注意,这是一个 5 分钟移动平均线,您可以将
[5m]
更改为您正在寻找的任何时间段,例如[24h]
。
Update commands更新命令
CPU Usage : CPU使用率:
(1 - avg(irate(node_cpu_seconds_total{mode="idle"}[10m])) by (instance)) * 100
Memory Usage :内存使用:
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])))
Also, we can query with accounts;此外,我们可以使用帐户进行查询;
CPU Usage for Windows Windows 的 CPU 使用率
#Average
100 - (avg by (instance) (irate(windows_cpu_time_total{job=~"dev",mode="idle"}[2m])) * 100)
#Minimum
100 - (max by (instance) (irate(windows_cpu_time_total{job=~"dev",mode="idle"}[2m])) * 100)
#Maximum
100 - (min by (instance) (irate(windows_cpu_time_total{job=~"dev",mode="idle"}[2m])) * 100)
CPU Usage for Linux Linux 的 CPU 使用率
#Average
100 - (avg by (instance) (irate(node_cpu_seconds_total{job="$job",mode="idle"}[5m])) * 100)
#Minimum
100 - (max by (instance) (irate(node_cpu_seconds_total{job="$job",mode="idle"}[5m])) * 100)
#Maximum
100 - (min by (instance) (irate(node_cpu_seconds_total{job="$job",mode="idle"}[5m])) * 100)
Memory Usage for Windows Windows 的内存使用情况
#Average
100.0 - 100 * avg_over_time(windows_os_physical_memory_free_bytes{job=~"prod"}[30d]) / avg_over_time(windows_cs_physical_memory_bytes{job=~"prod"}[30d])
#Maximum
100.0 - 100 * min_over_time(windows_os_physical_memory_free_bytes{job=~"prod"}[30d]) / min_over_time(windows_cs_physical_memory_bytes{job=~"prod"}[30d])
#Minimum
100.0 - 100 * max_over_time(windows_os_physical_memory_free_bytes{job=~"prod"}[30d]) / max_over_time(windows_cs_physical_memory_bytes{job=~"prod"}[30d])
Memory Usage for Linux Linux 的内存使用
#Avarege:
100 * (1 - ((avg_over_time(node_memory_MemFree_bytes{job=~"prod"}[30d]) + avg_over_time(node_memory_Cached_bytes{job=~"prod"}[30d]) + avg_over_time(node_memory_Buffers_bytes{job=~"prod"}[30d])) / avg_over_time(node_memory_MemTotal_bytes{job=~"prod"}[30d])))
#Maximum:
100 * (1 - ((min_over_time(node_memory_MemFree_bytes{job=~"prod"}[30d]) + min_over_time(node_memory_Cached_bytes{job=~"prod"}[30d]) + min_over_time(node_memory_Buffers_bytes{job=~"prod"}[30d])) / min_over_time(node_memory_MemTotal_bytes{job=~"prod"}[30d])))
#Minimum
100 * (1 - ((max_over_time(node_memory_MemFree_bytes{job=~"prod"}[30d]) + max_over_time(node_memory_Cached_bytes{job=~"prod"}[30d]) + max_over_time(node_memory_Buffers_bytes{job=~"prod"}[30d])) / max_over_time(node_memory_MemTotal_bytes{job=~"prod"}[30d])))
Note:- {job=~"prod"}, is account name.注意:- {job=~"prod"},是账户名。 you can use your account names
您可以使用您的帐户名
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.