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
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:
-
AWS X-Ray riceve tracce dall'applicazione, oltre alle tracce dai AWS servizi utilizzati dall'applicazione che sono già integrati con X-Ray. Esistono diversi SDK, agenti e strumenti che possono essere utilizzati per strumentare l'applicazione per il tracciamento X-Ray. Per ulteriori informazioni, consulta la documentazione relativa ad AWS X-Ray.
Gli sviluppatori possono anche utilizzare gli AWS X-Ray SDK per inviare tracce a X-Ray. AWS X-Ray fornisce SDK perGo,, Node.js JavaPython, .NET e. Ruby 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 AWS SDK di strumentazione utilizzati dall'applicazione per chiamare altri servizi AWS
-
Un client HTTP per effettuare chiamate strumentali ad altri servizi Web HTTP interni ed esterni
Gli SDK X-Ray supportano 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. Per ulteriori informazioni sulla strumentazione dell'applicazione utilizzando un SDK X-Ray, consultate la documentazione X-Ray.
-
-
Amazon OpenSearch Service è un servizio AWS gestito per l'esecuzione e il ridimensionamento OpenSearch dei cluster, che può essere utilizzato per archiviare centralmente log, metriche e tracce. Il plug-in Observability offre un'esperienza unificata per la raccolta e il monitoraggio di parametri, registri e tracce provenienti da origini dati comuni. La raccolta e il monitoraggio dei dati in un unico posto offrono l'osservabilità completa dell'intera infrastruttura. end-to-end Per informazioni sull'implementazione, consulta la documentazione del OpenSearch servizio.
-
AWS Distro for OpenTelemetry (ADOT) è una AWS distribuzione basata sul progetto Cloud Native Computing Foundation (CNCF). OpenTelemetry ADOT attualmente include il supporto per la strumentazione automatica per Java e Python.
Inoltre, ADOT supporta la strumentazione automatica delle AWS Lambda funzioni e delle relative richieste downstream utilizzando Java Node.js e i Python runtime tramite ADOT Managed Lambda Layers. Gli sviluppatori possono utilizzare il collettore ADOT per inviare tracce a diversi backend, tra cui AWS X-Ray Amazon Service. OpenSearch Per un esempio di riferimento su come strumentare la tua applicazione utilizzando l'SDK ADOT, consulta la documentazione.
Per un esempio di riferimento su come utilizzare l'SDK ADOT per inviare dati ad Amazon OpenSearch Service, consulta la documentazione del OpenSearch servizio. Per un esempio di riferimento su come strumentare un'applicazione in esecuzione su Amazon EKS, consulta il post del blog Raccolta di metriche e tracce con componenti aggiuntivi Amazon EKS per AWS Distro for
. OpenTelemetry