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.
Migración de la instrumentación de rayos X a la instrumentación OpenTelemetry
X-Ray está pasando a ser OpenTelemetry (OTel) su principal estándar de instrumentación para el rastreo y la observabilidad de las aplicaciones. Este cambio estratégico se alinea AWS con las mejores prácticas de la industria y ofrece a los clientes una solución más completa, flexible y preparada para el futuro para sus necesidades de observabilidad. OpenTelemetrySu amplia adopción en la industria permite rastrear las solicitudes en diversos sistemas, incluidos aquellos externos AWS que pueden no integrarse directamente con X-Ray.
En este capítulo se ofrecen recomendaciones para una transición fluida y se hace hincapié en la importancia de migrar a soluciones OpenTelemetry basadas en sistemas para garantizar el soporte y el acceso continuos a las funciones más recientes en materia de observabilidad e instrumentación de aplicaciones.
Se recomienda adoptarla OpenTelemetry como solución de observabilidad para instrumentar su aplicación.
Comprensión OpenTelemetry
OpenTelemetry es un marco de observabilidad estándar del sector que proporciona protocolos y herramientas estandarizados para recopilar datos de telemetría. Ofrece un enfoque unificado para instrumentar, generar, recopilar y exportar datos de telemetría, como métricas, registros y trazas.
Al migrar de X-Ray SDKs a OpenTelemetry, obtiene los siguientes beneficios:
Compatibilidad mejorada con el marco y la instrumentación de bibliotecas
Support para lenguajes de programación adicionales
Capacidades de instrumentación automática
Opciones de configuración de muestreo flexibles
Recopilación unificada de métricas, registros y seguimientos
El OpenTelemetry recopilador ofrece más opciones para los formatos de recopilación de datos y los destinos de exportación que el daemon X-Ray.
OpenTelemetry soporte en AWS
AWS proporciona múltiples soluciones para trabajar con OpenTelemetry:
-
AWS Distro para OpenTelemetry
Exporte OpenTelemetry trazas como segmentos a X-Ray.
Para obtener más información, consulte AWS Distro for OpenTelemetry
. -
CloudWatch Señales de aplicación
Exporte OpenTelemetry trazas y métricas personalizadas para supervisar el estado de las aplicaciones.
Para obtener más información, consulte Trabajar con señales de aplicaciones.
-
CloudWatch OTel Punto final
Exporte OpenTelemetry las trazas a X-Ray mediante el OTel punto final HTTP con OpenTelemetry instrumentación nativa.
Para obtener más información, consulte Uso de puntos OTel finales.
Utilización con OpenTelemetry AWS CloudWatch
AWS CloudWatch admite los OpenTelemetry rastreos a través de la instrumentación de aplicaciones del lado del cliente y de AWS CloudWatch servicios nativos, como Application Signals, Trace, Map, Metrics y Logs. Para obtener más información, consulte OpenTelemetry.
Comprensión OpenTelemetry de los conceptos de migración
La siguiente tabla mapea los conceptos de X-Ray con sus OpenTelemetry equivalentes. Comprender estos mapeos le ayuda a traducir su instrumentación de rayos X existente a: OpenTelemetry
Concepto de X-Ray | OpenTelemetry concepto |
---|---|
Grabador de rayos X | Tracer Provider y Tracer |
Complementos del servicio | Detector de recursos |
Segmento | (Servidor) España |
Subsegmento | Span (sin servidor) |
Reglas de muestreo de rayos X | OpenTelemetry Muestreo (personalizable) |
Emisor de X-Ray | Exportador de España (personalizable) |
Anotaciones/metadatos | Atributos |
Instrumentación de biblioteca | Instrumentación de biblioteca |
Contexto de X-Ray Trace | Contexto de Span |
Propagación del contexto de X-Ray Trace | Propagación del contexto de rastreo del W3C |
Muestreo de trazas de rayos X | OpenTelemetry Muestreo de rastros |
N/A | Procesamiento de intervalos |
N/A | Equipaje |
Demonio X-Ray | OpenTelemetry Coleccionista |
nota
Para obtener más información sobre OpenTelemetry los conceptos, consulte la OpenTelemetry documentación
Comparación de características
En la siguiente tabla se muestran las funciones compatibles con ambos servicios. Utilice esta información para identificar las brechas que necesite abordar durante la migración:
Característica | Instrumentación de rayos X | OpenTelemetry instrumentación |
---|---|---|
Instrumentación de biblioteca | Soportado | Compatible |
Muestreo de rayos X | Compatible |
Compatible con OTel Java/.net/Go Compatible con ADOT Java/. NET/Python/Node.js |
Propagación del contexto de trazas de rayos X | Soportado | Compatible |
Detección de recursos | Soportado | Compatible |
Anotaciones de segmentos | Soportado | Compatible |
Metadatos de segmentos | Soportado | Compatible |
Autoinstrumentación sin código | Compatible con Java |
Compatible con OTel Java/. NET/Python/Node.js Compatible con ADOT Java/. NET/Python/Node.js |
Creación de trazas manuales | Soportado | Compatible |
Configuración y configuración del rastreo
Para crear trazas OpenTelemetry, necesitas un rastreador. Para obtener un rastreador, debe inicializar un proveedor de rastreadores en su aplicación. Esto es similar a la forma en que se utiliza la grabadora de rayos X para configurar los rayos X y crear segmentos y subsegmentos en un trazado de rayos X.
nota
El OpenTelemetry Tracer Provider ofrece más opciones de configuración que el grabador de rayos X.
Comprender la estructura de los datos de rastreo
Tras comprender los conceptos básicos y los mapeos de características, podrá obtener información sobre los detalles específicos de la implementación, como la estructura de los datos de rastreo y el muestreo.
OpenTelemetry utiliza intervalos en lugar de segmentos y subsegmentos para estructurar los datos de rastreo. Cada tramo incluye los siguientes componentes:
Nombre
ID único
Marcas de tiempo de inicio y finalización
Tipo de lapso
Contexto de Span
Atributos (metadatos clave-valor)
Eventos (registros con fecha y hora)
Enlaces a otros intervalos
Información de estado
Referencias del rango de padres
Al migrar a OpenTelemetry, los tramos se convierten automáticamente en segmentos o subsegmentos de X-Ray. Esto garantiza que su experiencia de CloudWatch consola actual permanezca inalterada.
Trabajando con atributos de intervalo
El SDK de X-Ray ofrece dos formas de añadir datos a segmentos y subsegmentos:
- Anotaciones
-
Pares clave-valor que se indexan para filtrar y buscar
- Metadatos
-
Pares clave-valor que contienen datos complejos que no están indexados para la búsqueda
De forma predeterminada, los OpenTelemetry atributos de espacio se convierten en metadatos en los datos sin procesar de X-Ray. Para convertir atributos específicos en anotaciones, añada sus claves a la lista de aws.xray.annotations
atributos.
-
Para obtener más información sobre OpenTelemetry los conceptos, consulte Traces OpenTelemetry
-
Para obtener más información sobre cómo OpenTelemetry los datos se asignan a los datos de rayos X, consulte OpenTelemetry Traducción de modelos de datos de rayos X
Detectar recursos en su entorno
OpenTelemetry usa Resource Detectors para recopilar metadatos sobre los recursos que generan datos de telemetría. Estos metadatos se almacenan como atributos de recurso. Por ejemplo, una entidad que produce telemetría podría ser un clúster de Amazon ECS o una EC2 instancia de Amazon, y los atributos de recursos que se pueden registrar desde estas entidades pueden incluir el ARN del clúster de Amazon ECS o el ID de instancia de Amazon EC2 .
-
Para obtener información sobre los complementos del servicio X-Ray, consulte Configuración del SDK de X-Ray
Administrar las estrategias de muestreo
El muestreo de trazas le ayuda a administrar los costos al recopilar datos de un subconjunto representativo de solicitudes en lugar de todas las solicitudes. OpenTelemetry Tanto X-Ray como X-Ray admiten el muestreo, pero lo implementan de manera diferente.
nota
El muestreo de menos del 100% de las trazas reduce los costes de observabilidad y, al mismo tiempo, permite obtener información significativa sobre el rendimiento de la aplicación.
OpenTelemetry proporciona varias estrategias de muestreo integradas y le permite crear estrategias personalizadas. También puede configurar un muestreador remoto de rayos X en algunos lenguajes del SDK para utilizar las reglas de muestreo de rayos X. OpenTelemetry
Las estrategias de muestreo adicionales OpenTelemetry son las siguientes:
Muestreo basado en los padres: respeta la decisión de muestreo del grupo original antes de aplicar estrategias de muestreo adicionales
Muestreo basado en la proporción de trazas: >Muestrea aleatoriamente un porcentaje específico de intervalos
Muestreo de cola: aplica reglas de muestreo para completar las trazas en el colector OpenTelemetry
Muestreadores personalizados: implemente su propia lógica de muestreo mediante la interfaz de muestreo
Para obtener información sobre las reglas de muestreo de rayos X, consulte Reglas de muestreo en la consola de X-Ray
Para obtener información sobre el muestreo de OpenTelemetry cola, consulte Procesador de muestreo de cola
Administrar el contexto de rastreo
X-Ray SDKs gestiona el contexto del segmento para gestionar correctamente las relaciones padre-hijo entre los segmentos y los subsegmentos de una traza. OpenTelemetry utiliza un mecanismo similar para garantizar que los tramos tengan el intervalo principal correcto. Almacena y propaga los datos de rastreo en todo el contexto de una solicitud. Por ejemplo, cuando la aplicación procese una solicitud y cree un intervalo de servidor que represente esa solicitud, OpenTelemetry almacenará el intervalo de servidores en el OpenTelemetry contexto para que, cuando se cree un intervalo secundario, ese intervalo secundario pueda hacer referencia al intervalo del contexto como principal.
Propagar el contexto de rastreo
Tanto X-Ray como yo OpenTelemetry utilizan encabezados HTTP para propagar el contexto de rastreo en todos los servicios. Esto le permite vincular los datos de rastreo generados por diferentes servicios y mantener las decisiones de muestreo.
El SDK de X-Ray propaga automáticamente el contexto de rastreo mediante el encabezado de rastreo de X-Ray. Cuando un servicio llama a otro, el encabezado de rastreo contiene el contexto necesario para mantener las relaciones padre-hijo entre los rastreos.
OpenTelemetry admite varios formatos de encabezados de rastreo para la propagación del contexto, entre los que se incluyen:
-
Contexto de rastreo del W3C (predeterminado)
-
Cabecera de rastreo X-Ray
-
Otros formatos personalizados
nota
Puede configurarlo OpenTelemetry para usar uno o más formatos de encabezado. Por ejemplo, utilice el propagador de rayos X para enviar el contexto de rastreo a AWS los servicios que admiten el rastreo de rayos X.
Configure y utilice el propagador de rayos X para permitir el rastreo entre AWS los servicios. Esto le permite propagar el contexto de rastreo a los puntos finales de API Gateway y otros servicios compatibles con X-Ray.
-
Para obtener información sobre los encabezados de rastreo de X-Ray, consulte el encabezado de rastreo en la Guía para desarrolladores de X-Ray
-
Para obtener información sobre la propagación OpenTelemetry del contexto, consulte Contexto y propagación del contexto en la
documentación OpenTelemetry
Uso de la instrumentación de la biblioteca
Tanto X-Ray como OpenTelemetry yo proporcionan instrumentación de biblioteca que requiere cambios mínimos en el código para añadir el rastreo a sus aplicaciones.
X-Ray proporciona funcionalidades de instrumentación de biblioteca. Esto le permite añadir instrumentaciones de rayos X prediseñadas con cambios mínimos en el código de la aplicación. Estas instrumentaciones son compatibles con bibliotecas específicas, como el AWS SDK y los clientes HTTP, así como con marcos web como Spring Boot o Express.js.
OpenTelemetryLas bibliotecas de instrumentación generan extensiones detalladas para sus bibliotecas mediante enlaces a las bibliotecas o mediante la modificación automática del código, lo que requiere cambios mínimos en el código.
Exportación de trazas
X-Ray y OpenTelemetry utilizan diferentes métodos para exportar los datos de rastreo.
Exportación de trazas de rayos X
Los X-Ray SDKs utilizan un emisor para enviar datos de rastreo:
Envía segmentos y subsegmentos al Demonio X-Ray
Utiliza UDP para E/S sin bloqueo
Configurado de forma predeterminada en el SDK
OpenTelemetry exportación de trazas
OpenTelemetry utiliza Span Exporters configurables para enviar datos de rastreo:
Utiliza los protocolos http://protobuf o grpc
Exporta los tramos a los puntos finales supervisados por el recopilador o el agente OpenTelemetry CloudWatch
Permite configurar los exportadores de forma personalizada
Procesamiento y reenvío de trazas
Tanto X-Ray como OpenTelemetry yo proporcionan componentes para recibir, procesar y reenviar datos de rastreo.
Procesamiento de trazas de rayos X
El Demonio X-Ray gestiona el procesamiento de trazas:
Escucha el tráfico UDP de X-Ray SDKs
Reparte segmentos y subsegmentos
Carga lotes al servicio de X-Ray
OpenTelemetry procesamiento de trazas
El OpenTelemetry recopilador gestiona el procesamiento de trazas:
Recibe trazas de servicios instrumentados
Procesa y, opcionalmente, modifica los datos de rastreo
Envía las trazas procesadas a varios backends, incluido X-Ray
nota
El AWS CloudWatch agente también puede recibir y enviar OpenTelemetry trazas a X-Ray. Para obtener más información, consulte Recopile métricas y rastreos con OpenTelemetry.
Procesamiento de intervalos (concepto OpenTelemetry específico)
OpenTelemetry utiliza procesadores Span para modificar los intervalos a medida que se crean:
Permite leer y modificar los intervalos al crearlos o completarlos
Permite una lógica personalizada para el manejo de los intervalos
Equipaje (OpenTelemetryconcepto específico)
OpenTelemetryLa función de equipaje permite la propagación de datos clave-valor:
Permite pasar datos arbitrarios junto con el contexto de rastreo
Útil para propagar información específica de la aplicación más allá de los límites del servicio
Para obtener información sobre el OpenTelemetry recopilador, consulte Collector OpenTelemetry
Para obtener información sobre los conceptos de rayos X, consulte Conceptos de rayos X en la Guía para desarrolladores de X-Ray
Información general sobre la migración
En esta sección se proporciona una descripción general de los cambios de código necesarios para la migración. La siguiente lista contiene una guía específica para cada idioma y los pasos de migración de X-Ray Daemon.
importante
Para migrar completamente de la instrumentación de rayos X a OpenTelemetry la instrumentación, necesita:
Sustituya el uso del SDK de X-Ray por una OpenTelemetry solución
Sustituya el X-Ray Daemon por el CloudWatch agente o el OpenTelemetry colector (con X-Ray Exporter)
Recomendaciones para aplicaciones nuevas y existentes
Para las aplicaciones nuevas y existentes, se recomienda utilizar las siguientes soluciones para habilitar el rastreo en las aplicaciones:
- Instrumentación
-
OpenTelemetry SDKs
AWS Distribución para instrumentación OpenTelemetry
- Recopilación de datos
-
OpenTelemetry Recopilador
CloudWatch Agente
Tras migrar a soluciones OpenTelemetry basadas en bases, su CloudWatch experiencia seguirá siendo la misma. Podrá seguir viendo sus trazas en el mismo formato en las páginas de trazas y mapas de trazas de la CloudWatch consola, o recuperar sus datos de rastreo a través del X-Ray APIs.
Cambios en la configuración de rastreo
Debe reemplazar la configuración de X-Ray por una OpenTelemetry configuración.
Característica | SDK de X-Ray | OpenTelemetry |
---|---|---|
Configuraciones predeterminadas |
|
|
Configuraciones manuales |
|
|
Cambios en la instrumentación de la biblioteca
Actualice su código para usar OpenTelemetry Library Instrumentation en lugar de X-Ray Library Instrumentation para AWS SDK, clientes HTTP, marcos web y otras bibliotecas. Esto genera OpenTelemetry trazas en lugar de trazas de X-Ray.
nota
Los cambios en el código varían según el idioma y la biblioteca. Consulte las guías de migración específicas del idioma para obtener instrucciones detalladas.
Cambios en la instrumentación del entorno Lambda
Para utilizarlas OpenTelemetry en las funciones de Lambda, elija una de estas opciones de configuración:
-
Utilice una capa Lambda de autoinstrumentación:
-
Capa Lambda de señales de CloudWatch aplicación (recomendada)
nota
Para utilizar únicamente el rastreo, defina la variable de entorno Lambda.
OTEL_AWS_APPLICATION_SIGNALS_ENABLED=false
-
-
Configuración manual OpenTelemetry para la función Lambda:
Configure un procesador Span simple con un exportador Span UDP de X-Ray
Configurar un propagador Lambda de X-Ray
Creación manual de datos de rastreo
Sustituya los segmentos y subsegmentos de X-Ray por OpenTelemetry Spans:
Usa un OpenTelemetry rastreador para crear tramos
Añadir atributos a Spans (equivalentes a anotaciones y metadatos de X-Ray)
importante
Cuando se envía a X-Ray:
Los tramos de servidor se convierten en segmentos de X-Ray
Otros tramos se convierten en subsegmentos de X-Ray
Los atributos se convierten en metadatos de forma predeterminada
Para convertir un atributo en una anotación, añada su clave a la lista de aws.xray.annotations
atributos. Para obtener más información, consulte Habilitar anotaciones de rayos X personalizadas
Migración de X-Ray Daemon a AWS CloudWatch agente o recopilador OpenTelemetry
Puede utilizar el CloudWatch agente o el OpenTelemetry recopilador para recibir las trazas de sus aplicaciones instrumentadas y enviarlas a X-Ray.
nota
La versión 1.300025.0 del CloudWatch agente y las versiones posteriores pueden recopilar trazas. OpenTelemetry El uso del CloudWatch agente en lugar del Demonio X-Ray reduce la cantidad de agentes que debe administrar. Para obtener más información, consulte Recopilación de métricas, registros y seguimientos con el CloudWatch agente.
Secciones
Migración en Amazon EC2 o en servidores locales
importante
Detenga el proceso de X-Ray Daemon antes de utilizar el CloudWatch agente o el OpenTelemetry recopilador para evitar conflictos en los puertos.
Configuración de X-Ray Daemon existente
Instalación del daemon
Su uso actual de X-Ray Daemon se instaló mediante uno de estos métodos:
- Instalación manual
-
Descargue y ejecute el archivo ejecutable desde el bucket Amazon S3 del daemon X-Ray.
- Instalación automática
-
Utilice este script para instalar el daemon al lanzar una instancia:
#!/bin/bash curl https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2/xray-daemon/aws-xray-daemon-3.x.rpm \ -o /home/ec2-user/xray.rpm yum install -y /home/ec2-user/xray.rpm
Configuración del daemon de
Su uso actual de X-Ray Daemon se configuró mediante:
-
Argumentos de línea de comandos
-
Archivo de configuración (
xray-daemon.yaml
)
ejemplo Uso de un archivo de configuración
./xray -c ~/xray-daemon.yaml
Ejecutar el demonio
Su uso actual de X-Ray Daemon se inició con el siguiente comando:
~/xray-daemon$ ./xray -o -n us-east-1
Eliminando el daemon
Para eliminar el Demonio X-Ray de tu EC2 instancia de Amazon:
-
Detenga el servicio de daemon:
systemctl stop xray
-
Elimine el archivo de configuración:
rm ~/
path
/to
/xray-daemon.yaml -
Si está configurado, elimine el archivo de registro:
nota
La ubicación del archivo de registro depende de la configuración:
-
Configuración de línea de comandos:
/var/log/xray-daemon.log
-
Archivo de configuración: compruebe la
LogPath
configuración
-
Configuración del CloudWatch agente
Instalación del agente
Para obtener instrucciones de instalación, consulte Instalación del CloudWatch agente en un servidor local.
Configuración del agente
-
Cree un archivo de configuración para habilitar la recopilación de trazas. Para obtener más información, consulte Creación del archivo de configuración del CloudWatch agente.
-
Configure los permisos de IAM:
-
Adjunte un rol de IAM o especifique las credenciales del agente. Para obtener más información, consulte Configuración de las funciones de IAM.
-
Asegúrese de que el rol o las credenciales incluyan el
xray:PutTraceSegments
permiso.
-
Cómo iniciar el agente de
Para obtener instrucciones sobre cómo iniciar el agente, consulte Iniciar el CloudWatch agente mediante la línea de comandos.
Configuración del OpenTelemetry recopilador
Instalación del colector
Descargue e instale el OpenTelemetry recopilador para su sistema operativo. Para obtener instrucciones, consulte Instalación del recopilador
Configuración del recopilador
Configure los siguientes componentes en su recopilador:
-
extensión awsproxy
Necesario para el muestreo de rayos X
-
OTel receptores
Recopila los rastros de su aplicación
-
exportador de rayos X
Envía trazas a X-Ray
ejemplo Configuración del recopilador de muestras: otel-collector-config .yaml
extensions: awsproxy: endpoint: 127.0.0.1:2000 health_check: receivers: otlp: protocols: grpc: endpoint: 127.0.0.1:4317 http: endpoint: 127.0.0.1:4318 processors: batch: exporters: awsxray: region: 'us-east-1' service: pipelines: traces: receivers: [otlp] exporters: [awsxray] extensions: [awsproxy, health_check]
importante
Configure AWS las credenciales con el xray:PutTraceSegments
permiso. Para obtener más información, consulte Especificar credenciales.
Iniciar el recopilador
Ejecute el recopilador con su archivo de configuración:
otelcol --config=otel-collector-config.yaml
Migración en Amazon ECS
importante
Su función de tarea debe tener el xray:PutTraceSegments
permiso de todos los recopiladores que utilice.
Detenga cualquier contenedor de X-Ray Daemon existente antes de ejecutar el contenedor del CloudWatch agente o del OpenTelemetry recopilador en el mismo host para evitar conflictos de puertos.
Uso del agente CloudWatch
Obtenga la imagen de Docker de la galería pública de Amazon ECR.
Cree un archivo de configuración llamado:
cw-agent-otel.json
{ "traces": { "traces_collected": { "xray": { "tcp_proxy": { "bind_address": "0.0.0.0:2000" } }, "otlp": { "grpc_endpoint": "0.0.0.0:4317", "http_endpoint": "0.0.0.0:4318" } } } }
Guarde la configuración en el almacén de parámetros de Systems Manager:
Abra el icono https://console.aws.amazon.com/systems-manager/
Seleccione Crear parámetro
-
Escriba los siguientes valores:
Nombre:
/ecs/cwagent/otel-config
Nivel: Estándar
Tipo: cadena
Tipo de datos: texto
Valor: [Pegue aquí la configuración de cw-agent-otel .json]
Cree una definición de tarea mediante el modo de red puente:
En la definición de tarea, la configuración depende del modo de red que se utilice. El modo de red puente es la opción predeterminada y se puede utilizar en la VPC predeterminada. En una red puente, defina la variable de
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
entorno para indicar al OpenTelemetry SDK cuál es el punto final y el puerto del CloudWatch agente. También debes crear un enlace desde el contenedor de tu aplicación al contenedor de Collector para enviar las trazas desde el OpenTelemetry SDK de tu aplicación al contenedor de Collector.ejemplo CloudWatch definición de la tarea del agente
{ "containerDefinitions": [ { "name": "cwagent", "image": "public.ecr.aws/cloudwatch-agent/cloudwatch-agent:latest", "portMappings": [ { "containerPort": 4318, "hostPort": 4318, "protocol": "tcp" }, { "containerPort": 4317, "hostPort": 4317, "protocol": "tcp" }, { "containerPort": 2000, "hostPort": 2000, "protocol": "tcp" } ], "secrets": [ { "name": "CW_CONFIG_CONTENT", "valueFrom": "/ecs/cwagent/otel-config" } ] }, { "name": "application", "image": "APPLICATION_IMAGE", "links": ["cwagent"], "environment": [ { "name": "OTEL_EXPORTER_OTLP_TRACES_ENDPOINT", "value": "http://cwagent:4318/v1/traces" } ] } ] }
Para obtener más información, consulte Implementación del CloudWatch agente para recopilar métricas a EC2 nivel de instancia de Amazon en Amazon ECS.
Uso del recopilador OpenTelemetry
-
Obtenga la imagen de Docker
otel/opentelemetry-collector-contrib
desde Docker Hub. -
Cree un archivo de configuración denominado
otel-collector-config.yaml
con el mismo contenido que se muestra en la sección EC2 Configuración del recopilador de Amazon, pero actualice los puntos de enlace para usarlos0.0.0.0
en lugar de127.0.0.1
. Para usar esta configuración en Amazon ECS, puede almacenar la configuración en el almacén de parámetros de Systems Manager. En primer lugar, vaya a la consola del almacén de parámetros de Systems Manager y seleccione Crear nuevo parámetro. Cree un parámetro nuevo con la siguiente información:
Nombre:/ecs/otel/config(se hará referencia a este nombre en la definición de tarea del recopilador)
Nivel: Estándar
Tipo: cadena
Tipo de datos: texto
Valor: [Pegue aquí la configuración otel-collector-config .yaml]
-
Cree una definición de tarea para implementar el OpenTelemetry recopilador utilizando el modo de red puente como ejemplo.
En la definición de la tarea, la configuración depende del modo de red que utilice. El modo de red puente es la opción predeterminada y se puede utilizar en la VPC predeterminada. En una red puente, defina la variable de
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
entorno para indicar al OpenTelemetry SDK cuáles son el punto final y el puerto del OpenTelemetry recopilador. También debe crear un enlace desde el contenedor de la aplicación al contenedor del recopilador para que las trazas se envíen desde el OpenTelemetry SDK de la aplicación al contenedor del recopilador.ejemplo OpenTelemetry definición de tareas de recopilación
{ "containerDefinitions": [ { "name": "otel-collector", "image": "otel/opentelemetry-collector-contrib", "portMappings": [ { "containerPort": 2000, "hostPort": 2000 }, { "containerPort": 4317, "hostPort": 4317 }, { "containerPort": 4318, "hostPort": 4318 } ], "command": [ "--config", "env:SSM_CONFIG" ], "secrets": [ { "name": "SSM_CONFIG", "valueFrom": "/ecs/otel/config" } ] }, { "name": "application", "image": "APPLICATION_IMAGE", "links": ["otel-collector"], "environment": [ { "name": "OTEL_EXPORTER_OTLP_TRACES_ENDPOINT", "value": "http://otel-collector:4318/v1/traces" } ] } ] }
Migración en Elastic Beanstalk
importante
Detenga el proceso de X-Ray Daemon antes de utilizar el CloudWatch agente para evitar conflictos en los puertos.
La integración existente de X-Ray Daemon se activó mediante la consola de Elastic Beanstalk o configurando X-Ray Daemon en el código fuente de la aplicación con un archivo de configuración.
Uso del agente CloudWatch
En la plataforma Amazon Linux 2, configure el CloudWatch agente mediante un archivo .ebextensions
de configuración:
-
Cree un directorio con el nombre de
.ebextensions
la raíz de su proyecto -
Cree un archivo nombrado
cloudwatch.config
en el.ebextensions
directorio con el siguiente contenido:files: "/opt/aws/amazon-cloudwatch-agent/etc/config.json": mode: "0644" owner: root group: root content: | { "traces": { "traces_collected": { "otlp": { "grpc_endpoint": "12.0.0.1:4317", "http_endpoint": "12.0.0.1:4318" } } } } container_commands: start_agent: command: /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a append-config -c file:/opt/aws/amazon-cloudwatch-agent/etc/config.json -s
-
Incluya el
.ebextensions
directorio en el paquete de código fuente de la aplicación al realizar la implementación
Para obtener más información sobre los archivos de configuración de Elastic Beanstalk, consulte Personalización avanzada del entorno con archivos de configuración.