Amazon Managed Service for Prometheus
Servicio de monitoreo completamente gestionado compatible con Prometheus que proporciona recopilación, almacenamiento y consulta escalable de métricas para cargas de trabajo de contenedores
Descripción general
Amazon Managed Service for Prometheus (AMP) es un servicio de monitoreo completamente gestionado totalmente compatible con Prometheus de código abierto. Ingesta métricas a través de la API remote write de Prometheus y soporta consultas PromQL. Recopila métricas de cargas de trabajo en EKS, ECS y EC2, almacenándolas en almacenamiento de auto-escalado. Los problemas de Prometheus autogestionado - gestión de capacidad de almacenamiento, alta disponibilidad y retención a largo plazo - se eliminan, reduciendo significativamente la carga operativa.
Diseño de workspaces e ingesta de métricas
Un workspace de AMP es la unidad de aislamiento lógico para métricas. Se recomienda separar workspaces por entorno (dev/stg/prod) o equipo para control de acceso y asignación de costos claros. La ingesta de métricas usa la API remote write de Prometheus, enviando desde servidores Prometheus existentes, OpenTelemetry Collectors o AWS Distro for OpenTelemetry (ADOT). En entornos EKS, desplegar un ADOT Collector como DaemonSet para recopilar métricas de Pods de cada nodo y enviarlas a AMP es común. La autenticación usa firma AWS SigV4, permitiendo control de acceso granular vía roles IAM. Para EKS, IRSA (IAM Roles for Service Accounts) otorga permisos de escritura a nivel de Pod. El límite de tasa de ingesta predeterminado es 70,000 muestras por segundo. Las métricas de alta cardinalidad impactan costo y rendimiento, por lo que diseñar reglas de relabel para excluir etiquetas innecesarias es importante.
Consultas PromQL y configuración de reglas de alerta
AMP soporta completamente PromQL, permitiendo análisis de métricas con la misma sintaxis de consulta que Prometheus autogestionado. Los endpoints de consulta también están protegidos por autenticación AWS SigV4, usando el plugin SigV4 al conectar desde Grafana. Las reglas de alerta y reglas de grabación se configuran como grupos de reglas en el workspace, escritas en la misma sintaxis que archivos YAML de reglas de Prometheus. Amazon SNS puede especificarse como destino de alertas, con SNS permitiendo integración con Lambda, PagerDuty y Slack. Las reglas de grabación pre-computan y almacenan consultas complejas frecuentes, mejorando la velocidad de visualización de dashboards. En la práctica, definir cálculos de SLI (Service Level Indicator) como reglas de grabación y monitorear el cumplimiento de SLO (Service Level Objective) con reglas de alerta es un diseño efectivo.
Optimización de costos y operaciones multicuenta
Los precios de AMP consisten en tres ejes: muestras ingestadas, muestras almacenadas y muestras consultadas. El primer paso en optimización de costos es suprimir la ingesta de métricas innecesarias. Las reglas de relabel de Prometheus (metric_relabel_configs) descartan métricas no utilizadas y excluyen etiquetas de alta cardinalidad. El período de retención predeterminado es 150 días, pero si solo se necesitan métricas a corto plazo, reducir el período de retención del workspace reduce costos de almacenamiento. En entornos multicuenta, agregar métricas de clústeres EKS de cada cuenta a un workspace AMP de una cuenta de monitoreo central es común. Las escrituras entre cuentas requieren configurar AssumeRole desde cada cuenta al rol IAM de la cuenta de monitoreo.