Prometheus 需要普罗米修斯内存利用率查询指南吗
我正在使用prometheus查询'100-node\u memory\u MemAvailable\u bytes{job=jobname}*100/node\u memory\u MemTotal\u bytes{job=jobname}'来获取内存利用率,它工作正常 上面的查询给出了当前内存利用率的结果 我需要重建查询以获取最近1小时的内存利用率。例如,如果在上午9点15分内存利用率达到10 MB以上,而在上午10点当前内存利用率为2 MB,那么现在我需要检查在上午9点到上午10点之间的内存利用率是否超过9 MB 请指导我如何为它构造普罗米修斯查询,我认为它类似于, '100-node_memory_MemAvailable_bytes{job=jobname}*100/node_memory_MemTotal_bytes{job=jobname}>9[1H]' 100-node_memory_MemAvailable_bytes{job=jobname}*100/node_memory_MemTotal_bytes{job=jobname}[30m:1m] 这将列出每1分钟的内存利用率值 100-node_memory_MemAvailable_bytes{job=jobname}*100/node_memory_MemTotal_bytes{job=jobname}[30m:1m] 这将列出每1分钟的内存利用率值 您可能需要回答以下问题:jobname在过去一小时内使用了超过90%的内存多长时间?然后,下面的PromQL查询应该可以回答这个问题:Prometheus 需要普罗米修斯内存利用率查询指南吗,prometheus,Prometheus,我正在使用prometheus查询'100-node\u memory\u MemAvailable\u bytes{job=jobname}*100/node\u memory\u MemTotal\u bytes{job=jobname}'来获取内存利用率,它工作正常 上面的查询给出了当前内存利用率的结果 我需要重建查询以获取最近1小时的内存利用率。例如,如果在上午9点15分内存利用率达到10 MB以上,而在上午10点当前内存利用率为2 MB,那么现在我需要检查在上午9点到上午10点之间的内
avg_over_time(
((1 - node_memory_MemAvailable_bytes{job="jobname"} /
node_memory_MemTotal_bytes{job="jobname"}) >bool 0.9)[1h:1m]
)
返回的值将在范围[0..1]内,其中0表示0%,即在最后一小时内存使用率未超过90%,而1表示100%,即在最后一小时内存使用率始终高于90%
该查询使用以下ProMQ功能:
作用
您可能需要回答以下问题:jobname在过去一小时内使用了超过90%的内存多长时间?然后,下面的PromQL查询应该可以回答这个问题:
avg_over_time(
((1 - node_memory_MemAvailable_bytes{job="jobname"} /
node_memory_MemTotal_bytes{job="jobname"}) >bool 0.9)[1h:1m]
)
返回的值将在范围[0..1]内,其中0表示0%,即在最后一小时内存使用率未超过90%,而1表示100%,即在最后一小时内存使用率始终高于90%
该查询使用以下ProMQ功能:
作用
通过文档链接喜欢这个答案-谢谢@valyala!通过文档链接喜欢这个答案-谢谢@valyala!