Prometheus WAL continua a crescere indefinitamente

Sep 19 2020

Al momento, ho un Prometheus v2.20.0 in esecuzione e ha un problema che il WAL continua a crescere indefinitamente e consuma spazio su disco.

In realtà lo spazio su disco non è il problema ora, ma che la cartella WAL non viene pulita, quindi se ogni volta che Prometheus viene riavviato, tenta di caricare l'intero WAL in memoria.

Quindi, ad esempio, WAL ora è 60 GB e la memoria è 32 GB, quindi Prometheus continua a riavviarsi quando viene ucciso dall'OOM, poiché consuma l'intera memoria del server di 24 GB.

Ecco la mia configurazione attuale e tieni presente che lo eseguo utilizzando 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'

Quindi la mia domanda è: come posso configurarlo per eseguire correttamente il checkpoint e la pulizia di WAL in modo che non continui a crescere indefinitamente?

Risposte

Wazery Sep 21 2020 at 21:30

Sembra un bug noto in Prometheus v2.20.0 e un aggiornamento alla v2.21.0 lo ha risolto. https://github.com/prometheus/prometheus/issues/7955