Instrumentación de Código de Observabilidad - Anotaciones X-Ray, Registros Estructurados, Verificación de Salud

Organizando anotaciones X-Ray/Subsegmentos, registros estructurados, código de métricas personalizadas y verificaciones de salud.

El post anterior cubria como leer logs y metricas con CloudWatch y X-Ray. Este post cubre como incorporar funcionalidades de observabilidad directamente en tu codigo — preparandose de antemano para que los problemas sean mas faciles de encontrar despues.

 

Instrumentacion de Codigo con X-Ray

La instrumentacion significa insertar puntos de medicion en el codigo para recopilar datos durante la ejecucion.

Annotations

Las Annotations anaden pares clave-valor indexados y buscables a los datos de trazas de X-Ray.

Ejemplo: anadir user_id="abc123" como Annotation permite buscar despues "muestra todas las solicitudes de este usuario" en X-Ray.

Como crear fichas de indice para libros — puedes encontrarlos rapidamente por palabras clave.

Nota importante: Metadata es diferente de Annotations — NO esta indexada y no es buscable. Usada solo para informacion de referencia complementaria. El examen frecuentemente pregunta sobre esta diferencia.

Subsegments

Los Subsegments miden el tiempo de operaciones individuales dentro de un unico servicio.

Ejemplo, dentro de una funcion Lambda: Consulta DynamoDB: 50ms Subida S3: 200ms Llamada API externa: 500ms

Al registrar cada operacion como subsegmento, puedes ver inmediatamente donde se gasta el tiempo.

 

Logging Estructurado

Emitir logs en formato JSON en lugar de texto plano.

Log normal: ERROR: DB connection failed

Log estructurado: {"level":"ERROR","message":"DB connection failed","requestId":"abc-123","userId":"user-456"}

Beneficios: Buscar por campos especificos en CloudWatch Logs Insights Estadisticas de errores y analisis de patrones mas faciles Procesamiento automatizado estandarizado

 

Metricas Personalizadas

Mas alla de las metricas predeterminadas de AWS, puedes enviar tus propias mediciones especificas del negocio: Tiempo de procesamiento de pedidos Tasa de abandono de carrito Proporcion exito/fallo de inicio de sesion

Como enviar: API PutMetricData: Llamada directa enviando valores de metricas a CloudWatch EMF: Emite logs estructurados y las metricas se extraen automaticamente

 

Health Checks

Verificacion periodica de que un servicio funciona normalmente — como tomar el pulso.

ELB Health Checks: El balanceador envia senales periodicas al /health de cada servidor. Si falla, deja de enviar trafico. ECS Health Checks: Comando HEALTHCHECK dentro del contenedor. Si falla, se reinicia automaticamente. Route 53 Health Checks: Monitoriza endpoints. Si detecta fallo, el enrutamiento Failover redirige el trafico.

 

Configuracion de Alertas

CloudWatch Alarms -> tema SNS -> email, SMS o Lambda Reglas EventBridge -> notificaciones para eventos especificos

 

Puntos Clave del Examen

"Buscar solicitudes de usuario especifico en X-Ray" -- Annotations (indexadas)

"Medir tiempo de consulta BD/HTTP en X-Ray" -- Subsegments

"Logs JSON, buscables por campo" -- Logging estructurado

"Enviar metricas especificas de la aplicacion" -- PutMetricData o EMF

"Verificar periodicamente si las instancias estan sanas" -- ELB health checks

"Verificar salud del contenedor" -- ECS HEALTHCHECK

"Notificar cuando el despliegue se completa" -- EventBridge + SNS

Annotations = buscables (indexadas), Metadata = no buscable

Volver a la lista del blog