Skip to content

Serie de labs de observabilidad ​

Dificultad: Avanzado Última actualización: September 13, 2026 Conecta una aplicación sintética de pedidos ejecutable y sus métricas/logs/trazas a través de dos clústeres de EKS. La base utiliza Prometheus, Loki, Tempo y Grafana con AWS SNS/SQS, Aurora y CloudWatch. La configuración del lab es distinta de la validación de HA/capacidad en producción.

Management/service responsibilities and authentication boundaries

Management/service responsibilities and authentication boundariesAbrir a pantalla completa ↗

Requisitos previos ​

Usa un rol temporal de AWS aprobado, VPC/subredes/rutas/DNS/SGs privados revisados, EBS CSI/gp3, un CNI compatible con NetworkPolicy y AWS Load Balancer Controller. No se requiere ningún FullAccess general de servicio ni claves de acceso de larga duración. Vuelve a comprobar versiones, permisos y cuotas en cada etapa.

HerramientaBase revisada
EKS / kubectl1.36 / 1.36.2
eksctl / Helm0.229.0 / 3.21.3
Python / AWS CLI3.12 / v2
k6 / Locust2.2.0 / 2.46.5
Aplicación / controllersRequisitos fijados, digest de imagen y versiones de chart en los ejemplos

Código ejecutable y secuencia ​

Usa los ejemplos application, stack, load-test y aiops de este repositorio. Fija un commit/tag revisado y conserva el LAB_STATE privado; no clones el antiguo repositorio de ejemplos inexistente.

Six stages from infrastructure to trace analysis

Six stages from infrastructure to trace analysisAbrir a pantalla completa ↗
ParteEtapaResultado
1InfraestructuraEKS, base de datos privada, fanout de SNS, roles restringidos
2Stack de observabilidadColectores/remote-write con mTLS, Loki/Tempo/Grafana
3MSA/canaryCinco roles ejecutables, outbox, análisis solo por revisión
4Carga/escaladoPeticiones medidas y observaciones de consumidores/nodos
5Alertas/AIOpsReporter de diagnóstico con topic separado, revisión humana
6Trazado distribuidoCorrelación real de métricas/exemplars/trazas/logs, limpieza

Aplicación y flujo de datos ​

Una única imagen de Python se ejecuta como los roles separados api-gateway, order-service, payment-service, notification y analytics. Los pagos y notificaciones son sintéticos, sin cargos, correos ni SMS reales. Los pedidos y el outbox comparten una transacción; colas independientes y la deduplicación por ID de evento sirven a notification/analytics. La autenticación en el gateway, la limitación de tasa general y una pasarela de pago real no están implementadas ni se afirman.

HTTP, transactional outbox and separate consumer queues

HTTP, transactional outbox and separate consumer queuesAbrir a pantalla completa ↗

Base frente a extensiones opcionales ​

Baseline paths and extensions needing independent validation

Baseline paths and extensions needing independent validationAbrir a pantalla completa ↗
BaseIntegración opcional independiente
Métricas de Prometheus / CloudWatchVictoriaMetrics, Mimir, AMP
Loki / CloudWatch LogsClickHouse, OpenSearch
OTel / TempoX-Ray, Dynatrace
GrafanaAmazon Managed Grafana, herramientas comerciales
Alertmanager / SNS / Lambda de diagnósticoPlataforma de on-call existente, grupo de CloudWatch Investigations
Consumidores de eventos sintéticosProgramación con MWAA/analítica por lotes, sistemas transaccionales de producción

La instalación es distinta de la ingesta, las consultas, los permisos y los costes verificados. Consulta las guías de métricas, logging, trazado y Grafana para las extensiones. La Part5 incorpora cambios como el archivado de OnCall OSS.

Coste, verificación y limpieza ​

Estima a partir del uso real los nodos específicos de la Región, NAT, EBS, ACU/almacenamiento/E-S de Aurora, la ingesta/retención de logs, los mensajes, KMS, los LBs, la transferencia y las llamadas al modelo. No mezcles cargos mensuales por usuario con infraestructura por horas en un total fijo. Los labs con un único writer/backend no tienen HA de nivel de producción; los límites de réplicas no son topes absolutos de gasto.

Distingue la validación local nativa/de SDK/de esquema/de navegador de los resultados reales en AWS. Inventaria recursos, asociaciones de IAM, snapshots, DNS y LBs/PVCs; realiza la limpieza en el orden de dependencias de la Part6. No silencies todos los fallos ni elimines clústeres antes que sus dependientes gestionados.

Pregunta a la documentación

Enter envía, Shift+Enter añade una línea.