Se os alvos de coleta crescerem mais rápido que a capacidade do agente, as réplicas ficam sem memória (OOM), reiniciam e causam latência ou perda de dados. O Horizontal Pod Autoscaler (HPA) para agentes do Managed Service for Prometheus adiciona réplicas automaticamente com base em métricas de memória e carga de trabalho em tempo real para evitar esse problema.
Como funciona
O agente do Prometheus inicia no modo de réplica única e muda para o modo de múltiplas réplicas quando a carga de trabalho excede a capacidade de uma única réplica. Em seguida, o HPA dimensiona as réplicas de trabalho para manter a pressão de memória dentro de limiares seguros.
Modo de réplica única
A réplica mestre é responsável tanto pela descoberta de service do alvo quanto pela coleta dos dados. Quando o uso de memória atinge 75%, o agente muda automaticamente para o modo de múltiplas réplicas.
Nota: Se um único job de coleta for muito grande, ele pode causar um erro de OOM na réplica mestre antes da mudança.
Modo de múltiplas réplicas
Após a transição, a réplica mestre cuida apenas da descoberta de service do alvo, enquanto as réplicas de trabalho realizam a coleta.
Quando o uso de memória de qualquer worker ultrapassa 60%, o agente:
Redistribui os jobs de coleta entre os workers.
Calcula a quantidade de réplicas de trabalho necessárias para manter o uso médio de memória em 60% ou menos.
Aciona o HPA para realizar o scale-out.
Limites de agendamento
O algoritmo de agendamento colaborativo multifatorial impõe os seguintes limites por agente em cada rodada de agendamento.
|
Limite |
Limiar |
|
Total de alvos x total de métricas |
4 bilhões |
|
Uso de memória |
70% |
|
Máximo de métricas por agente |
4.000.000 |
Limites de dimensionamento
Máximo de réplicas: 30 réplicas de coleta por agente (padrão).
Sem scale-in automático: O agente não reduz as réplicas automaticamente, pois essa operação pode resultar em perda de dados.
Ative o HPA
Atualize o chart Helm do Prometheus para a versão 1.0.0 ou posterior. O HPA é ativado automaticamente após a atualização, sem necessidade de configuração adicional.
Para obter instruções de atualização, consulte Atualização de componentes: atualizando para Helm 1.1.17/Agent v4.0.0.