(Facoltativo) Prova di Application Signals su un'app di esempio
Per provare CloudWatch Application Signals su un'app di esempio prima di utilizzarla per instrumentare le tue applicazioni, segui le istruzioni in questa sezione. Queste istruzioni utilizzano script per aiutarti a creare un cluster Amazon EKS, installare un'applicazione di esempio e strumentare l'applicazione di esempio affinché funzioni con Application Signals.
L'applicazione di esempio è un'applicazione Spring “Pet Clinic” composta da quattro microservizi. Questi servizi vengono eseguiti su Amazon EKS su Amazon EC2 e sfruttano gli script di abilitazione di Application Signals per abilitare il cluster con l'agente di instrumentazione automatica Java, Python o .NET.
Requisiti
Application Signals monitora solo le applicazioni Java, Python o .NET.
È necessario avere installato la AWS CLI nell'istanza. Consigliamo AWS CLI versione 2, ma dovrebbe funzionare anche la versione 1. Per informazioni sull'installazione della AWS CLI, consulta Install or update the latest version of the AWS CLI.
Gli script in questa sezione sono pensati per essere eseguiti in ambienti Linux e macOS. Per le istanze Windows, consigliamo di utilizzare un ambiente AWS Cloud9 per eseguire questi script. Per ulteriori informazioni su AWS Cloud9, consulta Che cos'è AWS Cloud9?.
Installa una versione supportata di
kubectl. Devi utilizzare la versionekubectlla cui differenza di versione secondaria è uno rispetto al piano di controllo del cluster Amazon EKS. Ad esempio, un clientkubectl1.26 deve funzionare con cluster Kubernetes 1.25, 1.26 e 1.27. Se disponi già di un cluster Amazon EKS, potrebbe essere necessario configurare le credenziali AWS perkubectl. Per ulteriori informazioni, consulta Creazione o aggiornamento di un filekubeconfigper un cluster Amazon EKS.Installa
eksctl.eksctlutilizza la AWS CLI per interagire con AWS, il che significa che utilizza le stesse credenziali AWS della AWS CLI. Per ulteriori informazioni, consulta Installazione o aggiornamento dieksctl.Installa
jq.jqè necessario per eseguire gli script di abilitazione di Application Signals. Per ulteriori informazioni, consulta Scarica jq.
Fase 1: download degli script
Per scaricare gli script per configurare CloudWatch Application Signals con un'app di esempio, puoi scaricare e decomprimere il file di progetto GitHub compresso su un'unità locale oppure puoi clonare il progetto GitHub.
Per clonare il progetto, apri una finestra terminale e inserisci il seguente comando Git in una determinata directory di lavoro.
git clone https://github.com/aws-observability/application-signals-demo.git
Fase 2: creazione ed esecuzione dell'applicazione di esempio
Per creare e inviare le immagini di esempio dell'applicazione, segui queste istruzioni
Fase 3: implementazione e abilitazione di Application Signals e dell'applicazione di esempio
Assicurati di aver completato i requisiti indicati in (Facoltativo) Prova di Application Signals su un'app di esempio prima di completare i seguenti passaggi.
Per implementare e abilitare Application Signals e l'applicazione di esempio
Inserire il seguente comando. Sostituisci
new-cluster-namecon il nome desiderato per il nuovo cluster. Sostituisciregion-namecon il nome della tua regione AWS, ad esempious-west-1.Questo comando configura l'app di esempio in esecuzione in un nuovo cluster Amazon EKS con Application Signals abilitato.
# this script sets up a new cluster, enables Application Signals, and deploys the # sample application cd application-signals-demo/scripts/eks/appsignals/one-step && ./setup.shnew-cluster-nameregion-nameL'esecuzione dello script di configurazione richiede circa 30 minuti ed esegue le seguenti operazioni:
Crea un nuovo cluster Amazon EKS nella regione specificata.
Crea le autorizzazioni IAM necessarie per Application Signals (
arn:aws:iam::aws:policy/AWSXrayWriteOnlyAccessearn:aws:iam::aws:policy/CloudWatchAgentServerPolicy).Abilita Application Signals installando l'agente CloudWatch e strumentando automaticamente l'applicazione di esempio per i parametri e i tracciamenti X-Ray di CloudWatch.
Implementa l'applicazione di esempio Spring PetClinic nello stesso cluster Amazon EKS.
Crea cinque canary CloudWatch Synthetics, denominati
pc-add-vist,pc-create-owners,pc-visit-pet,pc-visit-vet,pc-clinic-traffic. Questi canary funzioneranno a una frequenza di un minuto per generare traffico sintetico per l'app di esempio e dimostrare come vengono visualizzati i canary Synthetics in Application Signals.Crea quattro obiettivi di livello di servizio (SLO) per l'applicazione PetClinic con i seguenti nomi:
Disponibilità per Searching an Owner
Latenza per Searching an Owner
Disponibilità per Registering an Owner
Latenza per Registering an Owner
Crea il ruolo IAM richiesto con una policy di attendibilità personalizzata che concede ad Application Signals le seguenti autorizzazioni:
cloudwatch:PutMetricDatacloudwatch:GetMetricDataxray:GetServiceGraphlogs:StartQuerylogs:GetQueryResults
-
(Facoltativo) Se desideri esaminare il codice sorgente dell'applicazione di esempio PetClinic, puoi trovarlo nella cartella principale.
- application-signals-demo - spring-petclinic-admin-server - spring-petclinic-api-gateway - spring-petclinic-config-server - spring-petclinic-customers-service - spring-petclinic-discovery-server - spring-petclinic-vets-service - spring-petclinic-visits-service Per visualizzare l'applicazione di esempio PetClinic distribuita, esegui il seguente comando per trovare l'URL:
kubectl get ingress
Fase 4: distribuzione dell'applicazione di esempio
Dopo aver completato i passaggi nella sezione precedente per creare il cluster Amazon EKS e distribuire l'applicazione di esempio, puoi utilizzare Application Signals per monitorare l'applicazione.
Nota
Affinché la console Application Signals inizi a popolarsi, una parte del traffico deve raggiungere l'applicazione di esempio. Durante i passaggi precedenti sono stati creati canary CloudWatch Synthetics che generano traffico verso l'applicazione di esempio.
Monitoraggio dei servizi
Una volta abilitato, CloudWatch Application Signals rileva e compila automaticamente un elenco di servizi senza richiedere alcuna configurazione aggiuntiva.
Per visualizzare l'elenco dei servizi rilevati e monitorarne lo stato
Apri la console CloudWatch all'indirizzo https://console.aws.amazon.com/cloudwatch/
. Nel riquadro di navigazione, scegli Application Signals, Servizi.
Per visualizzare un servizio, le sue operazioni e le sue dipendenze, scegli il nome di uno dei servizi nell'elenco.
Questa visualizzazione unificata e incentrata sull'applicazione aiuta a fornire una prospettiva completa del modo in cui gli utenti interagiscono con il servizio. Questo può aiutarti a diagnosticare i problemi in caso di anomalie nelle prestazioni. Per i dettagli completi sulla visualizzazione dei Servizi, consulta Monitoraggio dell'integrità operativa delle applicazioni con Application Signals.
Scegli la scheda Operazioni di servizio per visualizzare i parametri standard delle applicazioni per le operazioni di quel servizio. Le operazioni sono le operazioni API chiamate dal servizio, ad esempio.
Quindi, per visualizzare i grafici per una singola operazione di quel servizio, scegli il nome dell'operazione.
Scegli la scheda Dipendenze per visualizzare le dipendenze dell'applicazione, insieme ai parametri critici delle applicazioni per ciascuna dipendenza. Le dipendenze includono servizi AWS e servizi di terze parti chiamati dall'applicazione.
Per visualizzare le tracce correlate dalla pagina dei dettagli del servizio, scegli un punto dati in uno dei tre grafici sopra la tabella. Questa operazione popola un nuovo riquadro con le tracce filtrate del periodo di tempo. Queste tracce vengono ordinate e filtrate in base al grafico scelto. Ad esempio, se hai scelto il grafico della latenza, le tracce vengono ordinate in base al tempo di risposta del servizio.
Nel pannello di navigazione della console CloudWatch, scegli Gruppi di log. Vengono visualizzati gli SLO creati dallo script per l'applicazione di esempio. Per ulteriori informazioni sugli SLO, consulta Obiettivi del livello di servizio (SLO).
(Facoltativo) Fase 5: eliminazione
Quando hai finito di testare Application Signals, puoi utilizzare uno script fornito da Amazon per ripulire ed eliminare gli artefatti creati nel tuo account per l'applicazione di esempio. Per eseguire la eliminazione, immetti il seguente comando. Sostituisci new-cluster-name con il nome del cluster creato per l'app di esempio e sostituisci region-name con il nome della regione AWS, ad esempio us-west-1.
cd application-signals-demo/scripts/eks/appsignals/one-step && ./cleanup.sh new-cluster-name region-name