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
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:
-
AWS X-Ray recibe trazas de su aplicación, además de las trazas de AWS los servicios que utiliza su aplicación y que ya están integrados con X-Ray. Existen varios SDK, agentes y herramientas que puede utilizar para instrumentar su aplicación para rastreo de X-Ray. Para obtener más información, consulte la Documentación de AWS X-Ray.
Los desarrolladores también pueden usar AWS X-Ray los SDK para enviar trazas a X-Ray. AWS X-Ray proporciona los SDK para GoJava, Node.jsPython, .NET y. Ruby Cada SDK de X-Ray proporciona lo siguiente:
-
Interceptadores que añadir a su código para rastrear solicitudes HTTP entrantes
-
Controladores de clientes para instrumentar los clientes AWS del SDK que su aplicación utiliza para llamar a otros servicios AWS
-
Un cliente HTTP para instrumentar llamadas a servicios web HTTP internos y externos
Los SDK de X-Ray también admiten llamadas de instrumentación a bases de datos SQL, instrumentación automática de clientes de AWS SDK y otras funciones. En lugar de enviar los datos de rastro directamente a X-Ray, el SDK envía documentos de segmento JSON a un proceso del daemon que escucha el tráfico UDP. El daemon de X-Ray almacena en búfer segmentos en una cola y los carga en X-Ray en lotes. Para obtener más información sobre la instrumentación de su aplicación mediante un SDK de X-Ray, consulte la documentación de X-Ray.
-
-
Amazon OpenSearch Service es un servicio AWS gestionado para ejecutar y escalar OpenSearch clústeres, que se puede utilizar para almacenar registros, métricas y seguimientos de forma centralizada. El complemento Observability proporciona una experiencia unificada para recopilar y supervisar métricas, registros y seguimientos de orígenes de datos habituales. La recopilación y el monitoreo de datos en un solo lugar proporcionan una end-to-end observabilidad completa de toda la infraestructura. Para obtener información sobre la implementación, consulte la documentación del OpenSearch servicio.
-
AWS Distro for OpenTelemetry (ADOT) es una AWS distribución basada en el proyecto Cloud Native Computing Foundation (CNCF). OpenTelemetry Actualmente, ADOT incluye soporte de instrumentación automática para Java y Python.
Además, ADOT admite la instrumentación automática de AWS Lambda funciones y sus solicitudes posteriores mediante Node.js y Python tiempos de ejecuciónJava, mediante capas Lambda gestionadas por ADOT. Los desarrolladores pueden usar el recopilador ADOT para enviar rastreos a diferentes backends, incluido AWS X-Ray Amazon OpenSearch Service. Para ver un ejemplo de referencia sobre cómo instrumentar su aplicación mediante el SDK de ADOT, consulte la documentación.
Para ver un ejemplo de referencia sobre cómo usar el SDK de ADOT para enviar datos a Amazon OpenSearch Service, consulta la documentación del OpenSearch servicio. Para ver un ejemplo de referencia sobre cómo instrumentar una aplicación que se ejecuta en Amazon EKS, consulte la entrada del blog Recopilación de métricas y trazas mediante complementos de Amazon EKS para AWS Distro for OpenTelemetry
.