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 „Falsch“ (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 der Transaktionssuche.

IAM-Berechtigungen für Ihre Rolle einrichten

Führen Sie die folgenden Schritte aus, um Ihrer Rolle die erforderlichen IAM-Richtlinien anzufügen:

Ablaufverfolgungen:

  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 anfügen.

  4. Verwenden Sie das Suchfeld zur Suche nach AWSXrayWriteOnlyPolicy.

  5. Wählen Sie die AWSXrayWriteOnlyPolicy-Richtlinie und dann Berechtigungen hinzufügen aus.

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 Optionen 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 erteilt:

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

Ihre Anmeldeinformationsanbieter konfigurieren

ADOT verwendet das 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 On-Premise-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 Features 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 über diesen 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 den anderen Exporter zu aktivieren, der Telemetrie direkt an die OTLP-Endpunkte sendet, und um die Vorteile zu optimieren, verwenden Sie die folgenden Umgebungsvariablen, bevor Sie Ihre Anwendung starten:

    Ablaufverfolgungen:

    • Legen Sie OTEL_EXPORTER_OTLP_TRACES_ENDPOINT fest, um den Endpunkt für die X-Ray-OTLP-Ablaufverfolgungen anzugeben: https://xray.[AWSRegion].amazonaws.com/v1/traces

      Zum Beispiel:

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

    • Legen Sie die OTEL_EXPORTER_OTLP_TRACES_PROTOCOL-Variable auf http/protobuf fest (das ist optional und der Standardwert, wenn diese Umgebungsvariable nicht gesetzt ist).

    • Legen Sie die OTEL_RESOURCE_ATTRIBUTES-Variable fest, 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 Services fest. Dies wird in den Dashboards von Application Signals als Servicename der 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. Das wird als Hosted-In-Umgebung Ihrer Anwendung angezeigt.

      • (Optional) Um die Protokollkorrelation zu aktivieren, legen Sie in OTEL_RESOURCE_ATTRIBUTES eine zusätzliche Umgebungsvariable aws.log.group.names für die Protokollgruppen Ihrer Anwendung fest. Auf diese Weise können die Ablaufverfolgungen und Metriken aus Ihrer Anwendung mit den relevanten Protokolleinträgen aus diesen Protokollgruppen korreliert werden. Ersetzen Sie für 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 Protokollkorrelation. Um die Korrelation zwischen Ablaufverfolgung und Protokoll zu aktivieren, müssen Sie auch die Protokollierungskonfiguration in Ihrer Anwendung ändern. Weitere Informationen finden Sie unter Aktivieren der Nachverfolgungs- und Protokollkorrelation.

    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"
    • Legen Sie OTEL_EXPORTER_OTLP_LOGS_HEADERS fest, um die Protokollgruppe und den Protokollstream anzugeben (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
    • Legen Sie OTEL_LOGS_EXPORTER auf otlp fest (das ist optional und der Standardwert, wenn diese Umgebungsvariable nicht gesetzt ist).

    • Legen Sie die OTEL_EXPORTER_OTLP_LOGS_PROTOCOL-Variable auf http/protobuf fest (das 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 Protokolle. 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.

  5. Starten Sie Ihre Anwendung mit den Umgebungsvariablen, die im vorherigen Schritt aufgelistet 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 den anderen Exporter zu aktivieren, der Telemetrie direkt an die OTLP-Endpunkte sendet, und um die Vorteile zu optimieren, verwenden Sie die folgenden Umgebungsvariablen, bevor Sie Ihre Anwendung starten:

    Ablaufverfolgungen:

    • Legen Sie OTEL_EXPORTER_OTLP_TRACES_ENDPOINT fest, um den Endpunkt für die X-Ray-OTLP-Ablaufverfolgungen anzugeben: https://xray.[AWSRegion].amazonaws.com/v1/traces

      Zum Beispiel:

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

    • Legen Sie die OTEL_EXPORTER_OTLP_TRACES_PROTOCOL-Variable auf http/protobuf fest (das ist optional und der Standardwert, wenn diese Umgebungsvariable nicht gesetzt ist).

    • Legen Sie die OTEL_RESOURCE_ATTRIBUTES-Variable fest, 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 Services fest. Dies wird in den Dashboards von Application Signals als Servicename der 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. Das wird als Hosted-In-Umgebung Ihrer Anwendung angezeigt.

      • (Optional) Um die Protokollkorrelation zu aktivieren, legen Sie in OTEL_RESOURCE_ATTRIBUTES eine zusätzliche Umgebungsvariable aws.log.group.names für die Protokollgruppen Ihrer Anwendung fest. Auf diese Weise können die Ablaufverfolgungen und Metriken aus Ihrer Anwendung mit den relevanten Protokolleinträgen aus diesen Protokollgruppen korreliert werden. Ersetzen Sie für 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 Protokollkorrelation. Um die Korrelation zwischen Ablaufverfolgung und Protokoll zu aktivieren, müssen Sie auch die Protokollierungskonfiguration in Ihrer Anwendung ändern. Weitere Informationen finden Sie unter Aktivieren der Nachverfolgungs- und Protokollkorrelation.

    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"
    • Legen Sie OTEL_EXPORTER_OTLP_LOGS_HEADERS fest, um die Protokollgruppe und den Protokollstream anzugeben (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
    • Legen Sie OTEL_LOGS_EXPORTER auf otlp fest (das ist optional und der Standardwert, wenn diese Umgebungsvariable nicht gesetzt ist).

    • Legen Sie die OTEL_EXPORTER_OTLP_LOGS_PROTOCOL-Variable auf http/protobuf fest (das 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 aufgelistet 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 botocore installiert 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 den anderen Exporter zu aktivieren, der Telemetrie direkt an die OTLP-Endpunkte sendet, und um die Vorteile zu optimieren, verwenden Sie die folgenden Umgebungsvariablen, bevor Sie Ihre Anwendung starten:

    Sowohl für Ablaufverfolgungs- als auch für Protokollkonfigurationen müssen Sie die folgenden Umgebungsvariablen festlegen:

    • OTEL_PYTHON_DISTRO auf aws_distro

    • OTEL_PYTHON_CONFIGURATOR auf aws_configurator

    Ablaufverfolgungen:

    • Legen Sie OTEL_EXPORTER_OTLP_TRACES_ENDPOINT fest, um den Endpunkt für die X-Ray-OTLP-Ablaufverfolgungen anzugeben: https://xray.[AWSRegion].amazonaws.com/v1/traces

      Zum Beispiel:

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

    • Legen Sie die OTEL_EXPORTER_OTLP_TRACES_PROTOCOL-Variable auf http/protobuf fest (das ist optional und der Standardwert, wenn diese Umgebungsvariable nicht gesetzt ist).

    • Legen Sie die OTEL_RESOURCE_ATTRIBUTES-Variable fest, 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 Services fest. Dies wird in den Dashboards von Application Signals als Servicename der 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. Das wird als Hosted-In-Umgebung Ihrer Anwendung angezeigt.

      • (Optional) Um die Protokollkorrelation zu aktivieren, legen Sie in OTEL_RESOURCE_ATTRIBUTES eine zusätzliche Umgebungsvariable aws.log.group.names für die Protokollgruppen Ihrer Anwendung fest. Auf diese Weise können die Ablaufverfolgungen und Metriken aus Ihrer Anwendung mit den relevanten Protokolleinträgen aus diesen Protokollgruppen korreliert werden. Ersetzen Sie für 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 Protokollkorrelation. Um die Korrelation zwischen Ablaufverfolgung und Protokoll zu aktivieren, müssen Sie auch die Protokollierungskonfiguration in Ihrer Anwendung ändern. Weitere Informationen finden Sie unter Aktivieren der Nachverfolgungs- und Protokollkorrelation.

    Protokolle:

    • Setzen Sie 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"
    • Legen Sie OTEL_EXPORTER_OTLP_LOGS_HEADERS fest, um die Protokollgruppe und den Protokollstream anzugeben (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
    • Legen Sie OTEL_LOGS_EXPORTER auf otlp fest (das ist optional und der Standardwert, wenn diese Umgebungsvariable nicht gesetzt ist).

    • Legen Sie die OTEL_EXPORTER_OTLP_LOGS_PROTOCOL-Variable auf http/protobuf fest (das ist optional und der Standardwert, wenn diese Umgebungsvariable nicht gesetzt ist).

  3. Ihre Anwendung sollte jetzt mit ADOT-Python-Instrumentierung ausgeführt werden und generiert Spans und Protokolle. Spans werden in der aws/spans CloudWatch Protokollgruppe gespeichert, während Protokolle 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 aufgelistet 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.

    Ersetzen Sie $PYTHON_APP mit dem Speicherort und 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 Features verfügbar sind.

  • Die Komprimierung wird derzeit nicht unterstützt.

  • Protokolle werden 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 den anderen Exporter zu aktivieren, der Telemetrie direkt an die OTLP-Endpunkte sendet, und um die Vorteile zu optimieren, verwenden Sie die folgenden Umgebungsvariablen, bevor Sie Ihre Anwendung starten (ersetzen Sie dotnet-service-name in der OTEL_RESOURCE_ATTRIBUTES-Umgebungsvariable mit dem Servicenamen Ihrer Wahl):

Ablaufverfolgungen:

  • Sie MÜSSEN OTEL_TRACES_EXPORTER auf none setzen.

  • Sie MÜSSEN OTEL_AWS_SIG_V4_ENABLED auf true setzen.

    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.

Es folgt 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

Es folgt 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 Umgebungsvariablen, die im vorherigen Schritt aufgelistet wurden.

  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.