

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
<a name="CloudWatch-OTLP-UsingADOT"></a>

Sie können den ADOT verwenden, um ohne Sammler SDKs auszukommen und Metriken, Traces und Protokolle 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. 

**Topics**
+ [Voraussetzung](#CloudWatch-OTLP-UsingADOT-Prerequisite)
+ [IAM-Berechtigungen für Ihre Rolle einrichten](#setup-iam-permissions-role)
+ [Ihre Anmeldeinformationsanbieter konfigurieren](#configure-credentials-providers)
+ [ADOT aktivieren SDKs](#Enabling-ADOT)

## Voraussetzung
<a name="CloudWatch-OTLP-UsingADOT-Prerequisite"></a>

Wenn Sie Traces verwenden, 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](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Transaction-Search-getting-started.html).

## IAM-Berechtigungen für Ihre Rolle einrichten
<a name="setup-iam-permissions-role"></a>

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/](https://console.aws.amazon.com/iam/) die IAM-Konsole.

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

1. Wählen Sie auf der Registerkarte **Berechtigungen** die Option **Berechtigungen hinzufügen** und dann **Richtlinien anfügen**.

1. Verwenden Sie das Suchfeld zur Suche nach `AWSXrayWriteOnlyPolicy`.

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

**Protokolle:**

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

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

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

1. 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
   ```

1. 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
<a name="configure-credentials-providers"></a>

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](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html).

**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\$1KEY\$1ID** und **SECRET\$1ACCESS\$1KEY** 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
<a name="Enabling-ADOT"></a>

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.](https://github.com/aws-observability/aws-otel-java-instrumentation/releases)

1. 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`

     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](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Application-Signals-MetricLogCorrelation.html). 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](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Application-Signals-TraceLogCorrelation.html).

   **Protokolle:**
   + Legt fest`OTEL_EXPORTER_OTLP_LOGS_ENDPOINT`, dass der Endpunkt der CloudWatch OTLP-Protokolle angegeben wird: `https://logs.[AWSRegion].amazonaws.com/v1/logs`

     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]`

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

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

   ```
   export JAVA_TOOL_OPTIONS=" -javaagent:$AWS_ADOT_JAVA_INSTRUMENTATION_PATH"
   export AWS_ADOT_JAVA_INSTRUMENTATION_PATH="./aws-opentelemetry-agent.jar"
   ```

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

1. 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.](https://github.com/aws-observability/aws-otel-js-instrumentation/releases)

1. 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`

     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](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Application-Signals-MetricLogCorrelation.html). 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](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Application-Signals-TraceLogCorrelation.html).

   **Protokolle:**
   + Legt fest`OTEL_EXPORTER_OTLP_LOGS_ENDPOINT`, dass der Endpunkt der CloudWatch OTLP-Protokolle angegeben wird: `https://logs.[AWSRegion].amazonaws.com/v1/logs`

     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]`

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

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

1. 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.](https://github.com/aws-observability/aws-otel-python-instrumentation/releases)

1. 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`

     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](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Application-Signals-MetricLogCorrelation.html). 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](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Application-Signals-TraceLogCorrelation.html).

   **Protokolle:**
   + Setzen Sie `OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED` auf `true`
   + Legt fest`OTEL_EXPORTER_OTLP_LOGS_ENDPOINT`, dass der Endpunkt der CloudWatch OTLP-Protokolle angegeben wird: `https://logs.[AWSRegion].amazonaws.com/v1/logs`

     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]`

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

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

1. 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.](https://github.com/aws-observability/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.

1. (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 ](https://www.nuget.org/packages/AWS.Distro.OpenTelemetry.AutoInstrumentation) Repository. Anweisungen finden Sie in der [README-Datei](https://github.com/aws-observability/aws-otel-dotnet-instrumentation/blob/main/src/AWS.Distro.OpenTelemetry.AutoInstrumentation/nuget-readme.md).

------