【发布时间】:2020-09-18 15:34:02
【问题描述】:
目前,我正在运行 Prometheus v2.20.0,它存在 WAL 不断增长并占用磁盘空间的问题。
实际上现在磁盘空间不是问题,而是 WAL 文件夹没有被清理,所以如果任何时候 Prometheus 重新启动,它都会尝试将整个 WAL 加载到内存中。
例如,WAL 现在是 60GB,内存是 32GB,所以 Prometheus 在被 OOM 杀死时会继续重启,因为它消耗了 24GB 的整个服务器内存。
这是我当前的配置,请注意我使用 Docker Compose 运行它。
- '--web.enable-admin-api'
- '--config.file=/etc/prometheus/prometheus.yml'
- '--web.external-url=https://prometheus.example.com'
- '--storage.tsdb.path=/var/lib/prometheus'
- '--storage.tsdb.retention=150d'
- '--web.console.libraries=/usr/share/prometheus/console_libraries'
- '--web.console.templates=/usr/share/prometheus/consoles'
所以我的问题是,我如何配置它以对 WAL 进行适当的检查点和清理,使其不会无限期地增长?
【问题讨论】:
-
这看起来像是 Prometheus 中的一个错误。最好在Prometheus project 提交错误。同时尝试vmagent 或VictoriaMetrics。他们don't use WAL 与 Prometheus 相比,通常需要较少的资源。
标签: prometheus prometheus-alertmanager prometheus-java