Prometheus WAL continua crescendo indefinidamente

Sep 19 2020

Atualmente, tenho um Prometheus v2.20.0 em execução e ele tem um problema que o WAL continua crescendo indefinidamente e consumindo espaço em disco.

Na verdade, o espaço em disco não é o problema agora, mas a pasta WAL não está sendo limpa, portanto, se a qualquer momento o Prometheus for reiniciado, ele tentará carregar todo o WAL na memória.

Por exemplo, o WAL agora tem 60 GB e a memória é de 32 GB, então o Prometheus continua reiniciando quando é eliminado pelo OOM, pois consome toda a memória do servidor de 24 GB.

Aqui está minha configuração atual para ele e observe que eu o executo usando o 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'

Portanto, minha pergunta é: como posso configurá-lo para fazer o checkpoint e a limpeza adequados do WAL para que ele não continue crescendo indefinidamente?

Respostas

Wazery Sep 21 2020 at 21:30

Parece um bug conhecido no Prometheus v2.20.0, e uma atualização para v2.21.0 o corrigiu. https://github.com/prometheus/prometheus/issues/7955