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

Application Signals inclut des fonctionnalités de recherche de transactions. Pour éviter les coûts supplémentaires, désactivez les signaux d'application dans le SDK ADOT et conservez OTEL_AWS_APPLICATION_SIGNALS_ENABLED la valeur false (paramètre par défaut).

Prérequis

Assurez-vous que Transaction Search est activé pour envoyer des spans au point de terminaison X-Ray OTLP. Pour plus d'informations, consultez Commencer à utiliser Transaction Search.

Configurer les autorisations IAM pour votre rôle

Procédez comme suit pour associer les politiques IAM nécessaires à votre rôle :

Des traces :

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

  2. Choisissez Rôles, puis recherchez et sélectionnez le rôle que vous avez configuré.

  3. Sous l'onglet Autorisations, choisissez Ajouter des autorisations, puis Joindre des politiques.

  4. À l'aide du champ de recherche, recherchez leAWSXrayWriteOnlyPolicy.

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

Journaux :

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

  2. Choisissez Rôles, puis recherchez et sélectionnez le rôle que vous avez configuré.

  3. Sous l'onglet Autorisations, choisissez Ajouter des autorisations, puis Créer une politique intégrée.

  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 :

    { "Version": "2012-10-17", "Statement": [ { "Sid": "CloudWatchLogsAccess", "Effect": "Allow", "Action": [ "logs:PutLogEvents", "logs:DescribeLogGroups", "logs:DescribeLogStreams" ], "Resource": [ "arn:aws:logs:*:*:log-group:*" ] } ] }

Configurez 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 les différents exportateurs qui envoient directement la télémétrie aux points de terminaison OTLP et pour optimiser les avantages, utilisez les variables d'environnement suivantes avant de démarrer votre application :

    Des traces :

    • Paramétré OTEL_EXPORTER_OTLP_TRACES_ENDPOINT pour spécifier le point de terminaison des traces OTLP de 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 sur OTEL_TRACES_EXPORTER otlp (cette valeur est facultative et constitue la valeur par défaut si cette variable d'environnement n'est pas définie).

    • Définissez la OTEL_EXPORTER_OTLP_TRACES_PROTOCOL variable sur http/protobuf (cette option est facultative et constitue la valeur par défaut si cette variable d'environnement n'est pas définie).

    • Définissez la OTEL_RESOURCE_ATTRIBUTES variable 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 trace X-Ray et en dimensions CloudWatch métriques. :

      • (Facultatif) service.name définit le nom du service. Il sera affiché comme nom de service pour votre application dans les tableaux de bord des signaux d'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 dans lequel l'application s'exécute. Cela sera affiché sous la forme de l'environnement Hosted In de votre application.

      • (Facultatif) Pour activer la corrélation des journauxOTEL_RESOURCE_ATTRIBUTES, définissez une variable d'environnement supplémentaire aws.log.group.names pour les groupes de journaux de votre application. Ce faisant, les traces et les métriques de votre application peuvent être corrélées aux entrées de journal pertinentes de ces groupes de journaux. Pour cette variable, remplacez-la $YOUR_APPLICATION_LOG_GROUP par les noms des groupes de journaux de votre application. Si vous avez plusieurs groupes de journaux, vous pouvez utiliser une esperluette (&) pour les séparer comme dans cet exemple :. aws.log.group.names=log-group-1&log-group-2 Pour activer la corrélation entre les métriques et les logs, il suffit de définir cette variable environnementale actuelle. Pour plus d'informations, voir Activer la métrique pour enregistrer la corrélation. Pour activer la corrélation entre le suivi et le journal, vous devez également modifier la configuration de journalisation dans votre application. Pour plus d'informations, voir Activer la corrélation entre le traçage et le journal.

    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 le groupe OTEL_EXPORTER_OTLP_LOGS_HEADERS de journaux et le flux de journaux (remarque : ceux-ci doivent être créés avant d'exécuter ADOT) vers lesquels vous souhaitez 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 sur OTEL_LOGS_EXPORTER otlp (cette valeur est facultative et constitue la valeur par défaut si cette variable d'environnement n'est pas définie).

    • Définissez la OTEL_EXPORTER_OTLP_LOGS_PROTOCOL variable sur http/protobuf (cette option est facultative et constitue la valeur par défaut si cette variable d'environnement n'est pas définie).

  3. Défini JAVA_TOOL_OPTIONS pour spécifier le chemin dans lequel 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é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.

  5. Démarrez votre application avec les variables d'environnement répertorié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 les différents exportateurs qui envoient directement la télémétrie aux points de terminaison OTLP et pour optimiser les avantages, utilisez les variables d'environnement suivantes avant de démarrer votre application :

    Des traces :

    • Paramétré OTEL_EXPORTER_OTLP_TRACES_ENDPOINT pour spécifier le point de terminaison des traces OTLP de 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 sur OTEL_TRACES_EXPORTER otlp (cette valeur est facultative et constitue la valeur par défaut si cette variable d'environnement n'est pas définie).

    • Définissez la OTEL_EXPORTER_OTLP_TRACES_PROTOCOL variable sur http/protobuf (cette option est facultative et constitue la valeur par défaut si cette variable d'environnement n'est pas définie).

    • Définissez la OTEL_RESOURCE_ATTRIBUTES variable 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 trace X-Ray et en dimensions CloudWatch métriques. :

      • (Facultatif) service.name définit le nom du service. Il sera affiché comme nom de service pour votre application dans les tableaux de bord des signaux d'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 dans lequel l'application s'exécute. Il sera affiché sous la forme de l'environnement Hosted In de votre application.

      • (Facultatif) Pour activer la corrélation des journauxOTEL_RESOURCE_ATTRIBUTES, définissez une variable d'environnement supplémentaire aws.log.group.names pour les groupes de journaux de votre application. Ce faisant, les traces et les métriques de votre application peuvent être corrélées aux entrées de journal pertinentes de ces groupes de journaux. Pour cette variable, remplacez-la $YOUR_APPLICATION_LOG_GROUP par les noms des groupes de journaux de votre application. Si vous avez plusieurs groupes de journaux, vous pouvez utiliser une esperluette (&) pour les séparer comme dans cet exemple :. aws.log.group.names=log-group-1&log-group-2 Pour activer la corrélation entre les métriques et les logs, il suffit de définir cette variable environnementale actuelle. Pour plus d'informations, voir Activer la métrique pour enregistrer la corrélation. Pour activer la corrélation entre le suivi et le journal, vous devez également modifier la configuration de journalisation dans votre application. Pour plus d'informations, voir Activer la corrélation entre le traçage et le journal.

    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 le groupe OTEL_EXPORTER_OTLP_LOGS_HEADERS de journaux et le flux de journaux (remarque : ceux-ci doivent être créés avant d'exécuter ADOT) vers lesquels vous souhaitez 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 sur OTEL_LOGS_EXPORTER otlp (cette valeur est facultative et constitue la valeur par défaut si cette variable d'environnement n'est pas définie).

    • Définissez la OTEL_EXPORTER_OTLP_LOGS_PROTOCOL variable sur http/protobuf (cette option est facultative et constitue 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 répertoriées à l'étape précédente. Voici un exemple de script de démarrage.

    Remplacez $SVC_NAME par le nom de votre application. Ce nom sera affiché comme 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 l'avoir botocoreinstallé 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 les différents exportateurs qui envoient directement la télémétrie aux points de terminaison OTLP et pour 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

    Des traces :

    • Paramétré OTEL_EXPORTER_OTLP_TRACES_ENDPOINT pour spécifier le point de terminaison des traces OTLP de 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 sur OTEL_TRACES_EXPORTER otlp (cette valeur est facultative et constitue la valeur par défaut si cette variable d'environnement n'est pas définie).

    • Définissez la OTEL_EXPORTER_OTLP_TRACES_PROTOCOL variable sur http/protobuf (cette option est facultative et constitue la valeur par défaut si cette variable d'environnement n'est pas définie).

    • Définissez la OTEL_RESOURCE_ATTRIBUTES variable 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 trace X-Ray et en dimensions CloudWatch métriques. :

      • (Facultatif) service.name définit le nom du service. Il sera affiché comme nom de service pour votre application dans les tableaux de bord des signaux d'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 dans lequel l'application s'exécute. Il sera affiché sous la forme de l'environnement Hosted In de votre application.

      • (Facultatif) Pour activer la corrélation des journauxOTEL_RESOURCE_ATTRIBUTES, définissez une variable d'environnement supplémentaire aws.log.group.names pour les groupes de journaux de votre application. Ce faisant, les traces et les métriques de votre application peuvent être corrélées aux entrées de journal pertinentes de ces groupes de journaux. Pour cette variable, remplacez-la $YOUR_APPLICATION_LOG_GROUP par les noms des groupes de journaux de votre application. Si vous avez plusieurs groupes de journaux, vous pouvez utiliser une esperluette (&) pour les séparer comme dans cet exemple :. aws.log.group.names=log-group-1&log-group-2 Pour activer la corrélation entre les métriques et les logs, il suffit de définir cette variable environnementale actuelle. Pour plus d'informations, voir Activer la métrique pour enregistrer la corrélation. Pour activer la corrélation entre le suivi et le journal, vous devez également modifier la configuration de journalisation dans votre application. Pour plus d'informations, voir Activer la corrélation entre le traçage et le journal.

    Journaux :

    • Réglé 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 le groupe OTEL_EXPORTER_OTLP_LOGS_HEADERS de journaux et le flux de journaux (remarque : ceux-ci doivent être créés avant d'exécuter ADOT) vers lesquels vous souhaitez 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 sur OTEL_LOGS_EXPORTER otlp (cette valeur est facultative et constitue la valeur par défaut si cette variable d'environnement n'est pas définie).

    • Définissez la OTEL_EXPORTER_OTLP_LOGS_PROTOCOL variable sur http/protobuf (cette option est facultative et constitue la valeur par défaut si cette variable d'environnement n'est pas définie).

  3. Votre application devrait maintenant fonctionner avec l'instrumentation ADOT Python 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 répertoriées à l'étape précédente. Voici un exemple de script de démarrage.

    Remplacez $SVC_NAME par le nom de votre application. Ce nom sera affiché comme 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
  • La version 1.8.0 ou ultérieure d'ADOT .NET est requise 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 la télémétrie aux points de terminaison OTLP et pour optimiser les avantages, utilisez les variables d'environnement suivantes avant de démarrer votre application (remplacez dotnet-service-name la variable d'OTEL_RESOURCE_ATTRIBUTESenvironnement par le nom de service de votre choix) :

Des traces :

  • Vous DEVEZ régler OTEL_TRACES_EXPORTER sur none

  • Vous DEVEZ régler OTEL_AWS_SIG_V4_ENABLED sur true

    Cette fonctionnalité n'est pas activée automatiquement dans .NET. La variable d'environnement est requise spécifiquement pour identifier ce cas d'utilisation au sein de l'instrumentation .NET. Cette exigence est propre au .NET et ne s'applique pas aux autres langues prises 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 répertorié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 obtenir des instructions.