

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Esportazione della telemetria senza raccoglitore utilizzando Distro for (ADOT) SDK AWS OpenTelemetry
<a name="CloudWatch-OTLP-UsingADOT"></a>

Puoi utilizzare ADOT SDKs per rinunciare all'uso del raccoglitore e inviare metriche, tracce e log direttamente agli endpoint OTLP.

**Nota**  
Application Signals include le funzionalità Transaction Search. Per evitare costi duplicati, disattiva Application Signals nell'SDK ADOT e mantieni l'impostazione `OTEL_AWS_APPLICATION_SIGNALS_ENABLED` su “false” (impostazione predefinita). 

**Topics**
+ [Prerequisito](#CloudWatch-OTLP-UsingADOT-Prerequisite)
+ [Impostazione delle autorizzazioni IAM per il ruolo](#setup-iam-permissions-role)
+ [Configurazione dei provider delle credenziali](#configure-credentials-providers)
+ [Abilitare ADOT SDKs](#Enabling-ADOT)

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

Se utilizzi trace, assicurati che Transaction Search sia abilitato per inviare span all'endpoint OTLP X-Ray. Per ulteriori informazioni, consulta [Getting started with Transaction Search](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Transaction-Search-getting-started.html).

## Impostazione delle autorizzazioni IAM per il ruolo
<a name="setup-iam-permissions-role"></a>

Attieniti alla seguente procedura per collegare le policy IAM necessarie al tuo ruolo:

**Tracce:**

1. Aprire la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Scegli **Ruoli**, quindi trova e seleziona il ruolo configurato.

1. Nella scheda **Autorizzazioni**, scegli **Aggiungi autorizzazioni**, quindi **Collega policy**.

1. Utilizzando la casella di ricerca, cerca `AWSXrayWriteOnlyPolicy`.

1. Seleziona la policy `AWSXrayWriteOnlyPolicy`, quindi scegli **Aggiungi autorizzazioni**.

**Log:**

1. Aprire la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Scegli **Ruoli**, quindi trova e seleziona il ruolo configurato.

1. Nella scheda **Autorizzazioni**, scegli **Aggiungi autorizzazioni**, quindi **Crea policy inline**.

1. Seleziona **CloudWatch Registri** per il servizio e in **Azioni** consentite, filtra e seleziona:

   ```
   logs:PutLogEvents
   logs:DescribeLogGroups
   logs:DescribeLogStreams
   ```

1. Di seguito è riportata una policy IAM di esempio che concede le autorizzazioni necessarie:

------
#### [ JSON ]

****  

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

------

## Configurazione dei provider delle credenziali
<a name="configure-credentials-providers"></a>

ADOT lo utilizza AWS SDKs per scoprire automaticamente le credenziali valide necessarie per esportare i dati di telemetria in. AWS Per indicazioni sulla configurazione delle credenziali per il tuo ambiente specifico, [consulta la documentazione su come l'SDKS recupera le](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html) credenziali. AWS 

**Configurazione delle credenziali IAM per gli host on-premises:**

Configura AWS le tue credenziali nell'host locale inserendo il seguente comando. Sostituisci **ACCESS\$1KEY\$1ID** e **SECRET\$1ACCESS\$1KEY** con le credenziali per l'utente o il ruolo IAM configurato.

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

## Abilitare ADOT SDKs
<a name="Enabling-ADOT"></a>

Puoi abilitare l'invio di log e tracce per la tua applicazione direttamente agli endpoint OTLP da AWS Distro for OpenTelemetry (ADOT) SDK su Java, Node.js, Python e.Net.

------
#### [ Java ]

**Nota**  
Per rendere disponibili queste funzionalità, è necessario utilizzare **ADOT Java Agent versione 2.11.2 o successive**.

1. Scarica l'ultima versione dell'agente di strumentazione automatica AWS Distro for OpenTelemetry Java. Puoi scaricare la versione più recente utilizzando questo comando:

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

   [È possibile visualizzare informazioni su tutte le versioni rilasciate in Releases. aws-otel-java-instrumentation ](https://github.com/aws-observability/aws-otel-java-instrumentation/releases)

1. Per abilitare l'esportatore diverso che invia direttamente la telemetria agli endpoint OTLP e ottimizzare i vantaggi, utilizza le seguenti variabili di ambiente prima di avviare l'applicazione:

   **Tracce:**
   + Imposta `OTEL_EXPORTER_OTLP_TRACES_ENDPOINT` per specificare l'endpoint delle tracce OTLP di X-Ray: `https://xray.[AWSRegion].amazonaws.com/v1/traces`

     Esempio:

     ```
     export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT="https://xray.us-west-2.amazonaws.com/v1/traces"
     ```
   + Imposta `OTEL_TRACES_EXPORTER` su `otlp` (facoltativo; corrisponde al valore predefinito se questa variabile di ambiente non è impostata).
   + Imposta la variabile `OTEL_EXPORTER_OTLP_TRACES_PROTOCOL` su `http/protobuf` (facoltativo; corrisponde al valore predefinito se questa variabile di ambiente non è impostata).
   + Imposta la variabile `OTEL_RESOURCE_ATTRIBUTES` per specificare le seguenti informazioni come coppie chiave-valore: Queste variabili di ambiente vengono utilizzate da Application Signals e convertite in annotazioni di tracce a raggi X e CloudWatch dimensioni metriche. :
     + (Facoltativo) `service.name` imposta il nome del servizio. Questo verrà visualizzato come nome del servizio per l'applicazione nei pannelli di controllo di Application Signals. Se non si fornisce un valore per questa chiave, viene utilizzato il valore predefinito di `UnknownService`.
     + (Facoltativo) `deployment.environment` imposta l'ambiente in cui viene eseguita l'applicazione. Questo verrà visualizzato come ambiente **Ospitato in** dell'applicazione.
     + (Facoltativo) Per abilitare la correlazione dei log, in `OTEL_RESOURCE_ATTRIBUTES`, imposta una variabile di ambiente aggiuntiva `aws.log.group.names` per i gruppi di log dell'applicazione. In questo modo, le tracce e le metriche dell'applicazione possono essere correlate alle voci di log pertinenti di questi gruppi di log. Per questa variabile, sostituisci `$YOUR_APPLICATION_LOG_GROUP` con i nomi dei gruppi di log dell'applicazione. Se hai più gruppi di log, puoi usare una e commerciale (`&`) per separarli come in questo esempio: `aws.log.group.names=log-group-1&log-group-2`. Per abilitare la correlazione tra metrica e log, è sufficiente impostare questa variabile di ambiente corrente. Per ulteriori informazioni, consulta [Abilitazione della correlazione tra metrica e log](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Application-Signals-MetricLogCorrelation.html). Per abilitare la correlazione tra traccia e log, dovrai anche modificare la configurazione di registrazione nell'applicazione. Per ulteriori informazioni, consulta [Abilitazione della correlazione tra traccia e log](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Application-Signals-TraceLogCorrelation.html).

   **Log:**
   + Impostato `OTEL_EXPORTER_OTLP_LOGS_ENDPOINT` per specificare l'endpoint dei log CloudWatch OTLP: `https://logs.[AWSRegion].amazonaws.com/v1/logs`

     Esempio:

     ```
     export OTEL_EXPORTER_OTLP_LOGS_ENDPOINT="https://logs.us-west-2.amazonaws.com/v1/logs"
     ```
   + Imposta `OTEL_EXPORTER_OTLP_LOGS_HEADERS` per specificare il gruppo di log e il flusso di log (nota: devono essere creati **prima** di eseguire ADOT) in cui vuoi esportare i log: `x-aws-log-group=[CW-LOG-GROUP-NAME],x-aws-log-stream=[CW-LOG-STREAM-NAME]`

     Esempio:

     ```
     export OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=MyLogGroup,x-aws-log-stream=default
     ```
   + Imposta `OTEL_LOGS_EXPORTER` su `otlp` (facoltativo; corrisponde al valore predefinito se questa variabile di ambiente non è impostata).
   + Imposta la variabile `OTEL_EXPORTER_OTLP_LOGS_PROTOCOL` su `http/protobuf` (facoltativo; corrisponde al valore predefinito se questa variabile di ambiente non è impostata).

1. Impostato `JAVA_TOOL_OPTIONS` per specificare il percorso in cui è archiviato l'agente di strumentazione automatica AWS Distro for OpenTelemetry Java. Esempio:

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

1. Ora l'applicazione dovrebbe essere in esecuzione con l'instrumentazione Java ADOT e dovrebbe iniziare a generare intervalli e log. Gli intervalli verranno archiviati nel gruppo di `aws/spans` CloudWatch log, mentre i log verranno archiviati nel gruppo di log specificato nell'intestazione. `OTEL_EXPORTER_OTLP_LOGS_HEADERS` Puoi anche visualizzare i log e le metriche correlati agli intervalli nella console di Traces and Metrics. CloudWatch 

1. Avvia l'applicazione con le variabili di ambiente elencate nel passaggio precedente. Di seguito è riportato un esempio di script di avvio.

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

**Nota**  
È necessario utilizzare la ** JavaScript versione 0.7.0 o successiva di ADOT per** rendere disponibili queste funzionalità.

1. Scarica l'ultima versione di AWS Distro per la strumentazione OpenTelemetry JavaScript automatica. Installarlo eseguendo il seguente comando .

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

   [È possibile visualizzare informazioni su tutte le versioni rilasciate in Releases. aws-otel-js-instrumentation ](https://github.com/aws-observability/aws-otel-js-instrumentation/releases)

1. Per abilitare l'esportatore diverso che invia direttamente la telemetria agli endpoint OTLP e ottimizzare i vantaggi, utilizza le seguenti variabili di ambiente prima di avviare l'applicazione:

   **Tracce:**
   + Imposta `OTEL_EXPORTER_OTLP_TRACES_ENDPOINT` per specificare l'endpoint delle tracce OTLP di X-Ray: `https://xray.[AWSRegion].amazonaws.com/v1/traces`

     Esempio:

     ```
     export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT="https://xray.us-west-2.amazonaws.com/v1/traces"
     ```
   + Imposta `OTEL_TRACES_EXPORTER` su `otlp` (facoltativo; corrisponde al valore predefinito se questa variabile di ambiente non è impostata).
   + Imposta la variabile `OTEL_EXPORTER_OTLP_TRACES_PROTOCOL` su `http/protobuf` (facoltativo; corrisponde al valore predefinito se questa variabile di ambiente non è impostata).
   + Imposta la variabile `OTEL_RESOURCE_ATTRIBUTES` per specificare le seguenti informazioni come coppie chiave-valore: Queste variabili di ambiente vengono utilizzate da Application Signals e convertite in annotazioni di tracce a raggi X e CloudWatch dimensioni metriche. :
     + (Facoltativo) `service.name` imposta il nome del servizio. Questo verrà visualizzato come nome del servizio per l'applicazione nei pannelli di controllo di Application Signals. Se non si fornisce un valore per questa chiave, viene utilizzato il valore predefinito di `UnknownService`.
     + (Facoltativo) `deployment.environment` imposta l'ambiente in cui viene eseguita l'applicazione. Questo verrà visualizzato come ambiente **Ospitato in** dell'applicazione.
     + (Facoltativo) Per abilitare la correlazione dei log, in `OTEL_RESOURCE_ATTRIBUTES`, imposta una variabile di ambiente aggiuntiva `aws.log.group.names` per i gruppi di log dell'applicazione. In questo modo, le tracce e le metriche dell'applicazione possono essere correlate alle voci di log pertinenti di questi gruppi di log. Per questa variabile, sostituisci `$YOUR_APPLICATION_LOG_GROUP` con i nomi dei gruppi di log dell'applicazione. Se hai più gruppi di log, puoi usare una e commerciale (`&`) per separarli come in questo esempio: `aws.log.group.names=log-group-1&log-group-2`. Per abilitare la correlazione tra metrica e log, è sufficiente impostare questa variabile di ambiente corrente. Per ulteriori informazioni, consulta [Abilitazione della correlazione tra metrica e log](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Application-Signals-MetricLogCorrelation.html). Per abilitare la correlazione tra traccia e log, dovrai anche modificare la configurazione di registrazione nell'applicazione. Per ulteriori informazioni, consulta [Abilitazione della correlazione tra traccia e log](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Application-Signals-TraceLogCorrelation.html).

   **Log:**
   + Impostato `OTEL_EXPORTER_OTLP_LOGS_ENDPOINT` per specificare l'endpoint dei log CloudWatch OTLP: `https://logs.[AWSRegion].amazonaws.com/v1/logs`

     Esempio:

     ```
     export OTEL_EXPORTER_OTLP_LOGS_ENDPOINT="https://logs.us-west-2.amazonaws.com/v1/logs"
     ```
   + Imposta `OTEL_EXPORTER_OTLP_LOGS_HEADERS` per specificare il gruppo di log e il flusso di log (nota: devono essere creati **prima** di eseguire ADOT) in cui vuoi esportare i log: `x-aws-log-group=[CW-LOG-GROUP-NAME],x-aws-log-stream=[CW-LOG-STREAM-NAME]`

     Esempio:

     ```
     export OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=MyLogGroup,x-aws-log-stream=default
     ```
   + Imposta `OTEL_LOGS_EXPORTER` su `otlp` (facoltativo; corrisponde al valore predefinito se questa variabile di ambiente non è impostata).
   + Imposta la variabile `OTEL_EXPORTER_OTLP_LOGS_PROTOCOL` su `http/protobuf` (facoltativo; corrisponde al valore predefinito se questa variabile di ambiente non è impostata).

1. L'applicazione dovrebbe ora funzionare con la JavaScript strumentazione ADOT e genererà intervalli e log. Gli intervalli verranno archiviati nel gruppo di `aws/spans` CloudWatch log, mentre i log verranno archiviati nel gruppo di log specificato nell'intestazione. `OTEL_EXPORTER_OTLP_LOGS_HEADERS` Puoi anche visualizzare i log e le metriche correlati agli intervalli nella console di Traces and Metrics. CloudWatch 

1. Avvia l'applicazione con le variabili di ambiente elencate nel passaggio precedente. Di seguito è riportato un esempio di script di avvio.

   Sostituisci `$SVC_NAME` con il nome della tua applicazione. Questo verrà visualizzato come nome dell'applicazione.

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

**Nota**  
Affinché queste funzionalità siano disponibili, è necessario utilizzare **ADOT Python versione 0.10.0 o successive** e avere installato **`botocore`**.

1. Scarica l'ultima versione della strumentazione automatica AWS Distro for OpenTelemetry Python. Installarlo eseguendo il seguente comando .

   ```
   pip install aws-opentelemetry-distro
   ```

   [È possibile visualizzare informazioni su tutte le versioni rilasciate in Releases. aws-otel-python-instrumentation ](https://github.com/aws-observability/aws-otel-python-instrumentation/releases)

1. Per abilitare l'esportatore diverso che invia direttamente la telemetria agli endpoint OTLP e ottimizzare i vantaggi, utilizza le seguenti variabili di ambiente prima di avviare l'applicazione:

   **Sia per le configurazioni delle tracce sia per quelle dei log, è necessario impostare le seguenti variabili di ambiente:**
   + `OTEL_PYTHON_DISTRO` Da a `aws_distro`
   + `OTEL_PYTHON_CONFIGURATOR` Da a `aws_configurator`

   **Tracce:**
   + Imposta `OTEL_EXPORTER_OTLP_TRACES_ENDPOINT` per specificare l'endpoint delle tracce OTLP di X-Ray: `https://xray.[AWSRegion].amazonaws.com/v1/traces`

     Esempio:

     ```
     export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT="https://xray.us-west-2.amazonaws.com/v1/traces"
     ```
   + Imposta `OTEL_TRACES_EXPORTER` su `otlp` (facoltativo; corrisponde al valore predefinito se questa variabile di ambiente non è impostata).
   + Imposta la variabile `OTEL_EXPORTER_OTLP_TRACES_PROTOCOL` su `http/protobuf` (facoltativo; corrisponde al valore predefinito se questa variabile di ambiente non è impostata).
   + Imposta la variabile `OTEL_RESOURCE_ATTRIBUTES` per specificare le seguenti informazioni come coppie chiave-valore: Queste variabili di ambiente vengono utilizzate da Application Signals e convertite in annotazioni di tracce a raggi X e CloudWatch dimensioni metriche. :
     + (Facoltativo) `service.name` imposta il nome del servizio. Questo verrà visualizzato come nome del servizio per l'applicazione nei pannelli di controllo di Application Signals. Se non si fornisce un valore per questa chiave, viene utilizzato il valore predefinito di `UnknownService`.
     + (Facoltativo) `deployment.environment` imposta l'ambiente in cui viene eseguita l'applicazione. Questo verrà visualizzato come ambiente **Ospitato in** dell'applicazione.
     + (Facoltativo) Per abilitare la correlazione dei log, in `OTEL_RESOURCE_ATTRIBUTES`, imposta una variabile di ambiente aggiuntiva `aws.log.group.names` per i gruppi di log dell'applicazione. In questo modo, le tracce e le metriche dell'applicazione possono essere correlate alle voci di log pertinenti di questi gruppi di log. Per questa variabile, sostituisci `$YOUR_APPLICATION_LOG_GROUP` con i nomi dei gruppi di log dell'applicazione. Se hai più gruppi di log, puoi usare una e commerciale (`&`) per separarli come in questo esempio: `aws.log.group.names=log-group-1&log-group-2`. Per abilitare la correlazione tra metrica e log, è sufficiente impostare questa variabile di ambiente corrente. Per ulteriori informazioni, consulta [Abilitazione della correlazione tra metrica e log](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Application-Signals-MetricLogCorrelation.html). Per abilitare la correlazione tra traccia e log, dovrai anche modificare la configurazione di registrazione nell'applicazione. Per ulteriori informazioni, consulta [Abilitazione della correlazione tra traccia e log](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Application-Signals-TraceLogCorrelation.html).

   **Log:**
   + Imposta `OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED` su `true`
   + Impostato `OTEL_EXPORTER_OTLP_LOGS_ENDPOINT` per specificare l'endpoint dei log CloudWatch OTLP: `https://logs.[AWSRegion].amazonaws.com/v1/logs`

     Esempio:

     ```
     export OTEL_EXPORTER_OTLP_LOGS_ENDPOINT="https://logs.us-west-2.amazonaws.com/v1/logs"
     ```
   + Imposta `OTEL_EXPORTER_OTLP_LOGS_HEADERS` per specificare il gruppo di log e il flusso di log (nota: devono essere creati **prima** di eseguire ADOT) in cui vuoi esportare i log: `x-aws-log-group=[CW-LOG-GROUP-NAME],x-aws-log-stream=[CW-LOG-STREAM-NAME]`

     Esempio:

     ```
     export OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=MyLogGroup,x-aws-log-stream=default
     ```
   + Imposta `OTEL_LOGS_EXPORTER` su `otlp` (facoltativo; corrisponde al valore predefinito se questa variabile di ambiente non è impostata).
   + Imposta la variabile `OTEL_EXPORTER_OTLP_LOGS_PROTOCOL` su `http/protobuf` (facoltativo; corrisponde al valore predefinito se questa variabile di ambiente non è impostata).

1. Ora l'applicazione dovrebbe essere in esecuzione con l'instrumentazione Python ADOT e dovrebbe iniziare a generare intervalli e log. Gli intervalli verranno archiviati nel gruppo di `aws/spans` CloudWatch log, mentre i log verranno archiviati nel gruppo di log specificato nell'intestazione. `OTEL_EXPORTER_OTLP_LOGS_HEADERS` Puoi anche visualizzare i log e le metriche correlati agli intervalli nella console di Traces and Metrics. CloudWatch 

1. Avvia l'applicazione con le variabili di ambiente elencate nel passaggio precedente. Di seguito è riportato un esempio di script di avvio.

   Sostituisci `$SVC_NAME` con il nome della tua applicazione. Questo verrà visualizzato come nome dell'applicazione.

   Sostituisci `$PYTHON_APP` con la posizione e il nome della tua applicazione.

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

**Nota**  
Affinché queste funzionalità siano disponibili, è necessario **ADOT .NET 1.8.0 o versioni successive**.
La compressione non è attualmente supportata.
Logs attualmente non è supportato.

Scarica l'ultima versione del pacchetto di strumentazione automatica AWS Distro for OpenTelemetry .NET. [È possibile visualizzare informazioni su tutte le versioni rilasciate in Releases. aws-otel-dotnet-instrumentation ](https://github.com/aws-observability/aws-otel-dotnet-instrumentation/releases)

Per consentire ai diversi esportatori di inviare direttamente la telemetria agli endpoint OTLP e ottimizzare i vantaggi, utilizza le seguenti variabili di ambiente prima di avviare l'applicazione (sostituisci `dotnet-service-name` nella variabile di ambiente `OTEL_RESOURCE_ATTRIBUTES` con il nome del servizio che preferisci):

**Tracce:**
+ È **NECESSARIO** impostare `OTEL_TRACES_EXPORTER` su `none`
+ È **NECESSARIO** impostare `OTEL_AWS_SIG_V4_ENABLED` su `true`

  Questa funzionalità **non è abilitata automaticamente in .NET**. La variabile di ambiente è richiesta specificamente per identificare questo caso d'uso all'interno dell'instrumentazione .NET. Questo requisito è esclusivo di .NET e **non si applica ad altri linguaggi supportati**.

Di seguito è riportato un esempio di configurazione per 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
```

Di seguito è riportato un esempio di configurazione per 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. Avvia l'applicazione con le variabili di ambiente elencate nel passaggio precedente.

1. (Facoltativo) In alternativa, è possibile utilizzare gli script di installazione forniti per facilitare l'installazione e la configurazione del pacchetto di strumentazione automatica AWS Distro for OpenTelemetry .NET.

   Per Linux, scarica e installa lo script di installazione di Bash dalla pagina delle versioni: 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
   ```

   Per Windows Server, scarica e installa lo script di PowerShell installazione dalla pagina delle GitHub versioni:

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

   [Puoi trovare il NuGet pacchetto del pacchetto di strumentazione automatica AWS Distro for OpenTelemetry .NET nel repository ufficiale. NuGet ](https://www.nuget.org/packages/AWS.Distro.OpenTelemetry.AutoInstrumentation) Assicurati di controllare le istruzioni contenute nel [ file README](https://github.com/aws-observability/aws-otel-dotnet-instrumentation/blob/main/src/AWS.Distro.OpenTelemetry.AutoInstrumentation/nuget-readme.md).

------