Exportación de telemetría sin recopilador mediante el SDK de AWS Distro para OpenTelemetry (ADOT)
Puede usar los SDK de ADOT para prescindir del recopilador y enviar rastros y registros directamente a puntos de conexión de OTLP.
nota
Application Signals incluye capacidades de búsqueda de transacciones. Para evitar la duplicación de costos, desactive Application Signals en el SDK de ADOT y mantenga OTEL_AWS_APPLICATION_SIGNALS_ENABLED establecido como falso (configuración predeterminada).
Temas
Requisito previo
Asegúrese de que Transaction Search esté habilitado para enviar intervalos al punto de conexión OTLP de X-Ray. Para obtener información, consulte Introducción a Transaction Search.
Configuración de los permisos de IAM para el rol
Siga estos pasos para asociar las políticas de IAM necesarias a su rol:
Rastros:
-
Abra la consola de IAM en https://console.aws.amazon.com/iam/
. -
Elija Roles y busque y seleccione el rol configurado.
-
En la pestaña Permisos, elija Agregar permisos, luego Asociar políticas.
-
En el cuadro de búsqueda, busque
AWSXrayWriteOnlyPolicy. -
Seleccione la política
AWSXrayWriteOnlyPolicyy elija Agregar permisos.
Registros:
-
Abra la consola de IAM en https://console.aws.amazon.com/iam/
. -
Elija Roles y busque y seleccione el rol configurado.
-
En la pestaña Permisos, elija Agregar permisos y después Crear política insertada.
-
Seleccione Registros de CloudWatch para el servicio y, en Acciones permitidas, filtre y seleccione:
logs:PutLogEvents logs:DescribeLogGroups logs:DescribeLogStreams -
A continuación se muestra una política de IAM de ejemplo que concede los permisos necesarios.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "CloudWatchLogsAccess", "Effect": "Allow", "Action": [ "logs:PutLogEvents", "logs:DescribeLogGroups", "logs:DescribeLogStreams" ], "Resource": [ "arn:aws:logs:*:*:log-group:*" ] } ] }
Configuración de los proveedores de credenciales
ADOT utiliza los SDK de AWS para descubrir automáticamente las credenciales válidas necesarias para exportar los datos de telemetría a AWS. Para obtener instrucciones sobre cómo configurar las credenciales para su entorno en particular, consulte la documentación sobre la manera en que los SDK de AWS recuperan las credenciales.
Configuración de las credenciales de IAM para hosts en las instalaciones:
Introduzca el siguiente comando para configurar sus credenciales de AWS en su host en las instalaciones. Reemplace ACCESS_KEY_ID y SECRET_ACCESS_KEY por las credenciales del usuario o rol de IAM que haya configurado.
$ aws configure AWS Access Key ID [None]: ACCESS_KEY_ID AWS Secret Access Key [None]: SECRET_ACCESS_ID Default region name [None]: MY_REGION Default output format [None]: json
Habilitación de los SDK de ADOT
Puede habilitar los registros y rastros para su aplicación para que se envíen directamente a los puntos de conexión de OTLP desde el SDK de AWS Distro para OpenTelemetry (ADOT) en Java, Node.js, Python y .NET.
- Java
-
nota
Debe utilizar ADOT Java Agent, versión 2.11.2 o posterior para que estas características estén disponibles.
-
Descargue la última versión del agente de autoinstrumentación de AWS Distro para OpenTelemetry de Java. Puede descargar la última versión mediante este comando:
curl -L -O https://github.com/aws-observability/aws-otel-java-instrumentation/releases/latest/download/aws-opentelemetry-agent.jarPuede ver información sobre todas las versiones publicadas en aws-otel-java-instrumentation Lanzamientos
. Para habilitar el otro exportador que envía la telemetría directamente a los puntos de conexión de OTLP y optimizar los beneficios, utilice las variables de entorno siguientes antes de iniciar la aplicación:
Rastros:
-
Establezca
OTEL_EXPORTER_OTLP_TRACES_ENDPOINTpara especificar el punto de conexión de los rastros OTLP de X-Ray:https://xray.[AWSRegion].amazonaws.com/v1/tracesPor ejemplo:
export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT="https://xray.us-west-2.amazonaws.com/v1/traces" -
Establezca
OTEL_TRACES_EXPORTERenotlp(esto es opcional y es el valor predeterminado si esta variable de entorno no está establecida). -
Establezca la variable
OTEL_EXPORTER_OTLP_TRACES_PROTOCOLenhttp/protobuf(esto es opcional y es el valor predeterminado si esta variable de entorno no está establecida). -
Establezca la variable
OTEL_RESOURCE_ATTRIBUTESpara especificar la siguiente información como pares clave-valor. Application Signals usa estas variables de entorno, que se convierten en anotaciones de rastros de X-Ray y dimensiones de métricas de CloudWatch:-
(Opcional)
service.nameestablece el nombre del servicio. Esto se mostrará como el nombre del servicio de la aplicación en los paneles de Application Signals. Si no proporciona ningún valor para esta clave, se utiliza el valor predeterminado deUnknownService. -
(Opcional)
deployment.environmentestablece el entorno en el que se ejecuta la aplicación. Se mostrará como el entorno Alojado en de su aplicación. -
(Opcional) Para habilitar la correlación de registros, en
OTEL_RESOURCE_ATTRIBUTESdefina una variable de entorno adicionalaws.log.group.namescomo nombre de los grupos de registro de su aplicación. De este modo, los seguimientos y métricas de su aplicación se pueden correlacionar con las entradas de registro correspondientes de estos grupos de registro. En esta variable, sustituya$YOUR_APPLICATION_LOG_GROUPpor los nombres de los grupos de registro de la aplicación. Si tiene varios grupos de registro, puede usar el signo¶ separarlos, como en este ejemplo:aws.log.group.names=log-group-1&log-group-2. Para habilitar la correlación entre métricas y registros, basta con establecer esta variable de entorno actual. Para obtener más información, consulte Habilitación de la correlación entre métricas y registros. Para habilitar la correlación entre seguimientos y registros, también debe cambiar la configuración de registro de su aplicación. Para obtener más información, consulte Habilitación de la correlación entre seguimientos y registros.
-
Registros:
-
Establezca
OTEL_EXPORTER_OTLP_LOGS_ENDPOINTpara especificar el punto de conexión de registros OTLP de CloudWatch:https://logs.[AWSRegion].amazonaws.com/v1/logsPor ejemplo:
export OTEL_EXPORTER_OTLP_LOGS_ENDPOINT="https://logs.us-west-2.amazonaws.com/v1/logs" -
Establezca
OTEL_EXPORTER_OTLP_LOGS_HEADERSpara especificar el grupo de registro y el flujo de registro (nota: deben crearse antes de ejecutar ADOT) a los que desea exportar los registros:x-aws-log-group=[CW-LOG-GROUP-NAME],x-aws-log-stream=[CW-LOG-STREAM-NAME]Por ejemplo:
export OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=MyLogGroup,x-aws-log-stream=default -
Establezca
OTEL_LOGS_EXPORTERenotlp(esto es opcional y es el valor predeterminado si esta variable de entorno no está establecida). -
Establezca la variable
OTEL_EXPORTER_OTLP_LOGS_PROTOCOLenhttp/protobuf(esto es opcional y es el valor predeterminado si esta variable de entorno no está establecida).
-
Establezca
JAVA_TOOL_OPTIONSpara especificar la ruta en la que se almacena el agente de instrumentación automática de Java de AWS Distro para OpenTelemetry. Por ejemplo:export JAVA_TOOL_OPTIONS=" -javaagent:$AWS_ADOT_JAVA_INSTRUMENTATION_PATH" export AWS_ADOT_JAVA_INSTRUMENTATION_PATH="./aws-opentelemetry-agent.jar"Su aplicación debería ejecutarse ahora con la instrumentación Java de ADOT y generará intervalos y registros. Los intervalos se almacenarán en el grupo de registro de
aws/spansCloudWatch, mientras que los registros se almacenarán en el grupo de registro especificado en el encabezadoOTEL_EXPORTER_OTLP_LOGS_HEADERS. También puede ver los registros y las métricas correlacionados con sus intervalos en la consola de rastros y métricas de CloudWatch.Inicie la aplicación con las variables de entorno enumeradas en el paso anterior. A continuación se muestra un ejemplo de un script de inicio.
JAVA_TOOL_OPTIONS=" -javaagent:$AWS_ADOT_JAVA_INSTRUMENTATION_PATH" \ OTEL_METRICS_EXPORTER=none \ OTEL_TRACES_EXPORTER=otlp \ OTEL_EXPORTER_OTLP_TRACES_PROTOCOL=http/protobuf \ OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=https://xray.us-east-1.amazonaws.com/v1/traces \ OTEL_LOGS_EXPORTER=otlp \ OTEL_EXPORTER_OTLP_LOGS_PROTOCOL=http/protobuf \ OTEL_EXPORTER_OTLP_LOGS_ENDPOINT=https://logs.us-east-1.amazonaws.com/v1/logs \ OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=MyLogGroup,x-aws-log-stream=default OTEL_RESOURCE_ATTRIBUTES="service.name=$YOUR_SVC_NAME" \ java -jar $MY_JAVA_APP.jar
-
- Node.js
-
nota
Debe utilizar ADOT JavaScript, versión 0.7.0 o posterior para que estas características estén disponibles.
Descargue la última versión del agente de instrumentación automática de Java de AWS Distro para OpenTelemetry. Instálelo ejecutando el siguiente comando de .
npm install @aws/aws-distro-opentelemetry-node-autoinstrumentationPuede ver información sobre todas las versiones publicadas en aws-otel-js-instrumentation Releases
. Para habilitar el otro exportador que envía la telemetría directamente a los puntos de conexión de OTLP y optimizar los beneficios, utilice las variables de entorno siguientes antes de iniciar la aplicación:
Rastros:
-
Establezca
OTEL_EXPORTER_OTLP_TRACES_ENDPOINTpara especificar el punto de conexión de los rastros OTLP de X-Ray:https://xray.[AWSRegion].amazonaws.com/v1/tracesPor ejemplo:
export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT="https://xray.us-west-2.amazonaws.com/v1/traces" -
Establezca
OTEL_TRACES_EXPORTERenotlp(esto es opcional y es el valor predeterminado si esta variable de entorno no está establecida). -
Establezca la variable
OTEL_EXPORTER_OTLP_TRACES_PROTOCOLenhttp/protobuf(esto es opcional y es el valor predeterminado si esta variable de entorno no está establecida). -
Establezca la variable
OTEL_RESOURCE_ATTRIBUTESpara especificar la siguiente información como pares clave-valor. Application Signals usa estas variables de entorno, que se convierten en anotaciones de rastros de X-Ray y dimensiones de métricas de CloudWatch:-
(Opcional)
service.nameestablece el nombre del servicio. Esto se mostrará como el nombre del servicio de la aplicación en los paneles de Application Signals. Si no proporciona ningún valor para esta clave, se utiliza el valor predeterminado deUnknownService. -
(Opcional)
deployment.environmentestablece el entorno en el que se ejecuta la aplicación. Se mostrará como el entorno alojado en de su aplicación. -
(Opcional) Para habilitar la correlación de registros, en
OTEL_RESOURCE_ATTRIBUTESdefina una variable de entorno adicionalaws.log.group.namescomo nombre de los grupos de registro de su aplicación. De este modo, los seguimientos y métricas de su aplicación se pueden correlacionar con las entradas de registro correspondientes de estos grupos de registro. En esta variable, sustituya$YOUR_APPLICATION_LOG_GROUPpor los nombres de los grupos de registro de la aplicación. Si tiene varios grupos de registro, puede usar el signo¶ separarlos, como en este ejemplo:aws.log.group.names=log-group-1&log-group-2. Para habilitar la correlación entre métricas y registros, basta con establecer esta variable de entorno actual. Para obtener más información, consulte Habilitación de la correlación entre métricas y registros. Para habilitar la correlación entre seguimientos y registros, también debe cambiar la configuración de registro de su aplicación. Para obtener más información, consulte Habilitación de la correlación entre seguimientos y registros.
-
Registros:
-
Establezca
OTEL_EXPORTER_OTLP_LOGS_ENDPOINTpara especificar el punto de conexión de registros OTLP de CloudWatch:https://logs.[AWSRegion].amazonaws.com/v1/logsPor ejemplo:
export OTEL_EXPORTER_OTLP_LOGS_ENDPOINT="https://logs.us-west-2.amazonaws.com/v1/logs" -
Establezca
OTEL_EXPORTER_OTLP_LOGS_HEADERSpara especificar el grupo de registro y el flujo de registro (nota: deben crearse antes de ejecutar ADOT) a los que desea exportar los registros:x-aws-log-group=[CW-LOG-GROUP-NAME],x-aws-log-stream=[CW-LOG-STREAM-NAME]Por ejemplo:
export OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=MyLogGroup,x-aws-log-stream=default -
Establezca
OTEL_LOGS_EXPORTERenotlp(esto es opcional y es el valor predeterminado si esta variable de entorno no está establecida). -
Establezca la variable
OTEL_EXPORTER_OTLP_LOGS_PROTOCOLenhttp/protobuf(esto es opcional y es el valor predeterminado si esta variable de entorno no está establecida).
-
Su aplicación debería ejecutarse ahora con la instrumentación JavaScript de ADOT y generará intervalos y registros. Los intervalos se almacenarán en el grupo de registro de
aws/spansCloudWatch, mientras que los registros se almacenarán en el grupo de registro especificado en el encabezadoOTEL_EXPORTER_OTLP_LOGS_HEADERS. También puede ver los registros y las métricas correlacionados con sus intervalos en la consola de rastros y métricas de CloudWatch.Inicie la aplicación con las variables de entorno enumeradas en el paso anterior. A continuación se muestra un ejemplo de un script de inicio.
Sustituya
$SVC_NAMEpor el nombre de la aplicación. Esto se mostrará como el nombre de la aplicación.OTEL_METRICS_EXPORTER=none \ OTEL_TRACES_EXPORTER=otlp \ OTEL_EXPORTER_OTLP_TRACES_PROTOCOL=http/protobuf \ OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=https://xray.us-east-1.amazonaws.com/v1/traces \ OTEL_LOGS_EXPORTER=otlp \ OTEL_EXPORTER_OTLP_LOGS_PROTOCOL=http/protobuf \ OTEL_EXPORTER_OTLP_LOGS_ENDPOINT=https://logs.us-east-1.amazonaws.com/v1/logs \ OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=MyLogGroup,x-aws-log-stream=default OTEL_RESOURCE_ATTRIBUTES="service.name=$YOUR_SVC_NAME" \ node --require '@aws/aws-distro-opentelemetry-node-autoinstrumentation/register' your-application.js
- Python
-
nota
Debe usar ADOT Python, versión 0.10.0 o posterior y tener
botocoreinstalado para que estas características estén disponibles.Descargue la última versión del agente de instrumentación automática de Python de AWS Distro para OpenTelemetry. Instálelo ejecutando el siguiente comando de .
pip install aws-opentelemetry-distroPuede ver información sobre todas las versiones publicadas en aws-otel-python-instrumentation Releases
. Para habilitar el otro exportador que envía la telemetría directamente a los puntos de conexión de OTLP y optimizar los beneficios, utilice las variables de entorno siguientes antes de iniciar la aplicación:
Tanto para las configuraciones de rastros como de registros, debe establecer las siguientes variables de entorno:
-
De
OTEL_PYTHON_DISTROaaws_distro -
De
OTEL_PYTHON_CONFIGURATORaaws_configurator
Rastros:
-
Establezca
OTEL_EXPORTER_OTLP_TRACES_ENDPOINTpara especificar el punto de conexión de los rastros OTLP de X-Ray:https://xray.[AWSRegion].amazonaws.com/v1/tracesPor ejemplo:
export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT="https://xray.us-west-2.amazonaws.com/v1/traces" -
Establezca
OTEL_TRACES_EXPORTERenotlp(esto es opcional y es el valor predeterminado si esta variable de entorno no está establecida). -
Establezca la variable
OTEL_EXPORTER_OTLP_TRACES_PROTOCOLenhttp/protobuf(esto es opcional y es el valor predeterminado si esta variable de entorno no está establecida). -
Establezca la variable
OTEL_RESOURCE_ATTRIBUTESpara especificar la siguiente información como pares clave-valor. Application Signals usa estas variables de entorno, que se convierten en anotaciones de rastros de X-Ray y dimensiones de métricas de CloudWatch:-
(Opcional)
service.nameestablece el nombre del servicio. Esto se mostrará como el nombre del servicio de la aplicación en los paneles de Application Signals. Si no proporciona ningún valor para esta clave, se utiliza el valor predeterminado deUnknownService. -
(Opcional)
deployment.environmentestablece el entorno en el que se ejecuta la aplicación. Se mostrará como el entorno alojado en de su aplicación. -
(Opcional) Para habilitar la correlación de registros, en
OTEL_RESOURCE_ATTRIBUTESdefina una variable de entorno adicionalaws.log.group.namescomo nombre de los grupos de registro de su aplicación. De este modo, los seguimientos y métricas de su aplicación se pueden correlacionar con las entradas de registro correspondientes de estos grupos de registro. En esta variable, sustituya$YOUR_APPLICATION_LOG_GROUPpor los nombres de los grupos de registro de la aplicación. Si tiene varios grupos de registro, puede usar el signo¶ separarlos, como en este ejemplo:aws.log.group.names=log-group-1&log-group-2. Para habilitar la correlación entre métricas y registros, basta con establecer esta variable de entorno actual. Para obtener más información, consulte Habilitación de la correlación entre métricas y registros. Para habilitar la correlación entre seguimientos y registros, también debe cambiar la configuración de registro de su aplicación. Para obtener más información, consulte Habilitación de la correlación entre seguimientos y registros.
-
Registros:
-
Establezca
OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLEDentrue -
Establezca
OTEL_EXPORTER_OTLP_LOGS_ENDPOINTpara especificar el punto de conexión de registros OTLP de CloudWatch:https://logs.[AWSRegion].amazonaws.com/v1/logsPor ejemplo:
export OTEL_EXPORTER_OTLP_LOGS_ENDPOINT="https://logs.us-west-2.amazonaws.com/v1/logs" -
Establezca
OTEL_EXPORTER_OTLP_LOGS_HEADERSpara especificar el grupo de registro y el flujo de registro (nota: deben crearse antes de ejecutar ADOT) a los que desea exportar los registros:x-aws-log-group=[CW-LOG-GROUP-NAME],x-aws-log-stream=[CW-LOG-STREAM-NAME]Por ejemplo:
export OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=MyLogGroup,x-aws-log-stream=default -
Establezca
OTEL_LOGS_EXPORTERenotlp(esto es opcional y es el valor predeterminado si esta variable de entorno no está establecida). -
Establezca la variable
OTEL_EXPORTER_OTLP_LOGS_PROTOCOLenhttp/protobuf(esto es opcional y es el valor predeterminado si esta variable de entorno no está establecida).
-
Su aplicación debería ejecutarse ahora con la instrumentación Python de ADOT y generará intervalos y registros. Los intervalos se almacenarán en el grupo de registro de
aws/spansCloudWatch, mientras que los registros se almacenarán en el grupo de registro especificado en el encabezadoOTEL_EXPORTER_OTLP_LOGS_HEADERS. También puede ver los registros y las métricas correlacionados con sus intervalos en la consola de rastros y métricas de CloudWatch.Inicie la aplicación con las variables de entorno enumeradas en el paso anterior. A continuación se muestra un ejemplo de un script de inicio.
Sustituya
$SVC_NAMEpor el nombre de la aplicación. Esto se mostrará como el nombre de la aplicación.Sustituya
$PYTHON_APPpor la ubicación y el nombre de la aplicación.OTEL_METRICS_EXPORTER=none \ OTEL_TRACES_EXPORTER=otlp \ OTEL_EXPORTER_OTLP_TRACES_PROTOCOL=http/protobuf \ OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=https://xray.us-east-1.amazonaws.com/v1/traces \ OTEL_LOGS_EXPORTER=otlp \ OTEL_EXPORTER_OTLP_LOGS_PROTOCOL=http/protobuf \ OTEL_EXPORTER_OTLP_LOGS_ENDPOINT=https://logs.us-east-1.amazonaws.com/v1/logs \ OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=MyLogGroup,x-aws-log-stream=default OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED=true OTEL_RESOURCE_ATTRIBUTES="service.name=$YOUR_SVC_NAME" \ opentelemetry-instrument python $MY_PYTHON_APP.py
- .Net
-
nota
-
Se necesita ADOT .NET, versión 1.8.0 o posterior para que estas características estén disponibles.
-
En este momento, no se admite la compresión.
-
En este momento, no se admiten los registros.
Descargue la versión más reciente del paquete de autoinstrumentación de .NET de Distro para OpenTelemetry de AWS. Puede ver información sobre todas las versiones publicadas en aws-otel-dotnet-instrumentation Releases
. Para habilitar otros exportadores que envían la telemetría directamente a los puntos de conexión de OTLP y optimizar los beneficios, utilice las variables de entorno siguientes antes de iniciar la aplicación (sustituya
dotnet-service-nameen la variable de entornoOTEL_RESOURCE_ATTRIBUTESpor el nombre del servicio a su elección):Rastros:
-
DEBE establecer
OTEL_TRACES_EXPORTERennone. -
DEBE establecer
OTEL_AWS_SIG_V4_ENABLEDentrue.Esta característica no se habilita automáticamente en .NET. La variable de entorno es obligatoria específicamente para identificar este caso de uso dentro de la instrumentación de .NET. Este requisito es exclusivo de .NET y no se aplica a otros lenguajes admitidos.
A continuación se muestra un ejemplo de configuración para Linux.
export INSTALL_DIR=OpenTelemetryDistribution export CORECLR_ENABLE_PROFILING=1 export CORECLR_PROFILER={918728DD-259F-4A6A-AC2B-B85E1B658318} export CORECLR_PROFILER_PATH=${INSTALL_DIR}/linux-x64/OpenTelemetry.AutoInstrumentation.Native.so export DOTNET_ADDITIONAL_DEPS=${INSTALL_DIR}/AdditionalDeps export DOTNET_SHARED_STORE=${INSTALL_DIR}/store export DOTNET_STARTUP_HOOKS=${INSTALL_DIR}/net/OpenTelemetry.AutoInstrumentation.StartupHook.dll export OTEL_DOTNET_AUTO_HOME=${INSTALL_DIR} export OTEL_DOTNET_AUTO_PLUGINS="AWS.Distro.OpenTelemetry.AutoInstrumentation.Plugin, AWS.Distro.OpenTelemetry.AutoInstrumentation" export OTEL_TRACES_EXPORTER=none export OTEL_AWS_SIG_V4_ENABLED=true export OTEL_RESOURCE_ATTRIBUTES=service.name=dotnet-service-name export OTEL_METRICS_EXPORTER=none export OTEL_LOGS_EXPORTER=none export OTEL_EXPORTER_OTLP_TRACES_PROTOCOL=http/protobuf export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=https://xray.us-east-1.amazonaws.com/v1/tracesA continuación se muestra un ejemplo de configuración para Windows Server:
$env:INSTALL_DIR = "OpenTelemetryDistribution" $env:CORECLR_ENABLE_PROFILING = 1 $env:CORECLR_PROFILER = "{918728DD-259F-4A6A-AC2B-B85E1B658318}" $env:CORECLR_PROFILER_PATH = Join-Path $env:INSTALL_DIR "win-x64/OpenTelemetry.AutoInstrumentation.Native.dll" $env:DOTNET_ADDITIONAL_DEPS = Join-Path $env:INSTALL_DIR "AdditionalDeps" $env:DOTNET_SHARED_STORE = Join-Path $env:INSTALL_DIR "store" $env:DOTNET_STARTUP_HOOKS = Join-Path $env:INSTALL_DIR "net/OpenTelemetry.AutoInstrumentation.StartupHook.dll" $env:OTEL_DOTNET_AUTO_HOME = $env:INSTALL_DIR $env:OTEL_DOTNET_AUTO_PLUGINS = "AWS.Distro.OpenTelemetry.AutoInstrumentation.Plugin, AWS.Distro.OpenTelemetry.AutoInstrumentation" $env:OTEL_TRACES_EXPORTER=none $env:OTEL_AWS_SIG_V4_ENABLED=true $env:OTEL_RESOURCE_ATTRIBUTES=service.name=dotnet-service-name $env:OTEL_METRICS_EXPORTER=none $env:OTEL_LOGS_EXPORTER=none $env:OTEL_EXPORTER_OTLP_TRACES_PROTOCOL=http/protobuf $env:OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=https://xray.us-east-1.amazonaws.com/v1/tracesInicie la aplicación con las variables de entorno enumeradas en el paso anterior.
(Opcional) Como alternativa, puede utilizar los scripts de instalación proporcionados para facilitar la instalación y la configuración del paquete de autoinstrumentación de AWS Distro para OpenTelemetry .NET.
En Linux, descargue y ejecute el script de instalación de Bash desde la página de versiones de GitHub:
# Download and Install curl -L -O https://github.com/aws-observability/aws-otel-dotnet-instrumentation/releases/latest/download/aws-otel-dotnet-install.sh chmod +x ./aws-otel-dotnet-install.sh ./aws-otel-dotnet-install.sh # Instrument . $HOME/.otel-dotnet-auto/instrument.shexport OTEL_RESOURCE_ATTRIBUTES=service.name=dotnet-service-nameEn Windows Server, descargue y ejecute el script de instalación de PowerShell desde la página de versiones de GitHub:
# Download and Install $module_url = "https://github.com/aws-observability/aws-otel-dotnet-instrumentation/releases/latest/download/AWS.Otel.DotNet.Auto.psm1" $download_path = Join-Path $env:temp "AWS.Otel.DotNet.Auto.psm1" Invoke-WebRequest -Uri $module_url -OutFile $download_path Import-Module $download_path Install-OpenTelemetryCore # Instrument Import-Module $download_path Register-OpenTelemetryForCurrentSession -OTelServiceName "dotnet-service-name" Register-OpenTelemetryForIISPuede encontrar el paquete NuGet del paquete de autoinstrumentación de AWS Distro para OpenTelemetry .NET en el repositorio oficial de NuGet
. Asegúrese de consultar las instrucciones en el archivo README .
-