Tracciamento - AWS Linee guida prescrittive

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

Tracciamento

Il tracciamento implica l'uso specializzato della registrazione delle informazioni sui processi di un programma. Le informazioni ricavate dai log possono aiutare gli ingegneri a eseguire il debug delle singole transazioni e a identificare i punti deboli. Il tracciamento può essere abilitato automaticamente o utilizzando la strumentazione manuale.

Poiché un'applicazione si integra con diversi servizi, è importante identificare le prestazioni dell'applicazione e dei servizi sottostanti. Il tracciamento funziona con tracce e intervalli. Una traccia è il processo di richiesta completo e ogni traccia è composta da intervalli. Un intervallo è un intervallo di tempo contrassegnato e rappresenta l'attività all'interno dei singoli componenti o servizi di un sistema. Le tracce forniscono un quadro generale di ciò che accade quando viene effettuata una richiesta a un'applicazione.

Team addetto all'applicazione

Gli sviluppatori di applicazioni strumentalizzano le proprie applicazioni inviando 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. Per generare tracce, un'applicazione deve essere dotata della strumentazione necessaria per generare tracce. La strumentazione può essere automatica o manuale.

Strumentazione automatica

È possibile raccogliere dati di telemetria da un'applicazione utilizzando la strumentazione automatica senza dover modificare il codice sorgente. Gli agenti di strumentazione automatica possono generare tracce applicative di un'applicazione o di un servizio. In genere, si utilizzano le modifiche alla configurazione per aggiungere l'agente o un altro meccanismo.

La strumentazione della libreria implica apportare modifiche minime al codice dell'applicazione per aggiungere strumentazione precostruita. La strumentazione si rivolge a librerie o framework specifici, come AWS SDK, client HTTP Apache o client SQL.

Strumentazione manuale

In questo approccio, gli sviluppatori di applicazioni aggiungono codice di strumentazione all'applicazione in ogni posizione in cui desiderano raccogliere informazioni di traccia. Ad esempio, utilizzate la programmazione orientata agli aspetti (AOP) per raccogliere dati di tracciamento. AWS X-Ray Gli sviluppatori possono utilizzare gli SDK per strumentare le proprie applicazioni.

Campionamento

I dati di tracciamento vengono spesso generati in grandi volumi. È importante disporre di un meccanismo per determinare se i dati di traccia devono essere esportati o meno. Il campionamento è il processo per determinare quali dati devono essere esportati. Questo viene generalmente fatto per ridurre i costi. Personalizzando le regole di campionamento, è possibile controllare la quantità di dati registrati. È inoltre possibile modificare il comportamento di campionamento senza modificare e ridistribuire il codice. È importante controllare la frequenza di campionamento per generare la giusta quantità di tracce.

Gli sviluppatori di applicazioni possono annotare le tracce aggiungendo metadati come coppie chiave-valore. Le annotazioni arricchiscono le tracce e aiutano a perfezionare il filtraggio nel backend.

DevOps squadra

DevOps agli ingegneri viene spesso chiesto di configurare un ambiente di tracciamento per consentire allo sviluppatore di applicazioni di visualizzare le tracce per l'infrastruttura e le applicazioni. La configurazione dell'ambiente di tracciamento prevede la raccolta di dati di traccia da diverse fonti e l'invio a un archivio centrale per la visualizzazione.

Backend di tracciamento

Un backend di tracciamento è un servizio come AWS X-Ray quello che raccoglie dati sulle richieste servite dall'applicazione. Fornisce strumenti che è possibile utilizzare per visualizzare, filtrare e ottenere informazioni dettagliate su tali dati per identificare problemi e opportunità di ottimizzazione. Per ogni richiesta tracciata all'applicazione, è possibile visualizzare informazioni dettagliate sulla richiesta e sulla risposta e sulle altre chiamate effettuate dall'applicazione a AWS risorse downstream, microservizi, database e API Web.

Tracciamento automatico

Poiché applicazioni diverse hanno requisiti di tracciamento diversi, è importante automatizzare la configurazione e il funzionamento dell'infrastruttura di tracciamento. Utilizza gli strumenti IaC per fornire il backend dell'infrastruttura di tracciamento.

Utilizza le pipeline CD per automatizzare quanto segue:

  • Implementa l'infrastruttura di tracciamento su richiesta e smontala quando non è necessaria.

  • Implementa la configurazione di tracciamento tra le applicazioni.

Strumenti di tracciamento

AWS fornisce i seguenti servizi per il tracciamento e la visualizzazione associata: