OPS04-BP05 Implementación de rastreo distribuido
El rastreo distribuido ofrece una forma de supervisar y visualizar las solicitudes a medida que atraviesan varios componentes de un sistema distribuido. Al obtener datos de rastreo de numerosos orígenes y analizarlos en una vista unificada, los equipos pueden comprender mejor cómo fluyen las solicitudes, dónde existen los cuellos de botella y dónde deben centrarse los esfuerzos de optimización.
Resultado deseado: obtenga una visión integral de las solicitudes que fluyen por su sistema distribuido, lo que permite una depuración precisa, un rendimiento optimizado y una mejor experiencia del usuario.
Patrones comunes de uso no recomendados:
-
Instrumentación incoherente: no todos los servicios de un sistema distribuido están instrumentados para el rastreo.
-
Hacer caso omiso de la latencia: centrarse únicamente en los errores y no tener en cuenta la latencia o las degradaciones graduales del rendimiento.
Beneficios de establecer esta práctica recomendada:
-
Información general completa del sistema: visualización de toda la ruta de las solicitudes, desde la entrada hasta la salida.
-
Depuración mejorada: identificación rápida de dónde se producen errores o problemas de rendimiento.
-
Mejora de la experiencia del usuario: supervisión y optimización en función de los datos reales del usuario, lo que garantiza que el sistema satisfaga las demandas de la vida real.
Nivel de riesgo expuesto si no se establece esta práctica recomendada: alto
Guía para la implementación
Comience por identificar todos los elementos de la carga de trabajo que requieren instrumentación. Una vez contabilizados todos los componentes, utilice herramientas como AWS X-Ray y OpenTelemetry para recopilar datos y analizarlos con herramientas como X-Ray y Amazon CloudWatch ServiceLens Map. Lleve a cabo revisiones periódicas con los desarrolladores y complemente estas conversaciones con herramientas como Amazon DevOps Guru, X-Ray Analytics y X-Ray Insights para sacar a la luz resultados más profundos. Establezca alertas a partir de los datos de rastreo para notificar cuando los resultados, tal como se definen en el plan de supervisión de la carga de trabajo, estén en peligro.
Pasos para la implementación
Implementación del rastreo distribuido de manera eficaz:
-
Incorporación de AWS X-Ray
: integre X-Ray en su aplicación para obtener información sobre su comportamiento, comprender su rendimiento e identificar los cuellos de botella. Utilice X-Ray Insights para el análisis automático de rastreos. -
Instrumentación de sus servicios: compruebe que todos los servicios, desde una función de AWS Lambda
a una instancia de EC2 , envíen datos de rastreo. Cuantos más servicios instrumente, más clara será la vista de principio a fin. -
Integración del seguimiento de CloudWatch RUM y Synthetic Monitoring: integre el CloudWatch RUM y el Synthetic Monitoring con X-Ray. Esto permite recoger experiencias de usuario de la vida real y simular las interacciones de los usuarios para identificar posibles problemas.
-
Uso del agente de CloudWatch: el agente puede enviar rastreos tanto de X-Ray como de OpenTelemetry, lo que mejora la profundidad de la información obtenida.
-
Uso de Amazon DevOps Guru
: DevOps Guru utiliza datos de X-Ray, CloudWatch, AWS Config y AWS CloudTrail para ofrecer recomendaciones prácticas. -
Análisis de los rastreos: revise periódicamente los datos de rastreo para detectar patrones, anomalías o cuellos de botella que podrían afectar al rendimiento de su aplicación.
-
Configuración de alertas: configure las alarmas en CloudWatch
para detectar patrones inusuales o latencias prolongadas, lo que permite abordar los problemas de forma proactiva. -
Mejora continua: revisite su estrategia de rastreo a medida que se agregan o modifiquen servicios para recoger todos los puntos de datos pertinentes.
Nivel de esfuerzo para el plan de implementación: medio
Recursos
Prácticas recomendadas relacionadas:
Documentos relacionados:
Videos relacionados:
Ejemplos relacionados: