(Facoltativo) Prova di Application Signals su un'app di esempio - Amazon CloudWatch

(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 versione kubectl la cui differenza di versione secondaria è uno rispetto al piano di controllo del cluster Amazon EKS. Ad esempio, un client kubectl 1.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 per kubectl. Per ulteriori informazioni, consulta Creazione o aggiornamento di un file kubeconfig per un cluster Amazon EKS.

  • Installa eksctl. eksctl utilizza 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 di eksctl.

  • Installajq. 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
  1. Inserire il seguente comando. Sostituisci new-cluster-name con il nome desiderato per il nuovo cluster. Sostituisci region-name con il nome della tua regione AWS, ad esempio us-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.sh new-cluster-name region-name

    L'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/AWSXrayWriteOnlyAccess e arn: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:PutMetricData

      • cloudwatch:GetMetricData

      • xray:GetServiceGraph

      • logs:StartQuery

      • logs:GetQueryResults

  2. (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
  3. 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
  1. Apri la console CloudWatch all'indirizzo https://console.aws.amazon.com/cloudwatch/.

  2. Nel riquadro di navigazione, scegli Application Signals, Servizi.

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

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

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

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

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