Rastreo - AWS Guía prescriptiva

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Rastreo

El rastreo implica el uso especializado de la información de registro sobre los procesos de un programa. La información obtenida de los registros puede ayudar a los ingenieros a depurar transacciones individuales e identificar los cuellos de botella. El rastreo se puede activar automáticamente o mediante instrumentación manual.

Como una aplicación se integra con diferentes servicios, es importante identificar el rendimiento de la aplicación y sus servicios subyacentes. El rastreo funciona con trazas y extensiones. Un rastreo es el proceso completo de solicitud y cada rastreo se compone de intervalos. Un intervalo es un intervalo de tiempo etiquetado y es la actividad dentro de los componentes o servicios individuales de un sistema. Los rastreos proporcionan una visión general de lo que ocurre cuando se hace una solicitud a una aplicación.

Equipo de aplicaciones

Los desarrolladores de aplicaciones instrumentan sus aplicaciones enviando datos de rastreo para las solicitudes entrantes y salientes y otros eventos dentro de la aplicación, junto con metadatos sobre cada solicitud. Para generar rastreos, una aplicación debe estar equipada para generar rastreos. La instrumentación puede ser automática o manual.

Instrumentación automática

Puede recopilar la telemetría de una aplicación mediante la instrumentación automática sin tener que modificar el código fuente. Los agentes de instrumentación automática pueden generar trazas de una aplicación o servicio. Normalmente, los cambios de configuración se utilizan para añadir el agente u otro mecanismo.

La instrumentación de la biblioteca implica realizar cambios mínimos en el código de la aplicación para agregar instrumentación prediseñada. La instrumentación se dirige a bibliotecas o marcos específicos, como el AWS SDK, los clientes HTTP de Apache o los clientes de SQL.

Instrumentación manual

En este enfoque, los desarrolladores de aplicaciones añaden código de instrumentación a la aplicación en cada ubicación en la que desean recopilar información de rastreo. Por ejemplo, utilice la programación orientada a aspectos (AOP) para recopilar datos de rastreo. AWS X-Ray Los desarrolladores pueden usar los SDK para instrumentar sus aplicaciones.

Muestreo

Los datos de rastreo suelen generarse en grandes volúmenes. Es importante contar con un mecanismo para determinar si los datos de rastreo se deben exportar o no. El muestreo es el proceso de determinar qué datos deben exportarse. Por lo general, esto se hace para ahorrar costos. Al personalizar las reglas de muestreo, puede controlar la cantidad de datos que va a registrar. También puede cambiar el comportamiento del muestreo sin cambiar ni volver a implementar el código. Es importante controlar la frecuencia de muestreo para generar la cantidad correcta de trazas.

Los desarrolladores de aplicaciones pueden anotar las trazas añadiendo metadatos como pares clave-valor. Las anotaciones enriquecen las trazas y ayudan a refinar el filtrado en el backend.

DevOps equipo

DevOps A menudo se pide a los ingenieros que configuren un entorno de rastreo para que el desarrollador de la aplicación visualice los rastros de la infraestructura y las aplicaciones. La configuración del entorno de rastreo implica recopilar datos de rastreo de diferentes fuentes y enviarlos a un almacén central para su visualización.

Backend de rastreo

Un backend de rastreo es un servicio como el AWS X-Ray que recopila datos sobre las solicitudes que atiende tu aplicación. Proporciona herramientas que puede usar para ver, filtrar y obtener información sobre esos datos a fin de identificar problemas y oportunidades de optimización. Para cualquier solicitud rastreada hasta su aplicación, puede ver información detallada sobre la solicitud y la respuesta, así como sobre otras llamadas que la aplicación realiza a AWS los recursos intermedios, los microservicios, las bases de datos y las API web.

Automatizar el rastreo

Dado que las diferentes aplicaciones tienen diferentes requisitos de rastreo, es importante automatizar la configuración y el funcionamiento de la infraestructura de rastreo. Utilice las herramientas de IaC para aprovisionar el backend de la infraestructura de rastreo.

Utilice canalizaciones de CD para automatizar lo siguiente:

  • Implemente la infraestructura de rastreo a pedido y destrúyala cuando no sea necesaria.

  • Implemente la configuración de rastreo en todas las aplicaciones.

Herramientas de rastreo

AWS proporciona los siguientes servicios de rastreo y su visualización asociada: