

# OPS04-BP05 Implementazione del tracciamento distribuito
<a name="ops_observability_dist_trace"></a>

 Il tracciamento distribuito offre un modo per monitorare e visualizzare le richieste mentre attraversano vari componenti di un sistema distribuito. Acquisendo i dati di tracciamento da più fonti e analizzandoli in una vista unificata, i team possono comprendere meglio il flusso delle richieste, in quali punti sono presenti colli di bottiglia e dove devono concentrare gli sforzi di ottimizzazione. 

 **Risultato desiderato:** Una visione olistica del flusso delle richieste nel tuo sistema distribuito, che ti permette di ottenere un debug preciso, prestazioni ottimizzate e migliori esperienze utente. 

 **Anti-pattern comuni:** 
+  Strumentazione incoerente: non tutti i servizi in un sistema distribuito sono dotati di strumentazione per il monitoraggio. 
+  Ignorare la latenza: concentrarsi solo sugli errori e non considerare la latenza o il graduale deterioramento delle prestazioni. 

 **Vantaggi dell'adozione di questa best practice:** 
+ Panoramica completa del sistema: visualizzazione dell'intero percorso delle richieste, dall'ingresso all'uscita.
+  Debug avanzato: identificazione rapida dei punti in cui si verificano guasti o problemi di prestazioni. 
+  Esperienza utente migliorata: monitoraggio e ottimizzazione in base ai dati effettivi dell'utente, garantendo che il sistema soddisfi le esigenze del mondo reale. 

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

## Guida all'implementazione
<a name="implementation-guidance"></a>

 Inizia identificando tutti gli elementi del carico di lavoro che richiedono strumentazione. Una volta presi in considerazione tutti i componenti, sfrutta strumenti come AWS X-Ray e OpenTelemetry per raccogliere dati di tracciamento da analizzare con strumenti come X-Ray e Amazon CloudWatchServiceLens Map. Effettua revisioni periodiche insieme agli sviluppatori e integra queste discussioni con strumenti come Amazon DevOps Guru, X-Ray Analytics e X-Ray Insights per ottenere risultati più approfonditi. Imposta avvisi basati sui dati di tracciamento per notificare quando i risultati sono a rischio, come definito nel piano di monitoraggio del carico di lavoro. 

### Passaggi dell'implementazione
<a name="implementation-steps"></a>

 Per implementare il tracciamento distribuito in modo efficace: 

1.  **Adotta [AWS X-Ray](https://aws.amazon.com/xray/):** implementa X-Ray nella tua applicazione per ottenere informazioni dettagliate sul suo comportamento, comprenderne le prestazioni e individuare i punti critici. Utilizza X-Ray Insights per l'analisi automatica dei tracciamenti. 

1.  **Dota i tuoi servizi di strumenti:** verifica che tutti i servizi, dalle funzioni [AWS Lambda](https://aws.amazon.com/lambda/) alle [istanze EC2](https://aws.amazon.com/ec2/), siano in grado di inviare dati di tracciamento. Più servizi doti di strumentazione, più chiara sarà la visione end-to-end. 

1.  **Incorpora [il monitoraggio dell'utente reale tramite CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) e [il monitoraggio sintetico](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html):** integra il monitoraggio dell'utente reale (RUM) e il monitoraggio sintetico con X-Ray. Ciò ti consente di acquisire esperienze utenti del mondo reale e simulare le interazioni degli utenti per identificare potenziali problemi. 

1.  **Utilizza [l'agente CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html):** l'agente può inviare dati di tracciamento da X-Ray o da OpenTelemetry, permettendoti di raccogliere informazioni più approfondite. 

1.  **Utilizza [Amazon DevOps Guru](https://aws.amazon.com/devops-guru/):** DevOps Guru utilizza dati provenienti da X-Ray, CloudWatch, AWS Config e AWS CloudTrail per fornire suggerimenti fruibili. 

1.  **Analizza le tracce:** esamina regolarmente i dati di tracciamento per individuare schemi, anomalie o colli di bottiglia che possono influire sulle prestazioni dell'applicazione. 

1.  **Imposta avvisi:** configura avvisi in [CloudWatch](https://aws.amazon.com/cloudwatch/) per segnalare schemi insoliti o latenze prolungate, il che ti permette di effettuare una risoluzione proattiva dei problemi. 

1.  **Miglioramento continuo:** riesamina la tua strategia di tracciamento man mano che aggiungi o modifichi servizi per acquisire tutti i punti dati pertinenti. 

 **Livello di impegno per il piano di implementazione:** Medio 

## Risorse
<a name="resources"></a>

 **Best practice correlate:** 
+  [OPS04-BP01 Identificazione degli indicatori chiave di prestazione](ops_observability_identify_kpis.md) 
+  [OPS04-BP02 Implementazione della telemetria dell'applicazione](ops_observability_application_telemetry.md) 
+  [OPS04-BP03 Implementazione della telemetria dell'esperienza utente](ops_observability_customer_telemetry.md) 
+  [OPS04-BP04 Implementazione della telemetria delle dipendenze](ops_observability_dependency_telemetry.md) 

 **Documenti correlati:** 
+ [ Guida per gli sviluppatori AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html)
+ [ Amazon CloudWatch agent User Guide ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html)
+ [ Amazon DevOps Guru User Guide ](https://docs.aws.amazon.com/devops-guru/latest/userguide/welcome.html)

 **Video correlati:** 
+ [ Use AWS X-Ray Insights ](https://www.youtube.com/watch?v=tl8OWHl6jxw)
+ [AWS on Air ft. Observability: Amazon CloudWatch and AWS X-Ray](https://www.youtube.com/watch?v=qBDBnPkZ-KI)

 **Esempi correlati:** 
+ [ Instrumenting your Application with AWS X-Ray](https://aws.amazon.com/getting-started/hands-on/distributed-tracing-with-xray/)