基本上,我正在寻找相当于1.x storage.local.target-heap-size的
。我有一个prometheus应用程序(在6核32G盒子中运行),可以从2000个VM中获取主机指标。刮擦间隔5分钟。
在几分钟之内,我的RAM使用量增加到29-30GB,然后在10-15分钟内,它因OOM而死或服务器无法从UI中获得。
任何方法都可以告诉普罗米修斯使用已定义的最大RAM吗?
基本上,我正在寻找相当于1.x storage.local.target-heap-size的
。我有一个prometheus应用程序(在6核32G盒子中运行),可以从2000个VM中获取主机指标。刮擦间隔5分钟。
在几分钟之内,我的RAM使用量增加到29-30GB,然后在10-15分钟内,它因OOM而死或服务器无法从UI中获得。
任何方法都可以告诉普罗米修斯使用已定义的最大RAM吗?
Prometheus 2.x并未提供用于限制内存使用的配置-它使用处理当前工作负载所需的内存。有calculator用于根据工作量估算Prometheus 2.x所需的内存。
P.S。如果您在工作量方面无法与Prometheus OOM一起挣扎,请查看VictoriaMetrics。在相同的工作负载下,它所需的内存比Prometheus少7倍。参见https://valyala.medium.com/prometheus-vs-victoriametrics-benchmark-on-node-exporter-metrics-4ca29c75590f。还有vmagent,可用于有效地刮除大量Prometheus目标。