当Prometheus的PV使用量出现异常的过度开销时

病症表现

就像图像一样,发现Prometheus的PV使用量异常地过高。在启动时消耗了大约70GB。

普罗米修斯版本: 2.18.2

Inkedimage_LI.jpg

导致这种情况的因素

当我使用kubectl exec命令进入Prometheus容器时,我会发现

k exec -it prometheus-kube-prometheus-stack-prometheus-0 -n monitoring -c prometheus sh

有很多类似于01EN4ZAY5H2KD172GTD9X7JJC3.tmp的目录。
看了一下创建日期,显然超过了设定的保留日期。

试着减少后,PV使用量有所减少,并达到了合理的数值。

pv.png

这到底是什么东西?

据调查,据报告,当度量的压缩或保留出现问题时,会创建名为 .tmp 的目录。

问题:https://github.com/prometheus/prometheus/issues/8180

由于未删除.tmp目录,我们的TSDB存储出现填满的问题。我们知道这些tmp目录是由于合并或保留失败而产生的,但即使Prometheus容器正常运行,这些剩余的tmp目录也没有在稍后的任何时间进行轮换或移除。

实质性因素是内存不足。

实际问题是普罗米修斯的内存不足。

顺便提一下,因为内存不足,我好几次都崩溃了。

看起来在8月中旬的2.21版本中,似乎已经合并了一个功能,在启动时自动删除.tmp目录。

PR:https://github.com/prometheus/prometheus/pull/7772

对应的拉请求链接:https://github.com/prometheus/prometheus/pull/7772

還在討論之前版本的支援問題嗎?問題的狀態仍然是未解決。

所以,我得立即更新Prometheus!

广告
将在 10 秒后关闭
bannerAds