

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

# Dati della richiesta Trace Step Functions in AWS X-Ray
<a name="concepts-xray-tracing"></a>

È possibile utilizzarlo [AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html)per visualizzare i componenti della macchina a stati, identificare i punti deboli nelle prestazioni e risolvere le richieste che hanno provocato un errore. La macchina a stati invia i dati di tracciamento a X-Ray e X-Ray li elabora per generare una mappa dei servizi e riepiloghi delle tracce ricercabili.

Con X-Ray abilitato per la tua macchina a stati, puoi tracciare le richieste man mano che vengono eseguite in Step Functions, in tutte le AWS regioni in cui è disponibile X-Ray. Questo offre una panoramica dettagliata di un'intera richiesta Step Functions. Step Functions invierà tracce a X-Ray per le esecuzioni di macchine a stati, anche quando un ID di traccia non viene passato da un servizio upstream. È possibile utilizzare una mappa dei servizi X-Ray per visualizzare la latenza di una richiesta, inclusi tutti AWS i servizi integrati con X-Ray. È inoltre possibile configurare le regole di campionamento per indicare a X-Ray quali richieste registrare e a quali frequenze di campionamento, in base ai criteri specificati.

Quando X-Ray non è abilitato per la macchina a stati e un servizio upstream non trasmette un ID di traccia, Step Functions non invierà tracce a X-Ray per l'esecuzione di macchine a stati. Tuttavia, se un trace ID viene passato da un servizio upstream, Step Functions invierà quindi tracce a X-Ray per l'esecuzione di macchine a stati.

È possibile utilizzarlo AWS X-Ray con Step Functions nelle regioni in cui entrambi sono supportati. Per informazioni sul supporto regionale per [X-Ray](https://docs.aws.amazon.com/general/latest/gr/xray.html) e [Step Functions](https://docs.aws.amazon.com/general/latest/gr/step-functions.html) e Step Functions, consulta le pagine relative agli endpoint e alle quote di Step Functions e X-Ray. 

**Quote combinate X-Ray e Step Functions**  
È possibile aggiungere dati a una traccia per un massimo di sette giorni e interrogare i dati di traccia risalenti a trenta giorni, il periodo di tempo in cui X-Ray archivia i dati di traccia. Le tue tracce saranno soggette a quote di raggi X.. Oltre ad altre quote, X-Ray fornisce una dimensione di traccia minima garantita di 100 KB per le macchine a stati Step Functions. Se a X-Ray vengono forniti più di 100 KB di dati di traccia, ciò può comportare il congelamento della traccia. Consulta la sezione Quote di servizio della pagina [X-Ray Endpoint e](https://docs.aws.amazon.com/general/latest/gr/xray.html#limits_xray) quote per ulteriori informazioni su altre quote per X-Ray.

**Importante**  
Step Functions non supporta il tracciamento a raggi X per le esecuzioni di workflow secondarie avviate da uno [*stato di Distributed Map*](state-map-distributed.md) perché è facile superare il [limite di dimensione del documento Trace](https://docs.aws.amazon.com/general/latest/gr/xray.html#limits_xray) per tali esecuzioni.

**Topics**
+ [Installazione e configurazione](#xray-concept-create)
+ [Concetti](#xray-concepts)
+ [Integrazioni dei servizi](#xray-concept-integrations)
+ [Visualizzazione della console X-Ray](#xray-concept-tracing-details)
+ [Visualizzazione delle informazioni di tracciamento X-Ray per Step Functions](#concepts-xray-tracing-events)
+ [Tracce](#concepts-xray-traces)
+ [Mappa servizio](#concepts-xray-tracing-overview)
+ [Segmenti e sottosegmenti](#concepts-xray-tracing-segments)
+ [Analisi](#concepts-xray-tracing-analytics)
+ [Configurazione](#concepts-xray-tracing-config)
+ [Cosa succede se non ci sono dati nella mappa di traccia o nella mappa dei servizi?](#concepts-xray-troubleshooting)

## Installazione e configurazione
<a name="xray-concept-create"></a>

### Abilita il tracciamento a raggi X durante la creazione di una macchina a stati
<a name="xray-concept-create-new"></a>

**È possibile abilitare il tracciamento a raggi X durante la creazione di una nuova macchina a stati selezionando Abilita il **tracciamento a raggi X nella pagina Specificare** i dettagli.**

1. Apri la [console Step Functions](https://console.aws.amazon.com/states/home) e scegli **Crea macchina a stati**.

1. Nella pagina **Scegli il metodo di creazione**, scegli l'opzione appropriata per creare la tua macchina a stati. Se si sceglie **Esegui un progetto di esempio**, non è possibile abilitare il tracciamento a raggi X durante la creazione della macchina a stati e sarà necessario abilitare il tracciamento a raggi X dopo la creazione della macchina a stati. Per ulteriori informazioni sull'attivazione di X-Ray in una macchina a stati esistente, vedere. [Abilita X-Ray in una macchina a stati esistente](#xray-concept-enable-existing)

   Scegli **Next (Successivo)**.

1. Nella pagina **Specificare i dettagli**, configura la tua macchina a stati.

1. Scegliete **Abilita tracciamento X-Ray**. 

    La macchina a stati Step Functions ora invierà tracce a X-Ray per l'esecuzione di macchine a stati.
**Nota**  
Se scegli di utilizzare un ruolo IAM esistente, devi assicurarti che le scritture X-Ray siano consentite. Per ulteriori informazioni sulle autorizzazioni necessarie, consulta il seguente argomento.

### Politiche IAM utilizzate AWS X-Ray in Step Functions
<a name="xray-iam"></a>

Per abilitare il tracciamento X-Ray, avrai bisogno di una policy IAM con autorizzazioni adeguate per consentire il tracciamento. Se la tua macchina a stati utilizza altri servizi integrati, potresti aver bisogno di politiche IAM aggiuntive. Consulta le politiche IAM per le integrazioni di servizi specifiche.

 Se si abilita il tracciamento a raggi X per una macchina a stati esistente, è necessario assicurarsi di aggiungere una politica con autorizzazioni sufficienti per abilitare le tracce a raggi X. 

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "xray:PutTraceSegments",
                "xray:PutTelemetryRecords",
                "xray:GetSamplingRules",
                "xray:GetSamplingTargets"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

### Abilita X-Ray in una macchina a stati esistente
<a name="xray-concept-enable-existing"></a>

Per abilitare X-Ray in una macchina a stati esistente:

1. Nella [console Step Functions](https://console.aws.amazon.com/states/home), seleziona la macchina a stati per la quale desideri abilitare il tracciamento.

1. Scegli **Modifica**.

1. Scegliete **Abilita tracciamento X-Ray**.

    Verrà visualizzata una notifica che indica che potrebbe essere necessario apportare ulteriori modifiche. 
**Nota**  
Quando abiliti X-Ray per una macchina a stati esistente, devi assicurarti di disporre di una policy IAM che conceda autorizzazioni sufficienti a X-Ray per eseguire tracce. È possibile aggiungerne uno manualmente o generarne uno. Per ulteriori informazioni, consulta la sezione sulla politica IAM per[Politiche IAM utilizzate AWS X-Ray in Step Functions](#xray-iam). 

1. (Facoltativo) Genera automaticamente un nuovo ruolo per la tua macchina a stati per includere le autorizzazioni X-Ray.

1. Scegli **Save** (Salva). 

### Configurazione del tracciamento X-Ray per Step Functions
<a name="xray-concept-configure"></a>

Quando si esegue per la prima volta una macchina a stati con il tracciamento a raggi X abilitato, utilizzerà i valori di configurazione predefiniti per il tracciamento a raggi X. AWS X-Ray non raccoglie dati per ogni richiesta inviata a un'applicazione. Raccoglie invece dati per un numero statisticamente significativo di richieste. L'impostazione predefinita prevede la registrazione della prima richiesta ogni secondo e del cinque percento di eventuali richieste aggiuntive. Una richiesta al secondo è la *riserva*. In questo modo viene registrata almeno una traccia al secondo, purché il servizio soddisfi le richieste. Cinque percento è la *percentuale* di richieste aggiuntive oltre la dimensione della riserva che vengono campionate.

Per evitare di incorrere in costi del servizio durante l'acquisizione delle nozioni di base, il tasso di campionamento di default è conservativo. È possibile configurare X-Ray per modificare la regola di campionamento predefinita e configurare regole aggiuntive che applicano il campionamento in base alle proprietà del servizio o della richiesta.

Ad esempio, potresti voler disabilitare il campionamento e tracciare tutte le richieste di chiamate che modificano lo stato o la gestione delle transazioni. Account AWS Per le chiamate di sola lettura ad alto volume, come il polling in background, i controlli di integrità o la manutenzione della connessione, è possibile campionare a una frequenza bassa e ottenere comunque dati sufficienti per osservare i problemi che si verificano.

Per configurare una regola di campionamento per la tua macchina a stati:

1. Vai alla console [X-Ray](https://console.aws.amazon.com/xray/home).

1. Scegli **Campionamento**.

1. Per creare una regola, scegliere **Create sampling rule (Crea regola di campionamento)**.

   Per modificare una regola, scegliere il nome di una regola.

   Per eliminare una regola, sceglierne una e utilizzare il menu **Actions (Operazioni)** per eliminarla.

Alcune parti delle regole di campionamento esistenti, come il nome e la priorità, non possono essere modificate. Invece, aggiungi o clona una regola esistente, apporta le modifiche desiderate, quindi usa la nuova regola.

Per informazioni dettagliate sulle regole di campionamento a raggi X e su come configurare i vari parametri, vedere [Configurazione delle regole di campionamento nella](https://docs.aws.amazon.com/xray/latest/devguide/xray-console-sampling.html) console X-Ray. 

### Integra i servizi upstream
<a name="integ-upstream-services"></a>

Per integrare l'esecuzione dei flussi di lavoro Step Functions, come i flussi di lavoro Express, Synchronous e Standard, con un servizio upstream è necessario impostare il. `traceHeader` Questa operazione viene eseguita automaticamente se si utilizza un'API HTTP in API Gateway. Tuttavia, se utilizzi una funzione Lambda ( and/or un SDK), devi impostare tu stesso le chiamate `traceHeader` on the [https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html)o [https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartSyncExecution.html](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartSyncExecution.html)API.

È necessario specificare il `traceHeader` formato come. `\p{ASCII}∗` Inoltre, per consentire a Step Functions di utilizzare lo stesso ID di traccia, è necessario specificare il formato di`Root={TRACE_ID};Sampled={1 or 0}`. Se utilizzi una funzione Lambda, sostituisci l'`TRACE_ID`ID di traccia nel segmento corrente e imposta il campo Sampled come `1` se la modalità di campionamento fosse vera e `0` se la modalità di campionamento fosse falsa. Fornendo l'ID di traccia in questo formato, otterrai una traccia completa.

Di seguito è riportato un esempio scritto in Python per mostrare come specificare il. `traceHeader`

```
state_machine = config.get_string_paramter("STATE_MACHINE_ARN")
    if (xray_recorder.current_subsegment() is not None and 
        xray_recorder.current_subsegment().sampled) :
        trace_id = "Root={};Sampled=1".format(
            xray_recorder.current_subsegment().trace_id
        )
    else:
        trace_id = "Root=not enabled;Sampled=0"
    LOGGER.info("trace %s", trace_id)
    
    # execute it
    response = states.start_sync_execution(
        stateMachineArn=state_machine,
        input=event['body'],
        name=context.aws_request_id,
        traceHeader=trace_id
    )
    LOGGER.info(response)
```

**X-Ray traccia nell'intestazione o nel payload**  
 Per X-Ray le tracce, tutti i AWS servizi utilizzano l'`X-Amzn-Trace-Id`intestazione della richiesta HTTP. L'uso dell'intestazione è il meccanismo preferito per identificare una traccia. `StartExecution`e le operazioni `StartSyncExecution` API possono essere utilizzate anche `traceHeader` dal corpo del payload della richiesta. Se vengono fornite **entrambe** le fonti, Step Functions utilizzerà il **valore dell'intestazione** (preferito) rispetto al valore nel corpo della richiesta. 

## Concetti
<a name="xray-concepts"></a>

### La console X-Ray
<a name="xray-concepts-console"></a>

Nella AWS X-Ray console, è possibile visualizzare le mappe e le tracce dei servizi per le richieste inviate dalle applicazioni quando X-Ray è abilitato per la macchina a stati.

[Visualizzazione della console X-Ray](#xray-concept-tracing-details)Per informazioni su come accedere alla console X-Ray per le esecuzioni delle macchine a stati, vedere.

Per informazioni dettagliate sulla console X-Ray, vedere la documentazione della console [X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/xray-console.html). 

### Segmenti, sottosegmenti e tracce
<a name="xray-concepts-traces"></a>

Un **segmento** registra le informazioni relative a una richiesta inviata alla macchina a stati. Contiene informazioni come il lavoro svolto dalla macchina a stati e può contenere anche **sottosegmenti** con informazioni sulle chiamate downstream.

Una **traccia** raccoglie tutti i segmenti generati da una singola richiesta.

### Campionamento
<a name="xray-concepts-sampling"></a>

Per garantire un tracciamento efficiente e fornire un campione rappresentativo delle richieste servite dall'applicazione, X-Ray applica **un** algoritmo di campionamento per determinare quali richieste vengono tracciate. Questo può essere modificato modificando le regole di campionamento.

### Metriche
<a name="xray-concepts-metrics"></a>

Per la vostra macchina a stati, X-Ray misurerà il tempo di invocazione, il tempo di transizione di stato, il tempo di esecuzione complessivo di Step Functions e le variazioni in questo tempo di esecuzione. È possibile accedere a queste informazioni tramite la console X-Ray.

### Analisi
<a name="xray-concepts-analyzing"></a>

La console AWS X-Ray Analytics è uno strumento interattivo per l'interpretazione dei dati di traccia. È possibile definire il set di dati attivo con filtri sempre più granulari facendo clic sui grafici e i pannelli di parametri e campi associati con il set di tracciamenti corrente. È possibile analizzare le prestazioni della macchina a stati per individuare e identificare i problemi di prestazioni.

Per informazioni dettagliate sull'analisi a raggi X, consulta [Interagire con](https://docs.aws.amazon.com/xray/latest/devguide/xray-console-analytics.html) la console Analytics AWS X-Ray 

## Integrazioni dei servizi Step Functions e X-Ray
<a name="xray-concept-integrations"></a>

 Alcuni dei AWS servizi che si integrano con Step Functions forniscono l'integrazione AWS X-Ray aggiungendo un'intestazione di tracciamento alle richieste, eseguendo il demone X-Ray o prendendo decisioni di campionamento e caricando i dati di traccia su X-Ray. Altri devono essere strumentati utilizzando l'SDK. AWS X-Ray Alcuni non supportano ancora l'integrazione con i raggi X. L'integrazione X-Ray è necessaria per fornire dati di tracciamento completi quando si utilizza un'integrazione di servizi con Step Functions 

### Supporto X-Ray nativo
<a name="xray-concept-integrations-native"></a>

Le integrazioni di servizi con supporto X-Ray nativo includono:
+ [Amazon Simple Notification Service](https://docs.aws.amazon.com/xray/latest/devguide/xray-services-sns.html)
+ [Amazon Simple Queue Service](https://docs.aws.amazon.com/xray/latest/devguide/xray-services-sqs.html)
+ [AWS Lambda](https://docs.aws.amazon.com/xray/latest/devguide/xray-services-lambda.html)
+ AWS Step Functions

### Strumentazione richiesta
<a name="xray-concept-integrations-instrument"></a>

Integrazioni di servizi che richiedono strumentazione [a raggi X](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html):
+ Amazon Elastic Container Service
+ AWS Batch
+ AWS Fargate

### Traccia solo lato client
<a name="xray-concept-integrations-unsupported"></a>

Altre integrazioni di servizi non supportano le tracce X-Ray. Tuttavia, le tracce lato client possono ancora essere raccolte:
+ Amazon DynamoDB
+ Amazon EMR
+ Amazon SageMaker AI
+ AWS CodeBuild
+ AWS Glue

## Visualizzazione della console X-Ray
<a name="xray-concept-tracing-details"></a>

X-Ray riceve i dati dai servizi sotto forma di segmenti. X-Ray raggruppa i segmenti che hanno una richiesta comune in tracce. X-Ray elabora le tracce per generare un grafico di servizio che fornisce una rappresentazione visiva dell'applicazione. 

**Dopo aver avviato l'esecuzione della macchina a stati, è possibile visualizzare le relative tracce a raggi X scegliendo il collegamento alla **mappa di traccia a raggi X** nella sezione Dettagli di esecuzione.**

Dopo aver abilitato X-Ray per la tua macchina a stati, puoi visualizzare le informazioni di tracciamento per le sue esecuzioni nella console X-Ray. 

## Visualizzazione delle informazioni di tracciamento X-Ray per Step Functions
<a name="concepts-xray-tracing-events"></a>

I passaggi seguenti illustrano il tipo di informazioni che è possibile visualizzare nella console dopo aver abilitato X-Ray ed eseguito un'esecuzione. Vengono mostrate le tracce a raggi X per il progetto [Crea un esempio di pattern di callback con Amazon SQS, Amazon SNS e Lambda](callback-task-sample-sqs.md) di esempio. 

## Tracce
<a name="concepts-xray-traces"></a>

**Al termine dell'esecuzione, puoi accedere alla console X-Ray, dove vedrai la pagina X-Ray Traces.** Viene visualizzata una panoramica della mappa dei servizi e informazioni sulle tracce e sui segmenti per la macchina a stati. 

![Schermata illustrativa delle tracce a raggi X per una macchina a stati.](http://docs.aws.amazon.com/it_it/step-functions/latest/dg/images/xray-tracing-overview.png)


## Mappa servizio
<a name="concepts-xray-tracing-overview"></a>

La mappa dei servizi nella console X-Ray consente di identificare i servizi in cui si verificano errori, in cui sono presenti connessioni con latenza elevata o a visualizzare le tracce delle richieste non riuscite. 

![Schermata illustrativa incentrata sulla mappa dei servizi nelle tracce a raggi X.](http://docs.aws.amazon.com/it_it/step-functions/latest/dg/images/xray-tracing-servicemap.png)


Sulla mappa di traccia, è possibile scegliere un nodo di servizio per visualizzare le richieste per quel nodo o un edge tra due nodi per visualizzare le richieste che hanno percorso quella connessione. Qui, il `WaitForCallBack` nodo è stato selezionato ed è possibile visualizzare informazioni aggiuntive sul suo stato di esecuzione e risposta.

![Dettagli di esempio per un nodo di traccia a raggi X.](http://docs.aws.amazon.com/it_it/step-functions/latest/dg/images/xray-tracing-servicemap-detail.png)


Puoi vedere come la mappa del servizio X-Ray è correlata alla macchina a stati. Esiste un nodo della mappa dei servizi per ogni integrazione di servizi chiamato da Step Functions, a condizione che supporti X-Ray. 

![Esempio di rappresentazione grafica della macchina a stati tracciata.](http://docs.aws.amazon.com/it_it/step-functions/latest/dg/images/sample-callback-example.png)


## Segmenti e sottosegmenti
<a name="concepts-xray-tracing-segments"></a>

Una **traccia** è una raccolta di **segmenti** generati da una singola richiesta. Ogni segmento fornisce il nome della risorsa, dettagli sulla richiesta e dettagli sul lavoro svolto. Nella pagina **Traces**, puoi vedere i segmenti e, se espansi, i relativi sottosegmenti corrispondenti. È possibile scegliere un segmento o un sottosegmento per visualizzare informazioni dettagliate su di esso.

Sarai un segmento diverso per ogni nodo sulla mappa dei servizi.

![Schermata di esempio di segmenti e sottosegmenti per una macchina a stati.](http://docs.aws.amazon.com/it_it/step-functions/latest/dg/images/xray-tracing-segments.png)


La scelta di un segmento fornisce il nome della risorsa, i dettagli sulla richiesta e i dettagli sul lavoro svolto. 

Un segmento può suddividere i dati sull'attività eseguita in sottosegmenti. La scelta di un sottosegmento mostra informazioni e dettagli granulari sulla tempistica. Un sottosegmento può contenere dettagli aggiuntivi su una chiamata a un AWS servizio, un'API HTTP esterna o un database SQL.

## Analisi
<a name="concepts-xray-tracing-analytics"></a>



La console AWS X-Ray **Analytics** è uno strumento interattivo per l'interpretazione dei dati di traccia. Puoi usarlo per comprendere più facilmente le prestazioni della tua macchina a stati. È possibile esplorare, analizzare e visualizzare le tracce tramite grafici interattivi del tempo di risposta e delle serie temporali per individuare problemi di prestazioni e latenza.

È possibile definire il set di dati attivo con filtri sempre più granulari facendo clic sui grafici e i pannelli di parametri e campi associati con il set di tracciamenti corrente.

## Configurazione
<a name="concepts-xray-tracing-config"></a>

È possibile configurare le opzioni di campionamento e crittografia dalla console X-Ray.
+  Scegliete **Campionamento** per visualizzare i dettagli sulla frequenza di campionamento e sulla configurazione. 

  È possibile modificare le regole di campionamento per controllare la quantità di dati registrati e modificare il comportamento di campionamento in base alle proprie esigenze specifiche.
+ Scegliete **Crittografia** per modificare le impostazioni di crittografia. 

  È possibile utilizzare l'impostazione predefinita, in cui X-Ray crittografa le tracce e i dati inattivi oppure, se necessario, è possibile scegliere una chiave KMS. In quest'ultimo caso si applicano [AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/)le tariffe standard.

## Cosa succede se non ci sono dati nella mappa di traccia o nella mappa dei servizi?
<a name="concepts-xray-troubleshooting"></a>

Se hai abilitato X-Ray, ma non riesci a visualizzare alcun dato nella console X-Ray, verifica che:
+ I ruoli IAM sono configurati correttamente per consentire la scrittura su X-Ray.
+ Le regole di campionamento consentono il campionamento dei dati.
+ Poiché può esserci un breve ritardo prima che vengano applicati i ruoli IAM appena creati o modificati, ricontrolla la traccia o le mappe dei servizi dopo alcuni minuti.
+ Se vedi **Data non trovata** nel pannello X-Ray Traces, controlla le [impostazioni del tuo account IAM](https://console.aws.amazon.com/iam/home?#/account_settings) e assicurati che AWS Security Token Service sia abilitato per la regione desiderata. *Per ulteriori informazioni, consulta [Attivazione e disattivazione AWS STSRegione AWS in una](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html#sts-regions-activate-deactivate) delle guide per l'utente di IAM.*