Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Exportation de données télémétriques sans collecteur à l'aide de AWS Distro pour le SDK OpenTelemetry (ADOT)
Vous pouvez utiliser les SDK ADOT pour passer à l'absence de collecteur et pour envoyer des métriques, des traces et des journaux directement aux points de terminaison OTLP.
La vigie applicative inclut des fonctionnalités de recherche de transactions. Afin d’éviter les coûts supplémentaires, désactivez la vigie applicative dans le kit SDK ADOT et conservez OTEL_AWS_APPLICATION_SIGNALS_ENABLED défini sur false (paramètre par défaut).
Prérequis
Si vous utilisez des traces, assurez-vous que Transaction Search est activé pour envoyer des spans au point de terminaison X-Ray OTLP. Pour plus d’informations, consultez Démarrer avec la recherche de transactions.
Configurer les autorisations IAM pour votre rôle
Suivez ces étapes pour associer les politiques IAM nécessaires à votre rôle :
Suivis :
-
Ouvrez la console IAM à l’adresse https://console.aws.amazon.com/iam/.
-
Sélectionnez Rôles, puis recherchez et sélectionnez votre rôle configuré.
-
Sous l’onglet Autorisations, sélectionnez Ajouter des autorisations, puis Associer des politiques.
-
À l’aide de la zone de recherche, recherchez AWSXrayWriteOnlyPolicy.
-
Sélectionnez la politique AWSXrayWriteOnlyPolicy, puis choisissez Ajouter des autorisations.
Journaux :
-
Ouvrez la console IAM à l’adresse https://console.aws.amazon.com/iam/.
-
Sélectionnez Rôles, puis recherchez et sélectionnez votre rôle configuré.
-
Sous l’onglet Autorisations, sélectionnez Ajouter des autorisations, puis Créer une politique en ligne.
-
Sélectionnez CloudWatch Journaux pour le service et sous Actions autorisées, filtrez et sélectionnez :
logs:PutLogEvents
logs:DescribeLogGroups
logs:DescribeLogStreams
-
Voici un exemple de politique IAM qui accorde les autorisations requises :
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Sid": "CloudWatchLogsAccess",
"Effect": "Allow",
"Action": [
"logs:PutLogEvents",
"logs:DescribeLogGroups",
"logs:DescribeLogStreams"
],
"Resource": [
"arn:aws:logs:*:*:log-group:*"
]
}
]
}
ADOT utilise les AWS SDK pour découvrir automatiquement les informations d'identification valides requises pour exporter vos données de télémétrie vers. AWS Pour obtenir des conseils sur la configuration des informations d'identification pour votre environnement spécifique, reportez-vous à la documentation sur la façon dont le AWS SDK récupère les informations d'identification.
Configuration des informations d’identification IAM pour les hôtes sur site :
Configurez vos AWS informations d'identification sur votre hôte local en saisissant la commande suivante. Remplacez ACCESS_KEY_ID et SECRET_ACCESS_KEY par les informations d’identification de votre rôle ou utilisateur IAM configuré.
$ 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
Activation des kits SDK ADOT
Vous pouvez activer les journaux et les traces de votre application pour qu'ils soient envoyés directement aux points de terminaison OTLP à partir du SDK AWS Distro for OpenTelemetry (ADOT) sur Java, Node.js Python et .Net.
Lorsque vous envoyez des traces directement au point de terminaison OTLP sans utiliser de collecteur, le SDK utilise par défaut la valeurparentbased_always_on, qui échantillonne 100 % des traces. Cela peut entraîner un volume d'ingestion et des coûts jusqu'à 20 fois plus élevés par rapport au taux d'échantillonnage recommandé de 5 %.
Si vous prévoyez d'utiliser Transaction Search pour une visibilité de 100 % sur les traces, aucune action n'est nécessaire. Si vous souhaitez modérer l'ingestion de traces, configurez un échantillonneur local en définissant les variables d'environnement suivantes avant de démarrer votre application :
export OTEL_TRACES_SAMPLER="parentbased_traceidratio"
export OTEL_TRACES_SAMPLER_ARG="0.05"
L'exemple ci-dessus échantillonne 5 % des traces. Ajustez la valeur OTEL_TRACES_SAMPLER_ARG comprise entre 0 et 1 pour définir le taux d'échantillonnage adapté à votre charge de travail.
Pour plus d'informations sur les options de configuration de l'échantillonneur, consultez OTEL_TRACES_SAMPLER dans la documentation. OpenTelemetry
- Java
-
Vous devez utiliser ADOT Java Agent version 2.11.2 ou ultérieure pour que ces fonctionnalités soient disponibles.
-
Téléchargez la dernière version de l'agent d'auto-instrumentation de AWS Distro pour OpenTelemetry Java. Vous pouvez télécharger la dernière version à l’aide de cette commande :
curl -L -O https://github.com/aws-observability/aws-otel-java-instrumentation/releases/latest/download/aws-opentelemetry-agent.jar
Vous pouvez consulter les informations relatives à toutes les versions publiées sur aws-otel-java-instrumentation Releases.
Pour activer un autre exportateur qui envoie directement les données de télémétrie aux points de terminaison OTLP et optimiser les avantages, utilisez les variables d’environnement suivantes avant de démarrer votre application :
Suivis :
-
OTEL_EXPORTER_OTLP_TRACES_ENDPOINTParamétré pour spécifier le point de terminaison des traces X-Ray OTLP : https://xray.[AWSRegion].amazonaws.com/v1/traces
Par exemple :
export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT="https://xray.us-west-2.amazonaws.com/v1/traces"
-
Définissez OTEL_TRACES_EXPORTER sur otlp (cette opération est facultative et correspond à la valeur par défaut si cette variable d’environnement n’est pas définie).
-
Définissez la variable OTEL_EXPORTER_OTLP_TRACES_PROTOCOL sur http/protobuf (cette opération est facultative et correspond à la valeur par défaut si cette variable d’environnement n’est pas définie).
-
Définissez la variable OTEL_RESOURCE_ATTRIBUTES pour spécifier les informations suivantes sous forme de paires clé-valeur. Ces variables d'environnement sont utilisées par Application Signals et sont converties en annotations de X-Ray suivi et en dimensions CloudWatch métriques. :
-
(Facultatif) service.name définit le nom du service. Ce nom s’affichera dans les tableaux de bord de la vigie applicative comme nom du service de votre application. Si vous ne fournissez pas de valeur pour cette clé, la valeur par défaut UnknownService est utilisée.
-
(Facultatif) deployment.environment définit l’environnement d’exécution de l’application. Cela s’affichera comme l’environnement Hébergé dans de votre application.
-
(Facultatif) Pour activer la corrélation des journaux, ajoutez dans OTEL_RESOURCE_ATTRIBUTES une variable d’environnement supplémentaire aws.log.group.names pour les groupes de journaux de votre application. Cela permet de corréler les suivis et les métriques de votre application avec les entrées de journaux correspondantes. Pour cette variable, remplacez $YOUR_APPLICATION_LOG_GROUP par les noms des groupes de journaux de votre application. Si vous avez plusieurs groupes de journaux, vous pouvez les séparer à l’aide d’un esperluette (&), comme dans l’exemple suivant : aws.log.group.names=log-group-1&log-group-2. Pour activer la corrélation entre les métriques et les journaux, la définition de cette variable suffit. Pour plus d’informations, consultez Activer la corrélation entre les métriques et les journaux. Pour activer la corrélation entre les suivis et les journaux, vous devez également modifier la configuration de journalisation de votre application. Pour plus d’informations, consultez Activer la corrélation des traces et des journaux.
Journaux :
-
OTEL_EXPORTER_OTLP_LOGS_ENDPOINTParamétré pour spécifier le point de terminaison des logs CloudWatch OTLP : https://logs.[AWSRegion].amazonaws.com/v1/logs
Par exemple :
export OTEL_EXPORTER_OTLP_LOGS_ENDPOINT="https://logs.us-west-2.amazonaws.com/v1/logs"
-
Définissez OTEL_EXPORTER_OTLP_LOGS_HEADERS pour spécifier le groupe de journaux et le flux de journaux (remarque : ceux-ci doivent être créés avant d’exécuter ADOT) vers lesquels vous voulez exporter vos journaux : x-aws-log-group=[CW-LOG-GROUP-NAME],x-aws-log-stream=[CW-LOG-STREAM-NAME]
Par exemple :
export OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=MyLogGroup,x-aws-log-stream=default
-
Définissez OTEL_LOGS_EXPORTER sur otlp (cette opération est facultative et correspond à la valeur par défaut si cette variable d’environnement n’est pas définie).
-
Définissez la variable OTEL_EXPORTER_OTLP_LOGS_PROTOCOL sur http/protobuf (cette opération est facultative et correspond à la valeur par défaut si cette variable d’environnement n’est pas définie).
JAVA_TOOL_OPTIONSDéfini pour spécifier le chemin où l'agent d'auto-instrumentation de AWS Distro for OpenTelemetry Java est stocké. Par exemple :
export JAVA_TOOL_OPTIONS=" -javaagent:$AWS_ADOT_JAVA_INSTRUMENTATION_PATH"
export AWS_ADOT_JAVA_INSTRUMENTATION_PATH="./aws-opentelemetry-agent.jar"
Votre application devrait maintenant fonctionner avec l’instrumentation ADOT Java et générer des portées et des journaux. Les plages seront stockées dans le aws/spans CloudWatch groupe de journaux, tandis que les journaux seront stockés dans le groupe de journaux spécifié dans l'OTEL_EXPORTER_OTLP_LOGS_HEADERSen-tête. Vous pouvez également consulter les journaux et les métriques corrélés à vos intervalles dans la console CloudWatch Traces and Metrics.
Démarrez votre application avec les variables d’environnement mentionnées à l’étape précédente. Voici un exemple de script de démarrage.
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
-
Vous devez utiliser ADOT JavaScript version 0.7.0 ou ultérieure pour que ces fonctionnalités soient disponibles.
Téléchargez la dernière version de AWS Distro pour l' OpenTelemetry JavaScript auto-instrumentation. Pour l'installer, exécutez la commande d' ci-dessous.
npm install @aws/aws-distro-opentelemetry-node-autoinstrumentation
Vous pouvez consulter les informations relatives à toutes les versions publiées sur aws-otel-js-instrumentation Releases.
Pour activer un autre exportateur qui envoie directement les données de télémétrie aux points de terminaison OTLP et optimiser les avantages, utilisez les variables d’environnement suivantes avant de démarrer votre application :
Suivis :
-
OTEL_EXPORTER_OTLP_TRACES_ENDPOINTParamétré pour spécifier le point de terminaison des traces X-Ray OTLP : https://xray.[AWSRegion].amazonaws.com/v1/traces
Par exemple :
export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT="https://xray.us-west-2.amazonaws.com/v1/traces"
-
Définissez OTEL_TRACES_EXPORTER sur otlp (cette opération est facultative et correspond à la valeur par défaut si cette variable d’environnement n’est pas définie).
-
Définissez la variable OTEL_EXPORTER_OTLP_TRACES_PROTOCOL sur http/protobuf (cette opération est facultative et correspond à la valeur par défaut si cette variable d’environnement n’est pas définie).
-
Définissez la variable OTEL_RESOURCE_ATTRIBUTES pour spécifier les informations suivantes sous forme de paires clé-valeur. Ces variables d'environnement sont utilisées par Application Signals et sont converties en annotations de X-Ray suivi et en dimensions CloudWatch métriques. :
-
(Facultatif) service.name définit le nom du service. Ce nom s’affichera dans les tableaux de bord de la vigie applicative comme nom du service de votre application. Si vous ne fournissez pas de valeur pour cette clé, la valeur par défaut UnknownService est utilisée.
-
(Facultatif) deployment.environment définit l’environnement d’exécution de l’application. Cela s’affichera comme l’environnement Hébergé dans de votre application.
-
(Facultatif) Pour activer la corrélation des journaux, ajoutez dans OTEL_RESOURCE_ATTRIBUTES une variable d’environnement supplémentaire aws.log.group.names pour les groupes de journaux de votre application. Cela permet de corréler les suivis et les métriques de votre application avec les entrées de journaux correspondantes. Pour cette variable, remplacez $YOUR_APPLICATION_LOG_GROUP par les noms des groupes de journaux de votre application. Si vous avez plusieurs groupes de journaux, vous pouvez les séparer à l’aide d’un esperluette (&), comme dans l’exemple suivant : aws.log.group.names=log-group-1&log-group-2. Pour activer la corrélation entre les métriques et les journaux, la définition de cette variable suffit. Pour plus d’informations, consultez Activer la corrélation entre les métriques et les journaux. Pour activer la corrélation entre les suivis et les journaux, vous devez également modifier la configuration de journalisation de votre application. Pour plus d’informations, consultez Activer la corrélation des traces et des journaux.
Journaux :
-
OTEL_EXPORTER_OTLP_LOGS_ENDPOINTParamétré pour spécifier le point de terminaison des logs CloudWatch OTLP : https://logs.[AWSRegion].amazonaws.com/v1/logs
Par exemple :
export OTEL_EXPORTER_OTLP_LOGS_ENDPOINT="https://logs.us-west-2.amazonaws.com/v1/logs"
-
Définissez OTEL_EXPORTER_OTLP_LOGS_HEADERS pour spécifier le groupe de journaux et le flux de journaux (remarque : ceux-ci doivent être créés avant d’exécuter ADOT) vers lesquels vous voulez exporter vos journaux : x-aws-log-group=[CW-LOG-GROUP-NAME],x-aws-log-stream=[CW-LOG-STREAM-NAME]
Par exemple :
export OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=MyLogGroup,x-aws-log-stream=default
-
Définissez OTEL_LOGS_EXPORTER sur otlp (cette opération est facultative et correspond à la valeur par défaut si cette variable d’environnement n’est pas définie).
-
Définissez la variable OTEL_EXPORTER_OTLP_LOGS_PROTOCOL sur http/protobuf (cette opération est facultative et correspond à la valeur par défaut si cette variable d’environnement n’est pas définie).
Votre application devrait maintenant fonctionner avec l' JavaScript instrumentation ADOT et générera des spans et des logs. Les plages seront stockées dans le aws/spans CloudWatch groupe de journaux, tandis que les journaux seront stockés dans le groupe de journaux spécifié dans l'OTEL_EXPORTER_OTLP_LOGS_HEADERSen-tête. Vous pouvez également consulter les journaux et les métriques corrélés à vos intervalles dans la console CloudWatch Traces and Metrics.
Démarrez votre application avec les variables d’environnement mentionnées à l’étape précédente. Voici un exemple de script de démarrage.
Remplacez $SVC_NAME par le nom de votre application. Cela s’affichera comme le nom de l’application.
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
-
Vous devez utiliser ADOT Python version 0.10.0 ou ultérieure et avoir installé botocore pour que ces fonctionnalités soient disponibles.
Téléchargez la dernière version de l'auto-instrumentation de AWS Distro for OpenTelemetry Python. Pour l'installer, exécutez la commande d' ci-dessous.
pip install aws-opentelemetry-distro
Vous pouvez consulter les informations relatives à toutes les versions publiées sur aws-otel-python-instrumentation Releases.
Pour activer un autre exportateur qui envoie directement les données de télémétrie aux points de terminaison OTLP et optimiser les avantages, utilisez les variables d’environnement suivantes avant de démarrer votre application :
Pour les configurations de traces et de journaux, vous devez définir les variables d’environnement suivantes :
Suivis :
-
OTEL_EXPORTER_OTLP_TRACES_ENDPOINTParamétré pour spécifier le point de terminaison des traces X-Ray OTLP : https://xray.[AWSRegion].amazonaws.com/v1/traces
Par exemple :
export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT="https://xray.us-west-2.amazonaws.com/v1/traces"
-
Définissez OTEL_TRACES_EXPORTER sur otlp (cette opération est facultative et correspond à la valeur par défaut si cette variable d’environnement n’est pas définie).
-
Définissez la variable OTEL_EXPORTER_OTLP_TRACES_PROTOCOL sur http/protobuf (cette opération est facultative et correspond à la valeur par défaut si cette variable d’environnement n’est pas définie).
-
Définissez la variable OTEL_RESOURCE_ATTRIBUTES pour spécifier les informations suivantes sous forme de paires clé-valeur. Ces variables d'environnement sont utilisées par Application Signals et sont converties en annotations de X-Ray suivi et en dimensions CloudWatch métriques. :
-
(Facultatif) service.name définit le nom du service. Ce nom s’affichera dans les tableaux de bord de la vigie applicative comme nom du service de votre application. Si vous ne fournissez pas de valeur pour cette clé, la valeur par défaut UnknownService est utilisée.
-
(Facultatif) deployment.environment définit l’environnement d’exécution de l’application. Cela s’affichera comme l’environnement Hébergé dans de votre application.
-
(Facultatif) Pour activer la corrélation des journaux, ajoutez dans OTEL_RESOURCE_ATTRIBUTES une variable d’environnement supplémentaire aws.log.group.names pour les groupes de journaux de votre application. Cela permet de corréler les suivis et les métriques de votre application avec les entrées de journaux correspondantes. Pour cette variable, remplacez $YOUR_APPLICATION_LOG_GROUP par les noms des groupes de journaux de votre application. Si vous avez plusieurs groupes de journaux, vous pouvez les séparer à l’aide d’un esperluette (&), comme dans l’exemple suivant : aws.log.group.names=log-group-1&log-group-2. Pour activer la corrélation entre les métriques et les journaux, la définition de cette variable suffit. Pour plus d’informations, consultez Activer la corrélation entre les métriques et les journaux. Pour activer la corrélation entre les suivis et les journaux, vous devez également modifier la configuration de journalisation de votre application. Pour plus d’informations, consultez Activer la corrélation des traces et des journaux.
Journaux :
-
Définissez OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED sur true
-
OTEL_EXPORTER_OTLP_LOGS_ENDPOINTParamétré pour spécifier le point de terminaison des logs CloudWatch OTLP : https://logs.[AWSRegion].amazonaws.com/v1/logs
Par exemple :
export OTEL_EXPORTER_OTLP_LOGS_ENDPOINT="https://logs.us-west-2.amazonaws.com/v1/logs"
-
Définissez OTEL_EXPORTER_OTLP_LOGS_HEADERS pour spécifier le groupe de journaux et le flux de journaux (remarque : ceux-ci doivent être créés avant d’exécuter ADOT) vers lesquels vous voulez exporter vos journaux : x-aws-log-group=[CW-LOG-GROUP-NAME],x-aws-log-stream=[CW-LOG-STREAM-NAME]
Par exemple :
export OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=MyLogGroup,x-aws-log-stream=default
-
Définissez OTEL_LOGS_EXPORTER sur otlp (cette opération est facultative et correspond à la valeur par défaut si cette variable d’environnement n’est pas définie).
-
Définissez la variable OTEL_EXPORTER_OTLP_LOGS_PROTOCOL sur http/protobuf (cette opération est facultative et correspond à la valeur par défaut si cette variable d’environnement n’est pas définie).
Votre application devrait désormais fonctionner avec l’instrumentation ADOT Python et générer des portées et des journaux. Les plages seront stockées dans le aws/spans CloudWatch groupe de journaux, tandis que les journaux seront stockés dans le groupe de journaux spécifié dans l'OTEL_EXPORTER_OTLP_LOGS_HEADERSen-tête. Vous pouvez également consulter les journaux et les métriques corrélés à vos intervalles dans la console CloudWatch Traces and Metrics.
Démarrez votre application avec les variables d’environnement mentionnées à l’étape précédente. Voici un exemple de script de démarrage.
Remplacez $SVC_NAME par le nom de votre application. Cela s’affichera comme le nom de l’application.
Remplacez $PYTHON_APP par l’emplacement et le nom de votre application.
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
-
-
ADOT .NET version 1.8.0 ou ultérieure est nécessaire pour que ces fonctionnalités soient disponibles.
-
La compression n’est actuellement pas prise en charge.
-
Les journaux ne sont actuellement pas pris en charge.
Téléchargez la dernière version du package d'auto-instrumentation AWS Distro pour OpenTelemetry .NET. Vous pouvez consulter les informations relatives à toutes les versions publiées sur aws-otel-dotnet-instrumentation Releases.
Pour activer les différents exportateurs qui envoient directement les données de télémétrie aux points de terminaison OTLP et optimiser les avantages, utilisez les variables d’environnement suivantes avant de démarrer votre application (remplacez dotnet-service-name dans la variable d’environnement OTEL_RESOURCE_ATTRIBUTES par le nom du service de votre choix) :
Suivis :
-
Vous DEVEZ définir OTEL_TRACES_EXPORTER sur none.
-
Vous DEVEZ définir OTEL_AWS_SIG_V4_ENABLED sur true.
Cette fonctionnalité n’est pas activée automatiquement dans .NET. La variable d’environnement est nécessaire pour identifier spécifiquement ce cas d’utilisation dans l’instrumentation .NET. Cette exigence est propre à .NET et ne s’applique pas aux autres langages pris en charge.
Voici un exemple de configuration pour 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/traces
Voici un exemple de configuration pour 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/traces
Démarrez votre application avec les variables d’environnement mentionnées à l’étape précédente.
(Facultatif) Vous pouvez également utiliser les scripts d'installation fournis pour faciliter l'installation et la configuration du package d'instrumentation automatique AWS Distro for OpenTelemetry .NET.
Pour Linux, téléchargez et installez le script d'installation de Bash depuis la page des GitHub versions :
# 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-name
Pour Windows Server, téléchargez et installez le script PowerShell d'installation depuis la page GitHub des versions :
# 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-OpenTelemetryForIIS
Vous pouvez trouver le NuGet package du package d'auto-instrumentation AWS Distro pour OpenTelemetry .NET dans le dépôt officiel NuGet . Assurez-vous de consulter le fichier README pour des instructions.