Problema
Você instalou a integração Prometheus OpenMetrics para Docker ou Kubernetes e ela consome muita memória ou CPU.
Solução
Ao executar a integração em um cluster enorme que elimina centenas de destinos, o consumo de CPU e memória aumentará e o número de trabalhadores poderá afetar scrape_duration
.
Por exemplo, uma integração Prometheus OpenMetrics consome 2,5 CPU e 700 MB de RAM porque:
- Ele raspa
800 targets
, expondo1000 timeseries
cada um. - Cada um tem latência de
150ms
comscrape_duration
de 30 segundos.
Para reduzir o consumo de recursos:
Atualize a integração para a imagem disponível mais recente.
Reduza o tempo de colheita diminuindo
emitter_harvest_period
. (O valor padrão é1s
e o intervalo não pode ser menor que200ms
.) Como as métricas são enviadas com maior frequência, o consumo de memória é reduzido.Colete métricas com menos frequência aumentando
scrape_duration
para reduzir o consumo de memória e o uso de CPU.Reduza o número de trabalhadores para reduzir o consumo de memória e o uso da CPU. A raspagem ficará mais lenta e poderá exceder
scrape_duration.
. Para fazer isso:- Atualize a integração para a versão mais recente disponível da imagem.
- Diminua
worker_threads
do valor padrão de4
para seu valor preferido.