Strumentazione della tua applicazione per AWS X-Ray - AWS X-Ray

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

Strumentazione della tua applicazione per AWS X-Ray

Importante

Avviso di fine del supporto: il 25 febbraio 2027, AWS X-Ray interromperà il supporto per and daemon. AWS X-Ray SDKs Dopo il 25 febbraio 2027, non riceverai più aggiornamenti o versioni. Per ulteriori informazioni sulla cronologia, vedere Cronologia della fine del supporto per X-Ray SDK e daemon e per informazioni sulla migrazione a, vedere Migrazione dalla OpenTelemetry strumentazione a raggi X alla strumentazione. OpenTelemetry

La strumentazione dell'applicazione comporta l'invio di dati di traccia per le richieste in entrata e in uscita e per altri eventi all'interno dell'applicazione, insieme ai metadati relativi a ciascuna richiesta. Esistono diverse opzioni di strumentazione tra cui scegliere o combinare, in base alle proprie esigenze particolari:

  • Strumentazione automatica: strumentazione della tua applicazione senza modifiche al codice, in genere tramite modifiche alla configurazione, aggiunta di un agente di strumentazione automatica o altri meccanismi.

  • Strumentazione della libreria: apporta modifiche minime al codice dell'applicazione per aggiungere strumentazione predefinita destinata a librerie o framework specifici, come SDK, client Apache HTTP o client SQL. AWS

  • Strumentazione manuale: aggiungi il codice di strumentazione all'applicazione in ogni posizione in cui desideri inviare le informazioni di traccia.

Esistono diversi SDKs agenti e strumenti che possono essere utilizzati per strumentare l'applicazione per il tracciamento a raggi X..

Strumentate la vostra applicazione con Distro per AWS OpenTelemetry

The AWS Distro for OpenTelemetry (ADOT) è una AWS distribuzione basata sul progetto Cloud Native Computing Foundation (CNCF). OpenTelemetry OpenTelemetry fornisce un unico set di librerie APIs, agenti e librerie open source per raccogliere tracce e metriche distribuite. Questo toolkit è una distribuzione di OpenTelemetry componenti upstream SDKs, inclusi agenti di strumentazione automatica e collettori testati, ottimizzati, protetti e supportati da. AWS

Con ADOT, gli ingegneri possono strumentare le loro applicazioni una sola volta e inviare metriche e tracce correlate a più soluzioni di AWS monitoraggio tra cui Amazon CloudWatch AWS X-Ray e Amazon Service. OpenSearch

L'utilizzo di X-Ray con ADOT richiede due componenti: un OpenTelemetry SDK abilitato per l'uso con X-Ray e AWS Distro for OpenTelemetry Collector abilitato per l'uso con X-Ray. Per ulteriori informazioni sull'utilizzo di Distro for OpenTelemetry with AWS X-Ray e altro, AWS consulta Distro for Documentation. Servizi AWSAWS OpenTelemetry

Per ulteriori informazioni sul supporto e l'utilizzo della lingua, vedere AWS Observability on. GitHub

Nota

Ora puoi utilizzare l' CloudWatch agente per raccogliere metriche, log e tracce EC2 dalle istanze Amazon e dai server locali. CloudWatch la versione dell'agente 1.300025.0 e successive può raccogliere tracce dal nostro client OpenTelemetryX-Ray SDKs e inviarle a X-Ray. L'utilizzo dell' CloudWatch agente al posto del demone AWS Distro for OpenTelemetry (ADOT) Collector o X-Ray per raccogliere le tracce può aiutare a ridurre il numero di agenti da gestire. Per ulteriori informazioni, consultate l'argomento relativo all'CloudWatch agente nella Guida per l'utente CloudWatch .

ADOT include quanto segue:

ADOT attualmente include il supporto per la strumentazione automatica per Java e Python. Inoltre, ADOT consente la strumentazione automatica delle funzioni AWS Lambda e delle relative richieste downstream utilizzando i runtime Java, Node.js e Python, tramite ADOT Managed Lambda Layers.

ADOT SDKs for Java and Go supporta le regole di campionamento centralizzato X-Ray. Se hai bisogno di supporto per le regole di campionamento a raggi X in altre lingue, prendi in considerazione l'utilizzo di un SDK. AWS X-Ray

Nota

Ora puoi inviare una traccia W3C a IDs X-Ray. Per impostazione predefinita, le tracce create con OpenTelemetry hanno un formato ID di traccia basato sulla specifica W3C Trace Context. Questo è diverso dal formato di traccia IDs creato utilizzando un SDK X-Ray o dai AWS servizi integrati con X-Ray. Per garantire che le tracce IDs in formato W3C siano accettate da X-Ray, è necessario utilizzare la versione AWS X-Ray Exporter 0.86.0 o successiva, inclusa in ADOT Collector versione 0.34.0 e successive. Le versioni precedenti dell'esportatore convalidano i timestamp degli ID di traccia, il che potrebbe causare il rifiuto della traccia W3C. IDs

Strumentate la vostra applicazione con AWS X-Ray SDKs

AWS X-Ray include un set di linguaggi specifici SDKs per strumentare l'applicazione per inviare tracce a X-Ray. Ogni X-Ray SDK offre quanto segue:

  • Moduli di intercettazione da aggiungere al tuo codice per il tracciamento delle richieste HTTP in ingresso

  • Da gestori client a client Instrument AWS SDK utilizzati dall'applicazione per chiamare altri Servizi AWS

  • Un client HTTP per effettuare chiamate strumentali ad altri servizi Web HTTP interni ed esterni

X-Ray supporta SDKs anche le chiamate strumentali ai database SQL, la strumentazione client AWS SDK automatica e altre funzionalità. Invece di inviare i dati di traccia direttamente a X-Ray, l'SDK invia i documenti del segmento JSON a un processo demone che ascolta il traffico UDP. Il demone X-Ray memorizza i segmenti in una coda e li carica su X-Ray in batch.

Sono SDKs disponibili le seguenti lingue specifiche:

X-Ray attualmente include il supporto per la strumentazione automatica per Java.

Scelta tra AWS Distro for OpenTelemetry e X-Ray SDKs

Gli X-Ray SDKs inclusi fanno parte di una soluzione di strumentazione strettamente integrata offerta da. AWS AWS Distro for OpenTelemetry fa parte di una soluzione di settore più ampia in cui X-Ray è solo una delle tante soluzioni di tracciamento. È possibile implementare il end-to-end tracciamento in X-Ray utilizzando entrambi gli approcci, ma è importante comprendere le differenze per determinare l'approccio più utile.

Ti consigliamo di strumentare la tua applicazione con AWS Distro OpenTelemetry se hai bisogno di quanto segue:

  • La possibilità di inviare tracce a più backend di tracciamento diversi senza dover ristrumentare il codice

  • Support per un gran numero di strumentazioni di libreria per ogni lingua, gestite dalla comunità OpenTelemetry

  • Layer Lambda completamente gestiti che racchiudono tutto il necessario per raccogliere dati di telemetria, senza richiedere modifiche al codice quando si utilizza Java, Python o Node.js

    Nota

    AWS Distro for OpenTelemetry offre un'esperienza introduttiva più semplice per la strumentazione delle funzioni Lambda. Tuttavia, a causa della flessibilità OpenTelemetry offerta, la funzione Lambda richiederà memoria aggiuntiva e le chiamate potrebbero subire un aumento della latenza di avvio a freddo, il che può comportare costi aggiuntivi. Se stai ottimizzando per una bassa latenza e non hai bisogno delle funzionalità avanzate come destinazioni OpenTelemetry di backend configurabili dinamicamente, potresti voler utilizzare l'SDK AWS X-Ray per strumentare la tua applicazione.

Ti consigliamo di scegliere un SDK X-Ray per la strumentazione della tua applicazione se hai bisogno di quanto segue:

  • Una soluzione monovendor strettamente integrata

  • Integrazione con le regole di campionamento centralizzate X-Ray, inclusa la possibilità di configurare le regole di campionamento dalla console X-Ray e di utilizzarle automaticamente su più host, quando si utilizza Node.js, Python, Ruby o.NET