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