使用普罗米修斯操作符部署在kubernetes上的普罗米修斯消耗了太多内存,目前约为12G。我看到/prometheus/wal目录在~12G。我已经删除了所有的*.tmp文件,但这也无济于事。找不到此问题的解决方案。有什么建议吗?
发布于 2020-05-06 16:44:36
减少保留时间或减少时间序列的数量。
发布于 2020-05-09 15:33:15
在谷歌上挖掘了几天后,我发现有很多我们可以放弃samples1的未使用的指标。
在prometheus目录中搜索其采样非常高的指标的使用-查询以查找prometheus指标-
topk(20, count by (__name__, job)({__name__=~".+"}))如果您在列表中找到tcp或udp度量。尝试在普罗米修斯上执行这些指标,如果值为零,则可以安全地删除这些指标,因为这些指标在CAdvisor级别已经被禁用,因为它们会产生大量样本。
bash命令检查这些度量在prometheus或grafana中的任何位置的使用-
cd <prometheus dir>
grep -irn <metric_name>如果不在任何地方使用,则只需为该特定作业添加drop操作。
注释-您将首先在promQL查询中执行jobname。
我使用的是prometheus操作符,所以我必须为它编辑各自的servicemonitor定义。如果您以常规方式部署普罗米修斯,则可能需要编辑prometheus.yaml文件。
metric_relabel_configs:
- source_labels: [ __name__ ]
regex: 'metric_name'
action: drop参考:-。
1 https://www.robustperception.io/dropping-metrics-at-scrape-time-with-prometheus
计算所需内存的2公式-
https://www.robustperception.io/how-much-ram-does-prometheus-2-x-need-for-cardinality-and-ingestion
https://stackoverflow.com/questions/61629159
复制相似问题