Exportieren von Telemetrie ohne Kollektor mit AWS Distro for OpenTelemetry (ADOT) SDK - Amazon CloudWatch

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Exportieren von Telemetrie ohne Kollektor mit AWS Distro for OpenTelemetry (ADOT) SDK

Sie können den ADOT verwenden, um ohne Sammler SDKs auszukommen und Traces und Logs direkt an die OTLP-Endpunkte zu senden.

Anmerkung

Application Signals umfasst Funktionen zur Transaktionssuche. Um doppelte Kosten zu vermeiden, deaktivieren Sie Application Signals im ADOT SDK und behalten Sie die OTEL_AWS_APPLICATION_SIGNALS_ENABLED Einstellung auf False (Standardeinstellung) bei.

Voraussetzung

Stellen Sie sicher, dass die Transaktionssuche aktiviert ist, um Spans an den X-Ray-OTLP-Endpunkt zu senden. Weitere Informationen finden Sie unter Erste Schritte mit Transaction Search.

Richten Sie IAM-Berechtigungen für Ihre Rolle ein

Gehen Sie wie folgt vor, um die erforderlichen IAM-Richtlinien an Ihre Rolle anzuhängen:

Spuren:

  1. Öffnen Sie unter https://console.aws.amazon.com/iam/ die IAM-Konsole.

  2. Wählen Sie Rollen und suchen und wählen Sie Ihre konfigurierte Rolle aus.

  3. Wählen Sie auf der Registerkarte „Berechtigungen“ die Option „Berechtigungen hinzufügen“ und dann „Richtlinien anhängen“ aus.

  4. Suchen Sie mithilfe des Suchfeldes nach demAWSXrayWriteOnlyPolicy.

  5. Wählen Sie die AWSXrayWriteOnlyPolicy Richtlinie aus und klicken Sie auf Berechtigungen hinzufügen.

Protokolle:

  1. Öffnen Sie unter https://console.aws.amazon.com/iam/ die IAM-Konsole.

  2. Wählen Sie Rollen und suchen und wählen Sie Ihre konfigurierte Rolle aus.

  3. Wählen Sie auf der Registerkarte Berechtigungen die Option Berechtigungen hinzufügen und dann Inline-Richtlinie erstellen aus.

  4. Wählen Sie CloudWatch Protokolle für den Dienst aus, filtern Sie unter Zulässige Aktionen und wählen Sie Folgendes aus:

    logs:PutLogEvents logs:DescribeLogGroups logs:DescribeLogStreams
  5. Im Folgenden finden Sie ein Beispiel für eine IAM-Richtlinie, die die erforderlichen Berechtigungen gewährt:

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

Konfigurieren Sie Ihre Anbieter für Anmeldeinformationen

ADOT verwendet den AWS SDKs , um automatisch gültige Anmeldeinformationen zu ermitteln, die für den Export Ihrer Telemetriedaten erforderlich sind. AWS Anleitungen zur Konfiguration von Anmeldeinformationen für Ihre spezifische Umgebung finden Sie in der Dokumentation zum Abrufen von Anmeldeinformationen durch das AWS SDKS.

Einrichtung von IAM-Anmeldeinformationen für lokale Hosts:

Konfigurieren Sie Ihre AWS Anmeldeinformationen auf Ihrem lokalen Host, indem Sie den folgenden Befehl eingeben. Ersetzen Sie ACCESS_KEY_ID und SECRET_ACCESS_KEY durch die Anmeldeinformationen für Ihre konfigurierte IAM-Rolle oder Ihren konfigurierten IAM-Benutzer.

$ 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

ADOT aktivieren SDKs

Sie können festlegen, dass Logs und Traces für Ihre Anwendung direkt von AWS Distro for OpenTelemetry (ADOT) SDK auf Java, Node.js, Python und.Net an die OTLP-Endpunkte gesendet werden.

Java
Anmerkung

Sie müssen ADOT Java Agent Version 2.11.2 oder höher verwenden, damit diese Funktionen verfügbar sind.

  1. Laden Sie die neueste Version des Autoinstrumentation-Agenten von AWS Distro for OpenTelemetry Java herunter. Sie können die neueste Version mit diesem Befehl herunterladen:

    curl -L -O https://github.com/aws-observability/aws-otel-java-instrumentation/releases/latest/download/aws-opentelemetry-agent.jar

    Informationen zu allen veröffentlichten Versionen finden Sie unter aws-otel-java-instrumentation Releases.

  2. Um die verschiedenen Exportprogramme zu aktivieren, die Telemetrie direkt an die OTLP-Endpunkte senden, und um die Vorteile zu optimieren, verwenden Sie die folgenden Umgebungsvariablen, bevor Sie Ihre Anwendung starten:

    Spuren:

    • Legt festOTEL_EXPORTER_OTLP_TRACES_ENDPOINT, dass der X-Ray-OTLP-Traces-Endpunkt angegeben wird: https://xray.[AWSRegion].amazonaws.com/v1/traces

      Zum Beispiel:

      export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT="https://xray.us-west-2.amazonaws.com/v1/traces"
    • Auf OTEL_TRACES_EXPORTER gesetzt otlp (dies ist optional und der Standardwert, wenn diese Umgebungsvariable nicht gesetzt ist).

    • Setzen Sie die OTEL_EXPORTER_OTLP_TRACES_PROTOCOL Variable auf http/protobuf (dies ist optional und der Standardwert, wenn diese Umgebungsvariable nicht gesetzt ist).

    • Setzen Sie OTEL_RESOURCE_ATTRIBUTES Variable, um die folgenden Informationen als Schlüssel-Wert-Paare anzugeben. Diese Umgebungsvariablen werden von Application Signals verwendet und in Röntgen-Trace-Anmerkungen und CloudWatch metrische Dimensionen umgewandelt. :

      • (Optional) service.name legt den Namen des Dienstes fest. Dieser wird in den Dashboards von Application Signals als Dienstname für Ihre Anwendung angezeigt. Wenn Sie keinen Wert für diesen Schlüssel angeben, wird der Standardwert von UnknownService verwendet.

      • (Optional) deployment.environment legt die Umgebung fest, in der die Anwendung ausgeführt wird. Dies wird als Hosted In-Umgebung Ihrer Anwendung angezeigt.

      • (Optional) Um die Protokollkorrelation zu aktivierenOTEL_RESOURCE_ATTRIBUTES, legen Sie in eine zusätzliche Umgebungsvariable aws.log.group.names für die Protokollgruppen Ihrer Anwendung fest. Auf diese Weise können die Traces und Metriken aus Ihrer Anwendung mit den relevanten Protokolleinträgen aus diesen Protokollgruppen korreliert werden. Ersetzen Sie diese Variable $YOUR_APPLICATION_LOG_GROUP durch die Namen der Protokollgruppen für Ihre Anwendung. Wenn Sie mehrere Protokollgruppen haben, können Sie sie mit einem Und-Zeichen (&) trennen, wie in diesem Beispiel:. aws.log.group.names=log-group-1&log-group-2 Um die Korrelation zwischen Metrik und Protokoll zu aktivieren, reicht es aus, diese aktuelle Umgebungsvariable festzulegen. Weitere Informationen finden Sie unter Aktivieren der Metrik zur Protokollierung der Korrelation. Um die Korrelation zwischen Trace und Log zu aktivieren, müssen Sie auch die Logging-Konfiguration in Ihrer Anwendung ändern. Weitere Informationen finden Sie unter Korrelation zwischen Ablaufverfolgung und Protokoll aktivieren.

    Protokolle:

    • Legt festOTEL_EXPORTER_OTLP_LOGS_ENDPOINT, dass der Endpunkt der CloudWatch OTLP-Protokolle angegeben wird: https://logs.[AWSRegion].amazonaws.com/v1/logs

      Zum Beispiel:

      export OTEL_EXPORTER_OTLP_LOGS_ENDPOINT="https://logs.us-west-2.amazonaws.com/v1/logs"
    • Geben Sie OTEL_EXPORTER_OTLP_LOGS_HEADERS die Protokollgruppe und den Protokollstream an (Hinweis: Diese müssen erstellt werden, bevor ADOT ausgeführt wird), in die Sie Ihre Protokolle exportieren möchten: x-aws-log-group=[CW-LOG-GROUP-NAME],x-aws-log-stream=[CW-LOG-STREAM-NAME]

      Zum Beispiel:

      export OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=MyLogGroup,x-aws-log-stream=default
    • Auf OTEL_LOGS_EXPORTER gesetzt otlp (dies ist optional und der Standardwert, wenn diese Umgebungsvariable nicht gesetzt ist).

    • Setzen Sie die OTEL_EXPORTER_OTLP_LOGS_PROTOCOL Variable auf http/protobuf (dies ist optional und der Standardwert, wenn diese Umgebungsvariable nicht gesetzt ist).

  3. Legt JAVA_TOOL_OPTIONS den Pfad fest, in dem der Autoinstrumentation-Agent von AWS Distro for OpenTelemetry Java gespeichert ist. Zum Beispiel:

    export JAVA_TOOL_OPTIONS=" -javaagent:$AWS_ADOT_JAVA_INSTRUMENTATION_PATH" export AWS_ADOT_JAVA_INSTRUMENTATION_PATH="./aws-opentelemetry-agent.jar"
  4. Ihre Anwendung sollte jetzt mit ADOT-Java-Instrumentierung ausgeführt werden und generiert Spans und Logs. Spans werden in der aws/spans CloudWatch Protokollgruppe gespeichert, während Logs in der Protokollgruppe gespeichert werden, die in der Kopfzeile angegeben ist. OTEL_EXPORTER_OTLP_LOGS_HEADERS Sie können die mit Ihren Spans korrelierten Logs und Metriken auch in der CloudWatch Traces and Metrics Console einsehen.

  5. Starten Sie Ihre Anwendung mit den Umgebungsvariablen, die im vorherigen Schritt aufgeführt wurden. Im Folgenden finden Sie ein Beispiel für ein Start-Skript.

    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
Anmerkung

Sie müssen ADOT JavaScript Version 0.7.0 oder höher verwenden, damit diese Funktionen verfügbar sind.

  1. Laden Sie die neueste Version der AWS Distro für die OpenTelemetry JavaScript automatische Instrumentierung herunter. Für die Installation führen Sie den folgenden -Befehl aus.

    npm install @aws/aws-distro-opentelemetry-node-autoinstrumentation

    Informationen zu allen veröffentlichten Versionen finden Sie unter aws-otel-js-instrumentation Releases.

  2. Um die verschiedenen Exportprogramme zu aktivieren, die Telemetrie direkt an die OTLP-Endpunkte senden, und um die Vorteile zu optimieren, verwenden Sie die folgenden Umgebungsvariablen, bevor Sie Ihre Anwendung starten:

    Spuren:

    • Legt festOTEL_EXPORTER_OTLP_TRACES_ENDPOINT, dass der X-Ray-OTLP-Traces-Endpunkt angegeben wird: https://xray.[AWSRegion].amazonaws.com/v1/traces

      Zum Beispiel:

      export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT="https://xray.us-west-2.amazonaws.com/v1/traces"
    • Auf OTEL_TRACES_EXPORTER gesetzt otlp (dies ist optional und der Standardwert, wenn diese Umgebungsvariable nicht gesetzt ist).

    • Setzen Sie die OTEL_EXPORTER_OTLP_TRACES_PROTOCOL Variable auf http/protobuf (dies ist optional und der Standardwert, wenn diese Umgebungsvariable nicht gesetzt ist).

    • Setzen Sie OTEL_RESOURCE_ATTRIBUTES Variable, um die folgenden Informationen als Schlüssel-Wert-Paare anzugeben. Diese Umgebungsvariablen werden von Application Signals verwendet und in Röntgen-Trace-Anmerkungen und CloudWatch metrische Dimensionen umgewandelt. :

      • (Optional) service.name legt den Namen des Dienstes fest. Dieser wird in den Dashboards von Application Signals als Dienstname für Ihre Anwendung angezeigt. Wenn Sie keinen Wert für diesen Schlüssel angeben, wird der Standardwert von UnknownService verwendet.

      • (Optional) deployment.environment legt die Umgebung fest, in der die Anwendung ausgeführt wird. Dies wird als Hosted In-Umgebung Ihrer Anwendung angezeigt.

      • (Optional) Um die Protokollkorrelation zu aktivierenOTEL_RESOURCE_ATTRIBUTES, legen Sie in eine zusätzliche Umgebungsvariable aws.log.group.names für die Protokollgruppen Ihrer Anwendung fest. Auf diese Weise können die Traces und Metriken aus Ihrer Anwendung mit den relevanten Protokolleinträgen aus diesen Protokollgruppen korreliert werden. Ersetzen Sie diese Variable $YOUR_APPLICATION_LOG_GROUP durch die Namen der Protokollgruppen für Ihre Anwendung. Wenn Sie mehrere Protokollgruppen haben, können Sie sie mit einem Und-Zeichen (&) trennen, wie in diesem Beispiel:. aws.log.group.names=log-group-1&log-group-2 Um die Korrelation zwischen Metrik und Protokoll zu aktivieren, reicht es aus, diese aktuelle Umgebungsvariable festzulegen. Weitere Informationen finden Sie unter Aktivieren der Metrik zur Protokollierung der Korrelation. Um die Korrelation zwischen Trace und Log zu aktivieren, müssen Sie auch die Logging-Konfiguration in Ihrer Anwendung ändern. Weitere Informationen finden Sie unter Korrelation zwischen Ablaufverfolgung und Protokoll aktivieren.

    Protokolle:

    • Legt festOTEL_EXPORTER_OTLP_LOGS_ENDPOINT, dass der Endpunkt der CloudWatch OTLP-Protokolle angegeben wird: https://logs.[AWSRegion].amazonaws.com/v1/logs

      Zum Beispiel:

      export OTEL_EXPORTER_OTLP_LOGS_ENDPOINT="https://logs.us-west-2.amazonaws.com/v1/logs"
    • Geben Sie OTEL_EXPORTER_OTLP_LOGS_HEADERS die Protokollgruppe und den Protokollstream an (Hinweis: Diese müssen erstellt werden, bevor ADOT ausgeführt wird), in die Sie Ihre Protokolle exportieren möchten: x-aws-log-group=[CW-LOG-GROUP-NAME],x-aws-log-stream=[CW-LOG-STREAM-NAME]

      Zum Beispiel:

      export OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=MyLogGroup,x-aws-log-stream=default
    • Auf OTEL_LOGS_EXPORTER gesetzt otlp (dies ist optional und der Standardwert, wenn diese Umgebungsvariable nicht gesetzt ist).

    • Setzen Sie die OTEL_EXPORTER_OTLP_LOGS_PROTOCOL Variable auf http/protobuf (dies ist optional und der Standardwert, wenn diese Umgebungsvariable nicht gesetzt ist).

  3. Ihre Anwendung sollte jetzt mit JavaScript ADOT-Instrumentierung ausgeführt werden und generiert Spans und Logs. Spans werden in der aws/spans CloudWatch Protokollgruppe gespeichert, während Logs in der Protokollgruppe gespeichert werden, die in der Kopfzeile angegeben ist. OTEL_EXPORTER_OTLP_LOGS_HEADERS Sie können die mit Ihren Spans korrelierten Logs und Metriken auch in der CloudWatch Traces and Metrics Console einsehen.

  4. Starten Sie Ihre Anwendung mit den Umgebungsvariablen, die im vorherigen Schritt aufgeführt wurden. Im Folgenden finden Sie ein Beispiel für ein Start-Skript.

    Ersetzen Sie $SVC_NAME mit dem Namen Ihrer Anwendung. Dies wird als Name der Anwendung angezeigt.

    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
Anmerkung

Sie müssen ADOT Python Version 0.10.0 oder höher verwenden und botocoreinstalliert haben, damit diese Funktionen verfügbar sind.

  1. Laden Sie die neueste Version der automatischen Instrumentierung von AWS Distro for OpenTelemetry Python herunter. Für die Installation führen Sie den folgenden -Befehl aus.

    pip install aws-opentelemetry-distro

    Informationen zu allen veröffentlichten Versionen finden Sie unter aws-otel-python-instrumentation Releases.

  2. Um die verschiedenen Exportprogramme zu aktivieren, die Telemetrie direkt an die OTLP-Endpunkte senden, und um die Vorteile zu optimieren, verwenden Sie die folgenden Umgebungsvariablen, bevor Sie Ihre Anwendung starten:

    Sowohl für Traces- als auch für Log-Konfigurationen müssen Sie die folgenden Umgebungsvariablen festlegen:

    • OTEL_PYTHON_DISTRO auf aws_distro

    • OTEL_PYTHON_CONFIGURATOR auf aws_configurator

    Spuren:

    • Legt festOTEL_EXPORTER_OTLP_TRACES_ENDPOINT, dass der X-Ray-OTLP-Traces-Endpunkt angegeben wird: https://xray.[AWSRegion].amazonaws.com/v1/traces

      Zum Beispiel:

      export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT="https://xray.us-west-2.amazonaws.com/v1/traces"
    • Auf OTEL_TRACES_EXPORTER gesetzt otlp (dies ist optional und der Standardwert, wenn diese Umgebungsvariable nicht gesetzt ist).

    • Setzen Sie die OTEL_EXPORTER_OTLP_TRACES_PROTOCOL Variable auf http/protobuf (dies ist optional und der Standardwert, wenn diese Umgebungsvariable nicht gesetzt ist).

    • Setzen Sie OTEL_RESOURCE_ATTRIBUTES Variable, um die folgenden Informationen als Schlüssel-Wert-Paare anzugeben. Diese Umgebungsvariablen werden von Application Signals verwendet und in Röntgen-Trace-Anmerkungen und CloudWatch metrische Dimensionen umgewandelt. :

      • (Optional) service.name legt den Namen des Dienstes fest. Dieser wird in den Dashboards von Application Signals als Dienstname für Ihre Anwendung angezeigt. Wenn Sie keinen Wert für diesen Schlüssel angeben, wird der Standardwert von UnknownService verwendet.

      • (Optional) deployment.environment legt die Umgebung fest, in der die Anwendung ausgeführt wird. Dies wird als Hosted In-Umgebung Ihrer Anwendung angezeigt.

      • (Optional) Um die Protokollkorrelation zu aktivierenOTEL_RESOURCE_ATTRIBUTES, legen Sie in eine zusätzliche Umgebungsvariable aws.log.group.names für die Protokollgruppen Ihrer Anwendung fest. Auf diese Weise können die Traces und Metriken aus Ihrer Anwendung mit den relevanten Protokolleinträgen aus diesen Protokollgruppen korreliert werden. Ersetzen Sie diese Variable $YOUR_APPLICATION_LOG_GROUP durch die Namen der Protokollgruppen für Ihre Anwendung. Wenn Sie mehrere Protokollgruppen haben, können Sie sie mit einem Und-Zeichen (&) trennen, wie in diesem Beispiel:. aws.log.group.names=log-group-1&log-group-2 Um die Korrelation zwischen Metrik und Protokoll zu aktivieren, reicht es aus, diese aktuelle Umgebungsvariable festzulegen. Weitere Informationen finden Sie unter Aktivieren der Metrik zur Protokollierung der Korrelation. Um die Korrelation zwischen Trace und Log zu aktivieren, müssen Sie auch die Logging-Konfiguration in Ihrer Anwendung ändern. Weitere Informationen finden Sie unter Korrelation zwischen Ablaufverfolgung und Protokoll aktivieren.

    Protokolle:

    • Eingestellt OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED auf true

    • Legt festOTEL_EXPORTER_OTLP_LOGS_ENDPOINT, dass der Endpunkt der CloudWatch OTLP-Protokolle angegeben wird: https://logs.[AWSRegion].amazonaws.com/v1/logs

      Zum Beispiel:

      export OTEL_EXPORTER_OTLP_LOGS_ENDPOINT="https://logs.us-west-2.amazonaws.com/v1/logs"
    • Geben Sie OTEL_EXPORTER_OTLP_LOGS_HEADERS die Protokollgruppe und den Protokollstream an (Hinweis: Diese müssen erstellt werden, bevor ADOT ausgeführt wird), in die Sie Ihre Protokolle exportieren möchten: x-aws-log-group=[CW-LOG-GROUP-NAME],x-aws-log-stream=[CW-LOG-STREAM-NAME]

      Zum Beispiel:

      export OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=MyLogGroup,x-aws-log-stream=default
    • Auf OTEL_LOGS_EXPORTER gesetzt otlp (dies ist optional und der Standardwert, wenn diese Umgebungsvariable nicht gesetzt ist).

    • Setzen Sie die OTEL_EXPORTER_OTLP_LOGS_PROTOCOL Variable auf http/protobuf (dies ist optional und der Standardwert, wenn diese Umgebungsvariable nicht gesetzt ist).

  3. Ihre Anwendung sollte jetzt mit ADOT Python-Instrumentierung laufen und Spans und Logs generieren. Spans werden in der aws/spans CloudWatch Protokollgruppe gespeichert, während Logs in der im Header angegebenen Protokollgruppe gespeichert werden. OTEL_EXPORTER_OTLP_LOGS_HEADERS Sie können die mit Ihren Spans korrelierten Logs und Metriken auch in der CloudWatch Traces and Metrics Console einsehen.

  4. Starten Sie Ihre Anwendung mit den Umgebungsvariablen, die im vorherigen Schritt aufgeführt wurden. Im Folgenden finden Sie ein Beispiel für ein Start-Skript.

    Ersetzen Sie $SVC_NAME mit dem Namen Ihrer Anwendung. Dies wird als Name der Anwendung angezeigt.

    $PYTHON_APPErsetzen Sie es durch den Speicherort und den Namen Ihrer Anwendung.

    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
Anmerkung
  • ADOT.NET-Version 1.8.0 oder höher ist erforderlich, damit diese Funktionen verfügbar sind.

  • Die Komprimierung wird derzeit nicht unterstützt.

  • Logs wird derzeit nicht unterstützt.

Laden Sie die neueste Version des AWS Autoinstrumentationspakets Distro for OpenTelemetry .NET herunter. Informationen zu allen veröffentlichten Versionen finden Sie unter aws-otel-dotnet-instrumentation Releases.

Um die verschiedenen Exportprogramme zu aktivieren, die Telemetrie direkt an die OTLP-Endpunkte senden, und um die Vorteile zu optimieren, verwenden Sie die folgenden Umgebungsvariablen, bevor Sie Ihre Anwendung starten (ersetzen dotnet-service-name Sie die OTEL_RESOURCE_ATTRIBUTES Umgebungsvariable durch den Dienstnamen Ihrer Wahl):

Spuren:

  • Sie MÜSSEN einstellen OTEL_TRACES_EXPORTER auf none

  • Sie MÜSSEN einstellen OTEL_AWS_SIG_V4_ENABLED auf true

    Diese Funktion wird in.NET nicht automatisch aktiviert. Die Umgebungsvariable ist speziell erforderlich, um diesen Anwendungsfall innerhalb der .NET-Instrumentierung zu identifizieren. Diese Anforderung gilt nur für.NET und gilt nicht für andere unterstützte Sprachen.

Im Folgenden finden Sie ein Beispiel-Setup für 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

Im Folgenden finden Sie ein Beispiel-Setup für 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. Starten Sie Ihre Anwendung mit den im vorherigen Schritt aufgeführten Umgebungsvariablen.

  2. (Optional) Alternativ können Sie die bereitgestellten Installationsskripten verwenden, um die Installation und Einrichtung des AWS Autoinstrumentationspakets Distro for OpenTelemetry .NET zu unterstützen.

    Laden Sie für Linux das Bash-Installationsskript von der Releases-Seite herunter und installieren Sie es: 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-name

    Laden Sie für Windows Server das PowerShell Installationsskript von der GitHub Releases-Seite herunter und installieren Sie es:

    # 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

    Sie finden das NuGet Paket des Autoinstrumentationspakets AWS Distro for OpenTelemetry .NET im offiziellen NuGet Repository. Anweisungen finden Sie in der README-Datei.