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

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

(Facoltativo) Prova Application Signals con un'app di esempio

Per provare CloudWatch Application Signals su un'app di esempio prima di utilizzarla per 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 strumentazione automatica Java, Python o.NET.

Requisiti

  • Attualmente, Application Signals monitora solo le applicazioni Java, Python o.NET.

  • È necessario averle AWS CLI installate sull'istanza. Consigliamo AWS CLI la versione 2, ma dovrebbe funzionare anche la versione 1. Per ulteriori informazioni sull'installazione di AWS CLI, consulta Installare o aggiornare la versione più recente di AWS CLI.

  • Gli script in questa sezione sono pensati per essere eseguiti in ambienti Linux e macOS. Per le istanze Windows, si consiglia di utilizzare un AWS Cloud9 ambiente per eseguire questi script. Per ulteriori informazioni su AWS Cloud9, vedi 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 AWS le credenziali perkubectl. Per ulteriori informazioni, consulta Creazione o aggiornamento di un file kubeconfig per un cluster Amazon EKS.

  • Installaeksctl. eksctlutilizza il AWS CLI per interagire AWS, il che significa che utilizza AWS le stesse credenziali di 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 GitHub progetto compresso su un'unità locale oppure 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 Application Signals con 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. new-cluster-nameSostituiscilo con il nome che desideri utilizzare per il nuovo cluster. Sostituisci region-name con il nome della AWS regione, 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.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 i segnali applicativi installando l' CloudWatch agente e strumentando automaticamente l'applicazione di esempio per CloudWatch metriche e tracce X-Ray.

    • Distribuisce l'applicazione di esempio PetClinic Spring nello stesso cluster Amazon EKS.

    • Crea cinque canarini CloudWatch Synthetics, pc-add-vist pc-create-owners denominati,,,,. 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 (SLOs) per l' PetClinic applicazione 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 PetClinic esempio, 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 PetClinic esempio distribuita, esegui il comando seguente 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. Parte dei passaggi precedenti ha creato i canari CloudWatch Synthetics che generano traffico verso l'applicazione di esempio.

Monitoraggio dei servizi

Dopo l'attivazione, 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 CloudWatch console 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 AWS servizi e servizi di terze parti richiamati 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 riquadro di navigazione CloudWatch della console, scegli SLOs. Viene visualizzato SLOs lo script creato per l'applicazione di esempio. Per ulteriori informazioni su SLOs, vedereObiettivi del livello di servizio (SLOs).

(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 che hai creato per l'app di esempio e sostituisci region -name con il nome della AWS regione, ad us-west-1 esempio.

cd application-signals-demo/scripts/eks/appsignals/one-step && ./cleanup.sh new-cluster-name region-name