REL06-BP07 Supervisar el seguimiento de las solicitudes de principio a fin en todo el sistema
Realice un seguimiento de las solicitudes a medida que se procesan a través de los componentes del servicio para que los equipos de producto puedan analizar y depurar los problemas con mayor facilidad y mejorar el rendimiento.
Resultado deseado: las cargas de trabajo con un rastreo exhaustivo en todos los componentes son fáciles de depurar, lo que mejora el tiempo medio de resolución (MTTR) de los errores y la latencia al simplificar la detección de la causa raíz. El rastreo integral reduce el tiempo necesario para descubrir los componentes afectados y analizar detalladamente las causas raíz de los errores o la latencia.
Patrones comunes de uso no recomendados:
-
El rastreo se utiliza para algunos componentes, pero no para todos. Por ejemplo, si no se rastreara AWS Lambda, es posible que los equipos no entendieran con claridad la latencia que producen los arranques en frío en una carga de trabajo con picos.
-
Los valores controlados sintéticos o la monitorización de usuarios reales (RUM) no tienen configurado el rastreo. Sin valores controlados ni RUM, la telemetría de interacción con el cliente se omite del análisis del rastreo, lo que da lugar a un perfil de rendimiento incompleto.
-
Las cargas de trabajo híbridas incluyen herramientas de rastreo nativas en la nube y de terceros, pero no se han tomado medidas para integrar por completo una única solución de rastreo. En función de la solución de rastreo elegida, se deben utilizar SDK de rastreo nativos en la nube para instrumentar componentes que no sean nativos en la nube o se deben configurar herramientas de terceros para ingerir la telemetría de rastreo nativa en la nube.
Beneficios de establecer esta práctica recomendada: Cuando los equipos de desarrollo reciben alertas sobre los problemas, ven una imagen completa de las interacciones entre los componentes del sistema, incluida la correlación componente por componente con el registro, el rendimiento y los errores. Dado que el rastreo facilita la identificación visual de las causas raíz, se dedica menos tiempo a investigar estas causas. Los equipos que conocen bien las interacciones de los componentes toman decisiones mejores y más rápidas a la hora de resolver problemas. Las decisiones, como cuándo invocar una conmutación por error de recuperación de desastres (DR) o cuál es la mejor forma de implementar las estrategias de autorreparación, se pueden mejorar analizando los rastros de los sistemas y, en última instancia, puede mejorar la satisfacción del cliente con sus servicios.
Nivel de riesgo expuesto si no se establece esta práctica recomendada: Medio
Guía para la implementación
Los equipos que utilizan aplicaciones distribuidas pueden utilizar herramientas de rastreo para establecer un identificador de correlación, recopilar rastros de las solicitudes y crear mapas de servicio de los componentes conectados. Todos los componentes de la aplicación deben incluirse en los rastros de solicitudes, como las puertas de enlace de middleware, los buses de eventos y los clientes del servicio, los componentes de computación y el almacenamiento, incluidos los almacenes de valores clave y las bases de datos. Incluya valores controlados sintéticos y la monitorización de usuarios reales en su configuración de rastreo integral para medir las interacciones y la latencia de los clientes remotos, de modo que pueda evaluar con precisión el rendimiento de sus sistemas en función de sus acuerdos y objetivos de nivel de servicio.
Puede usar los servicios de instrumentación de monitorización de aplicaciones AWS X-Ray y Amazon CloudWatch para ofrecer una visión completa de las solicitudes a medida que pasan por su aplicación. X-Ray recopila la telemetría de las aplicaciones y le permite visualizarla y filtrarla en cargas útiles, funciones, rastros, servicios y API, y se puede activar para los componentes del sistema sin código o con poco código. La monitorización de aplicaciones de CloudWatch incluye ServiceLens para integrar sus rastros con métricas, registros y alarmas. La monitorización de aplicaciones de CloudWatch también incluye elementos sintéticos para monitorizar los puntos de conexión y las API, así como la monitorización de usuarios reales para instrumentar los clientes de sus aplicaciones web.
Pasos para la implementación
-
Use AWS X-Ray en todos los servicios nativos admitidos, como Amazon S3, AWS Lambda y Amazon API Gateway. Estos servicios de AWS habilitan X-Ray con conmutadores de configuración que utilizan la infraestructura como código, SDK de AWS o la AWS Management Console.
-
Aplicaciones de instrumentos AWS Distro for Open Telemetry y X-Ray o agentes de recopilación de terceros.
-
Revise en la Guía para desarrolladores de AWS X-Ray la implementación específica del lenguaje de programación. En estas secciones de la documentación, se detalla cómo instrumentar las solicitudes HTTP, las consultas SQL y otros procesos específicos del lenguaje de programación de su aplicación.
-
Utilice el rastreo de X-Ray para los valores controlados de Amazon CloudWatch Synthetics y Amazon CloudWatch RUM para analizar la ruta de la solicitud desde el cliente de su usuario final a través de su infraestructura posterior de AWS.
-
Configure métricas y alarmas de CloudWatch en función del estado de los recursos y la telemetría de valores controlados para que los equipos reciban alertas de los problemas rápidamente y, a continuación, puedan analizar en profundidad los rastros y los mapas de servicio con ServiceLens.
-
Habilite la integración de X-Ray con herramientas de rastreo de terceros, como Datadog
, New Relic o Dynatrace si utiliza herramientas de terceros para su solución de rastreo principal.
Recursos
Prácticas recomendadas relacionadas:
Documentos relacionados:
-
Amazon CloudWatch: Application Monitoring (Monitorización de aplicaciones)
-
Integrating AWS X-Ray with other AWS services (Integración de AWS X-Ray con otros servicios de AWS)
-
AWS Distro for OpenTelemetry and AWS X-Ray (AWS Distro for OpenTelemetry y AWS X-Ray)
-
Amazon CloudWatch: Using synthetic monitoring (Uso de la monitorización sintética)
-
Amazon CloudWatch: Use CloudWatch RUM (Uso de CloudWatch RUM)
Ejemplos relacionados:
Vídeos relacionados:
Herramientas relacionadas: