REL06-BP07 Monitora il end-to-end tracciamento delle richieste attraverso il sistema - Pilastro dell'affidabilità

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

REL06-BP07 Monitora il end-to-end tracciamento delle richieste attraverso il sistema

Tieni traccia delle richieste durante l'elaborazione dei componenti del servizio in modo che i team del prodotto possano analizzare i problemi, semplificarne il debug e migliorare le prestazioni.

Risultato desiderato: i carichi di lavoro con tracciamento completo su tutti i componenti sono facili da eseguire il debug, migliorando il tempo medio di risoluzione (MTTR) degli errori e la latenza semplificando l'individuazione della causa principale. End-to-endil tracciamento riduce il tempo necessario per scoprire i componenti interessati e approfondire in dettaglio le cause profonde degli errori o della latenza.

Anti-pattern comuni:

  • Il tracciamento viene utilizzato per alcuni componenti ma non per tutti. Ad esempio, senza tracciamento, i team potrebbero non comprendere chiaramente la AWS Lambda latenza causata dagli avviamenti a freddo in un carico di lavoro con picchi di lavoro.

  • I canarini sintetici o il monitoraggio degli utenti reali () RUM non sono configurati con il tracciamento. Senza canaries orRUM, la telemetria relativa all'interazione con il cliente viene omessa dall'analisi delle tracce, producendo un profilo prestazionale incompleto.

  • I carichi di lavoro ibridi includono strumenti di tracciamento cloud-native (nativi del cloud) e di terze parti, ma non sono state prese misure specifiche per selezionare e integrare completamente un'unica soluzione di tracciamento. In base alla soluzione di tracciamento scelta, è necessario utilizzare il tracciamento nativo del cloud per strumentare componenti che non sono nativi del cloud oppure gli strumenti di terze parti SDKs devono essere configurati per assimilare la telemetria di tracciamento nativa del cloud.

Vantaggi dell'adozione di questa best practice: quando vengono avvisati della presenza di problemi, i team di sviluppo possono visualizzare un quadro completo delle interazioni tra i componenti del sistema, inclusa la correlazione componente per componente con creazione di log, prestazioni e guasti. Poiché il tracciamento semplifica l'identificazione visiva delle cause principali, viene dedicato meno tempo all'individuazione di tali cause. I team che hanno una visione dettagliata delle interazioni tra i componenti prendono decisioni migliori e più rapide durante la fase di risoluzione dei problemi. Le decisioni, ad esempio quando richiamare il failover del ripristino di emergenza o dove implementare in modo più efficace le strategie di riparazione automatica, possono essere migliorate analizzando le tracce dei sistemi; ciò ottimizza in ultima analisi la soddisfazione dei clienti nei confronti dei servizi.

Livello di rischio associato se questa best practice non fosse adottata: medio

Guida all'implementazione

I team che gestiscono le applicazioni distribuite possono utilizzare strumenti di tracciamento per definire un identificatore di correlazione, raccogliere le tracce delle richieste e creare mappe di servizio dei componenti connessi. Tutti i componenti dell'applicazione devono essere inclusi nelle tracce delle richieste, inclusi client di servizio, gateway middleware (software intermediario) e router di eventi, componenti di elaborazione e archiviazione, tra cui gli archivi e i database dei valori chiave. Includi canarini sintetici e il monitoraggio di utenti reali nella configurazione di end-to-end tracciamento per misurare le interazioni e la latenza dei clienti remoti in modo da poter valutare con precisione le prestazioni dei sistemi rispetto agli accordi e agli obiettivi sui livelli di servizio.

Puoi utilizzare AWS X-Rayi servizi di strumentazione Amazon CloudWatch Application Monitoring per fornire una visione completa delle richieste mentre viaggiano attraverso la tua applicazione. X-Ray raccoglie la telemetria delle applicazioni e consente di visualizzarla e filtrarla tra payload, funzioni, tracceAPIs, servizi e può essere attivata per componenti di sistema senza codice o low-code. CloudWatch il monitoraggio delle applicazioni include l'integrazione delle tracce con ServiceLens metriche, registri e allarmi. CloudWatch il monitoraggio delle applicazioni include anche strumenti sintetici per monitorare gli endpoint eAPIs, oltre al monitoraggio degli utenti reali, per strumentare i client delle applicazioni Web.

Passaggi dell'implementazione

  • AWS X-Ray Utilizzalo su tutti i servizi nativi supportati come Amazon S3 e Amazon AWS Lambda API Gateway. Questi AWS servizi abilitano X-Ray con toggle di configurazione utilizzando l'infrastruttura come codice, AWS SDKs oppure. AWS Management Console

  • Dota di strumenti le applicazioni AWS Distro for Open Telemetry e X-Ray o gli agenti di raccolta di terze parti.

  • Consulta la Guida per gli sviluppatori AWS X-Ray per l'implementazione specifica del linguaggio di programmazione. Queste sezioni della documentazione descrivono in dettaglio come strumentare HTTP richieste, SQL interrogazioni e altri processi specifici del linguaggio di programmazione delle applicazioni.

  • Usa il tracciamento X-Ray per Amazon CloudWatch Synthetic Canaries e CloudWatch RUMAmazon per analizzare il percorso della richiesta dal tuo client utente finale all'infrastruttura downstream. AWS

  • Configura CloudWatch metriche e allarmi in base allo stato delle risorse e alla telemetria di Canary in modo che i team vengano avvisati rapidamente dei problemi e possano quindi approfondire le tracce e le mappe dei servizi con. ServiceLens

  • Abilita l'integrazione X-Ray per gli strumenti di tracciamento di terze parti come Datadog, New Relic o Dynatrace in caso di utilizzo di strumenti di terze parti per la tua soluzione di tracciamento principale.

Risorse

Best practice correlate:

Documenti correlati:

Esempi correlati:

Video correlati:

Strumenti correlati: