Nozioni di base

Prova AWS X-Ray gratuitamente

Il piano gratuito di AWS include 100.000 tracce registrate al mese e un milione di tracce recuperate o scansite al mese.

Visualizza i dettagli del piano gratuito di AWS »

D: Cos'è AWS X-Ray?

AWS X-Ray aiuta gli sviluppatori ad analizzare ed eseguire il debug di applicazioni di produzione distribuite, come quelle realizzate utilizzando un'architettura di microservizi. Con X-Ray puoi identificare le prestazioni della tua applicazione e dei relativi servizi per individuare e risolvere la causa di origine di problemi ed errori di performance. X-Ray fornisce una panoramica completa delle richieste durante il passaggio nella tua applicazione e mostra una mappa dei componenti utilizzati da essa. Puoi utilizzare X-Ray per analizzare le applicazioni sia nella fase di sviluppo sia in produzione, dalle semplici applicazioni a tre livelli alle complesse applicazioni di microservizi composte da migliaia di servizi.

D: Qual è il vantaggio di utilizzare X-Ray?

Al momento, se costruisci ed esegui ambienti distribuiti, devi affidarti a un processo specifico per il servizio o per la risorsa per monitorare le richieste durante il passaggio tra i diversi componenti che formano l’applicazione. Questo problema è ulteriormente complicato dalla varietà dei formati di log e dei supporti di archiviazione per i vari canoni, servizi e risorse che la tua applicazione utilizza o sui quali viene eseguita. Ciò rende difficile la correlazione tra le varie informazioni e la creazione di un quadro end-to-end di una richiesta dal momento in cui essa ha origine presso l’utente finale o il servizio a quando l’applicazione restituisce una risposta. X-Ray fornisce un modello incentrato sull’utente, anziché sul servizio o sulla risorsa, al fine di raccogliere dati relativi alle richieste inviate alla tua applicazione. Questo modello consente di creare un quadro della richiesta incentrato sull’utente durante il passaggio tra i vari servizi e risorse. Collegando e aggregando i dati per tuo conto, X-Ray ti consente di focalizzarti sul miglioramento dell’esperienza per gli utenti finali della tua applicazione.

D: Cosa è possibile fare con X-Ray?

Con X-Ray sarà più semplice:

  • Creare una mappa dei servizi – Tenendo traccia delle richieste ricevute, X-Ray può creare una mappa dei servizi utilizzati dalla tua applicazione. In questo modo potrai ottenere una visuale complessiva delle connessioni tra i servizi nell’applicazione, creare un albero delle dipendenze, rilevare latenze ed errori durante il lavoro nelle regioni o nelle zone di disponibilità di AWS, concentrarti sui servizi che non funzionano come previsto, e altro ancora. 
  • Identificare errori e bug – X-Ray è in grado di evidenziare automaticamente i bug e gli errori nell’applicazione analizzando il codice di risposta per ciascuna richiesta inviata all’applicazione. Ciò semplifica l’esecuzione del debug del codice dell’applicazione senza la necessità di riprodurre il bug o l’errore.
  • Costruire le applicazioni di analisi e visualizzazione personalizzate – X-Ray mette a disposizione una serie di API di query che ti consentono di costruire app di analisi e visualizzazione personalizzate che utilizzano i dati che X-Ray registra.

D: Cos'è una traccia?

Una traccia X-Ray è una set di punti di dati che condividono lo stesso ID della traccia. Ad esempio, quando un cliente effettua una richiesta all’applicazione, viene assegnato un ID traccia univoco. Man mano che la richiesta segue il suo iter tra i servizi dell’applicazione, questi ultimi restituiscono a X-Ray le informazioni riguardanti la richiesta utilizzando questo ID traccia univoco. L’informazione restituita da ciascun servizio dell’applicazione a X-Ray è un segmento e una traccia è un insieme di segmenti.

D: Cos'è un segmento?

Un segmento X-Ray incapsula tutti i punti di dati per un singolo componente (ad esempio, un servizio di autorizzazione) dell’applicazione distribuita. I segmenti includono dati definiti dal sistema e definiti dall’utente sotto forma di annotazioni e sono composti da uno o più sotto-segmenti che rappresentano le chiamate da remoto effettuate dal servizio. Ad esempio, quando un’applicazione effettua una chiamata a un database in risposta a una richiesta, viene creato un segmento per quella richiesta con un sotto-segmento che rappresenta la chiamata al database e il relativo risultato. Il sotto-segmento può contenere dati come la query, la tabella utilizzata, il timestamp e lo stato di errore.

D: Cos'è un’annotazione?

Un’annotazione di X-Ray corrisponde ai dati definiti dal sistema o dall’utente associati a un segmento. Un segmento può contenere più annotazioni. Le annotazioni definite dal sistema possono includere i dati aggiunti al segmento da servizi AWS, mentre le annotazioni definite dall’utente sono metadati aggiunti a un segmento da uno sviluppatore. Per esempio, i dati sulla regione per chiamate associate a un servizio AWS verranno inseriti automaticamente in un segmento creato da una tua applicazione, mentre sarà tua facoltà scegliere se aggiungere al segmento i dati sulla regione per chiamate verso servizi non AWS.

D: Che cosa sono gli errori?

Gli errori di X-Ray sono annotazioni di sistema associate a un segmento per una chiamata a cui segue una risposta di errore. L’errore include il messaggio di errore, la traccia dello stack e qualsiasi informazione aggiuntiva (ad esempio, versione o ID impegno) che associ l’errore con un file di origine.

D: Che cos’è il campionamento?

Per garantire un’esperienza performante e a costi ridotti, X-Ray non raccoglie dati per ogni richiesta inviata a un’applicazione. Raccoglie invece dati per un numero statisticamente significativo di richieste. X-Ray non deve essere utilizzato come strumento di controllo o di verifica della conformità in quanto non è in grado di garantire la completezza dei dati.

D: Che cos’è l’agente X-Ray?

L’agente X-Ray raccoglie i dati dai file di log e li invia al servizio X-Ray per l’aggregazione, l’analisi e l’archiviazione. L’agente ti consente di inviare in modo più semplice i dati al servizio X-Ray anziché dover utilizzare direttamente le API, ed è disponibile per l’AMI Amazon Linux, Red Hat Enterprise Linux (RHEL) e Windows Server 2012 R2 o sistemi operativi più recenti.


D: Come si inizia a usare X-Ray?

Puoi iniziare a usare X-Ray inserendo nella tua applicazione l’SDK X-Ray specifico per il linguaggio in uso e istallando l’agente X-Ray. Per ulteriori informazioni, consulta la Guida per l'utente di X-Ray.

D: Quali tipi di applicazione è possibile utilizzare con X-Ray?

X-Ray può essere utilizzato con applicazioni distribuite di qualsiasi dimensione per tracciare ed eseguire il debug sia di richieste sincrone che di eventi asincroni. Per esempio, X-Ray può essere utilizzato per tracciare le richieste Web inviate a un’applicazione Web o eventi asincroni che utilizzano le code di Amazon SQS.

D: Con quali servizi AWS posso utilizzare X-Ray?

X-Ray può essere utilizzato con applicazioni in esecuzione su EC2, ECS, Lambda e Elastic Beanstalk. Inoltre, l’SDK di X-Ray acquisisce automaticamente metadati per le chiamate API effettuate verso servizi AWS che utilizzano l’SDK AWS. L’SDK di AWS offre anche add-on per MySQL e driver PostgreSQL.

D: Quali modifiche devo apportare al mio codice per consentire alla mia applicazione di utilizzare X-Ray?

Se stai utilizzando Elastic Beanstalk, sarà necessario includere le librerie di X-Ray specifiche per il linguaggio nel tuo codice applicazione. Per applicazioni in esecuzione su altri servizi AWS, come EC2 o ECS, occorrerà installare l’agente di X-Ray e instrumentare il tuo codice applicazione.

D: X-Ray fornisce un’API?

Sì, X-Ray offre un set di API per l’acquisizione dei dati della richiesta, l’esecuzione delle query delle tracce e la configurazione del servizio. È possibile utilizzare l’API di X-Ray per creare applicazioni di analisi e visualizzazione in aggiunta a quelle fornite da X-Ray.


D: In quali regioni è disponibile X-Ray?

Per ulteriori dettagli consultare la pagina relativa a prodotti e servizi per regione.

D: Posso utilizzare X-Ray per tracciare le richieste da applicazioni o servizi distribuite in diverse regioni?

Sì, X-Ray può essere utilizzato per tracciare richieste che coinvolgono più richieste o servizi in varie regioni. I dati di X-Ray vengono memorizzati a livello locale nella regione in cui avviene l’elaborazione, ma con informazioni sufficienti per consentire ad applicazioni client di combinare i dati e offrire una vista globale delle tracce. L’annotazione relativa alla regione per i servizi AWS verrà aggiunta automaticamente, tuttavia i clienti dovranno instrumentare servizi personalizzati per aggiungere l’annotazione regionale che garantisce il supporto in più regioni.


D: Dopo quanto tempo sono disponibili i dati di tracciamento in X-Ray?

I dati di tracciamento inviati a X-Ray diventano disponibili per il recupero e il filtraggio entro 30 secondi da quando il servizio li riceve.

D: A quanto tempo indietro posso riferire la mia query sui dati di tracciamento? Per quanto tempo X-Ray conserva i dati di tracciamento?

X-Ray conserva i dati di tracciamento degli ultimi 30 giorni. Ciò consente di riferire le query sui dati di tracciamento ai 30 giorni precedenti.

D: Perché talvolta vengono visualizzate tracce parziali?

X-Ray fa il possibile per presentare informazioni di tracciamento complete. Tuttavia, in alcune circostanze (problemi di connettività, ritardo nella ricezione dei segmenti, ecc.) è possibile che le informazioni di tracciamento fornite dalle API di X-Ray siano parziali. In queste situazioni, X-Ray utilizza appositi tag per contrassegnare le tracce come incomplete o parziali.

D: I componenti della mia applicazione vengono eseguiti nei rispettivi account AWS. Posso utilizzare X-Ray per raccogliere dati dei diversi account AWS?

Sì, l’agente X-Ray può assumere un ruolo che gli consente di pubblicare dati in un account diverso da quello nel quale è attualmente in esecuzione. Ciò ti consente di pubblicare dati da diversi componenti della tua applicazione in un account centrale.