Si los destinos de recolección crecen más rápido que la capacidad del agente, las réplicas se quedan sin memoria (OOM), se reinician y provocan latencia o pérdida de datos. Horizontal Pod Autoscaler (HPA) para los agentes de Managed Service for Prometheus agrega réplicas automáticamente con base en métricas de memoria y carga de trabajo en tiempo real para evitarlo.
Cómo funciona
Un agente de Prometheus inicia en modo de réplica única y cambia al modo de múltiples réplicas cuando la carga de trabajo supera lo que una sola réplica puede manejar. Después, HPA escala las réplicas worker para mantener la presión de memoria dentro de umbrales seguros.
Modo de réplica única
La réplica master se encarga tanto del descubrimiento de servicios como de la recolección de datos en los destinos. Cuando su uso de memoria alcanza el 75%, el agente cambia automáticamente al modo de múltiples réplicas.
Nota: Si un solo scrape job es demasiado grande, puede provocar un error OOM en la réplica master antes de que ocurra el cambio.
Modo de múltiples réplicas
Después del cambio, la réplica master solo gestiona el descubrimiento de servicios de destino, mientras que las réplicas worker se encargan de la recolección de datos.
Cuando el uso de memoria de cualquier worker supera el 60%, el agente realiza a continuación estas acciones:
Reasigna los scrape jobs entre los workers.
Calcula la cantidad de réplicas worker necesarias para mantener el uso promedio de memoria en 60% o menos.
Activa HPA para escalar horizontalmente.
Límites de programación
El algoritmo de programación colaborativa multifactor aplica los siguientes límites por agente en cada ronda de programación.
|
Limit |
Threshold |
|
Total de destinos x total de métricas |
4 mil millones |
|
Uso de memoria |
70% |
|
Máximo de métricas por agente |
4,000,000 |
Límites de escalado
Máximo de réplicas: 30 réplicas de recolección por agente (valor predeterminado).
Sin reducción automática de escala: El agente no disminuye las réplicas de forma automática, ya que reducir la escala puede causar pérdida de datos.
Habilite HPA
Actualice el chart de Helm de Prometheus a la versión 1.0.0 o posterior. HPA se habilita automáticamente después de la actualización. No se requiere ninguna configuración adicional.
Para consultar las instrucciones de actualización, consulte Component upgrade: upgrading to Helm 1.1.17/Agent v4.0.0.