Exportation de données télémétriques sans collecteur à l'aide du SDK AWS Distro for (ADOT) OpenTelemetry - Amazon CloudWatch

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 du SDK AWS Distro for (ADOT) OpenTelemetry

Vous pouvez utiliser l'ADOT SDKs pour passer à l'absence de collecteur et pour envoyer des traces et des journaux directement aux points de terminaison OTLP.

Note

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

Veuillez vous assurer que la recherche de transactions est activée pour envoyer des portées au point de terminaison OTLP X-Ray. 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 :

  1. Ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

  2. Sélectionnez Rôles, puis recherchez et sélectionnez votre rôle configuré.

  3. Sous l’onglet Autorisations, sélectionnez Ajouter des autorisations, puis Associer des politiques.

  4. À l’aide de la zone de recherche, recherchez AWSXrayWriteOnlyPolicy.

  5. Sélectionnez la politique AWSXrayWriteOnlyPolicy, puis choisissez Ajouter des autorisations.

Journaux :

  1. Ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

  2. Sélectionnez Rôles, puis recherchez et sélectionnez votre rôle configuré.

  3. Sous l’onglet Autorisations, sélectionnez Ajouter des autorisations, puis Créer une politique en ligne.

  4. Sélectionnez CloudWatch Journaux pour le service, puis sous Actions autorisées, filtrez et sélectionnez :

    logs:PutLogEvents logs:DescribeLogGroups logs:DescribeLogStreams
  5. 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:*" ] } ] }

Configurer vos fournisseurs d’informations d’identification

ADOT utilise le AWS SDKs 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 d'ADOT SDKs

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.

Java
Note

Vous devez utiliser ADOT Java Agent version 2.11.2 ou ultérieure pour que ces fonctionnalités soient disponibles.

  1. 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 dans la section aws-otel-java-instrumentation Releases.

  2. 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 :

    • Définissez OTEL_EXPORTER_OTLP_TRACES_ENDPOINT pour spécifier le point de terminaison des traces OTLP X-Ray : 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 traçage X-Ray 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).

  3. 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"
  4. 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.

  5. 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
Note

Vous devez utiliser ADOT JavaScript version 0.7.0 ou ultérieure pour que ces fonctionnalités soient disponibles.

  1. 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 dans la section aws-otel-js-instrumentation Releases.

  2. 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 :

    • Définissez OTEL_EXPORTER_OTLP_TRACES_ENDPOINT pour spécifier le point de terminaison des traces OTLP X-Ray : 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 traçage X-Ray 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).

  3. 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.

  4. 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
Note

Vous devez utiliser ADOT Python version 0.10.0 ou ultérieure et avoir installé botocore pour que ces fonctionnalités soient disponibles.

  1. 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 dans la section aws-otel-python-instrumentation Releases.

  2. 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 :

    • OTEL_PYTHON_DISTRO sur aws_distro

    • OTEL_PYTHON_CONFIGURATOR sur aws_configurator

    Suivis :

    • Définissez OTEL_EXPORTER_OTLP_TRACES_ENDPOINT pour spécifier le point de terminaison des traces OTLP X-Ray : 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 traçage X-Ray 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).

  3. 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.

  4. 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
Note
  • 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 dans la section 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
  1. Démarrez votre application avec les variables d’environnement mentionnées à l’étape précédente.

  2. (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.