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

La strumentazione dell'applicazione implica l'invio di dati di traccia per le richieste in entrata e in uscita e 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 preconfigurata destinata a librerie o framework specifici, come i client o i client Apache. AWS SDK HTTP SQL

  • Strumentazione manuale: aggiungi il codice di strumentazione alla tua 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

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

ConADOT, 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 e Amazon OpenSearch Service. AWS X-Ray

L'utilizzo di X-Ray con ADOT richiede due componenti: uno OpenTelemetry SDKabilitato 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 Servizi AWS, consulta la AWS Distro for Documentation.AWS 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 anziché il demone AWS Distro for OpenTelemetry (ADOT) Collector o X-Ray per raccogliere le tracce può aiutarvi a ridurre il numero di agenti da gestire. Per ulteriori informazioni, consultate l'argomento relativo all'CloudWatch agente nella Guida per l' CloudWatch utente.

ADOTinclude quanto segue:

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

ADOTSDKsper Java e Go supportano 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. AWS X-Ray SDK

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. Si tratta di un formato diverso dal formato IDs di traccia creato utilizzando X-Ray SDK 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 0.86.0 o successiva di AWS X-Ray Exporter, inclusa nella versione 0.34.0 e successive di Collector. ADOT 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 fornisce quanto segue:

  • Intercettori da aggiungere al codice per tracciare le richieste in arrivo HTTP

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

  • Chiamate da HTTPclient a strumento verso altri servizi Web interni ed esterni HTTP

X-Ray supporta SDKs anche chiamate strumentali ai SQL database, strumentazione AWS SDK client automatica e altre funzionalità. Invece di inviare i dati di traccia direttamente a X-Ray, SDK invia i documenti dei JSON segmenti 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 per l'utente.

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 le destinazioni OpenTelemetry di back-end configurabili dinamicamente, potresti voler utilizzare l'X-Ray AWS per strumentare la tua applicazione. SDK

Ti consigliamo di scegliere un sistema a raggi X SDK 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