Crea CloudWatch dashboard Amazon basate su tag automaticamente - Prontuario AWS

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

Crea CloudWatch dashboard Amazon basate su tag automaticamente

Creato da Janak Vadaria (AWS), () e Vinodkumar Mandalapu RAJNEESH TYAGI (AWS) AWS

Archivio di codice: Goldensignals

Ambiente: produzione

Tecnologie: gestione e governance

AWSservizi: AWSCDK; Amazon CloudWatch; AWS CodeBuild; AWS CodePipeline

Riepilogo

La creazione manuale di diversi CloudWatch dashboard Amazon può richiedere molto tempo, in particolare quando devi creare e aggiornare più risorse per scalare automaticamente il tuo ambiente. Una soluzione che crea e aggiorna automaticamente le CloudWatch dashboard può farti risparmiare tempo. Questo modello consente di implementare una AWS Cloud Development Kit (AWS CDK) pipeline completamente automatizzata che crea e aggiorna i CloudWatch dashboard AWS delle risorse in base agli eventi di modifica dei tag, per visualizzare le metriche di Golden Signals.

Nell'ingegneria dell'affidabilità dei siti (SRE), Golden Signals si riferisce a un set completo di metriche che offrono una visione ampia di un servizio dal punto di vista dell'utente o del consumatore. Queste metriche comprendono latenza, traffico, errori e saturazione. Per ulteriori informazioni, consulta What is Site Reliability Engineering ()? SRE sul sito AWS Web.

La soluzione fornita da questo modello è basata sugli eventi. Dopo l'implementazione, monitora continuamente gli eventi di modifica dei tag e aggiorna automaticamente i dashboard e gli CloudWatch allarmi.

Prerequisiti e limitazioni

Prerequisiti

Limitazioni

Questa soluzione attualmente crea dashboard automatizzati solo per i seguenti AWS servizi:

Architettura

Stack tecnologico Target

Architettura di destinazione

Architettura Target per la creazione di dashboard basate su tag CloudWatch
  1. Un evento di modifica dei AWS tag dell'applicazione configurata o le modifiche al codice avvia una pipeline AWS CodePipeline per creare e distribuire dashboard aggiornati. CloudWatch

  2. AWS CodeBuild esegue uno script Python per trovare le risorse con tag configurati e memorizza la risorsa IDs in un file locale in un CodeBuild ambiente.

  3. CodeBuild esegue cdk synth per generare AWS CloudFormation modelli che implementano dashboard e allarmi. CloudWatch

  4. CodePipeline distribuisce i AWS CloudFormation modelli nella regione e nella regione specificata. Account AWS

  5. Quando lo AWS CloudFormation stack è stato distribuito correttamente, puoi visualizzare i CloudWatch dashboard e gli allarmi.

Automazione e scalabilità

Questa soluzione è stata automatizzata utilizzando AWS CDK. Puoi trovare il codice nel CloudWatch repository GitHub Golden Signals Dashboards su Amazon. Per una scalabilità aggiuntiva e per creare dashboard personalizzate, puoi configurare più chiavi e valori di tag.

Strumenti

Servizi Amazon

  • Amazon EventBridge è un servizio di bus eventi senza server che ti aiuta a connettere le tue applicazioni con dati in tempo reale provenienti da una varietà di fonti, tra cui AWS Lambda funzioni, endpoint di HTTP invocazione che utilizzano API destinazioni o bus di eventi in altro modo. Account AWS

  • AWS CodePipelineti aiuta a modellare e configurare rapidamente le diverse fasi di un rilascio del software e ad automatizzare i passaggi necessari per rilasciare continuamente le modifiche al software.

  • AWS CodeBuildè un servizio di compilazione completamente gestito che consente di compilare codice sorgente, eseguire test unitari e produrre artefatti pronti per l'implementazione.

  • AWS Command Line Interface (AWS CLI) è uno strumento open source che consente di interagire con i AWS servizi tramite comandi nella shell della riga di comando.

  • AWS Identity and Access Management (IAM) consente di gestire in modo sicuro l'accesso alle AWS risorse controllando chi è autenticato e autorizzato a utilizzarle.

  • Amazon Simple Storage Service (Amazon S3) è un servizio di archiviazione degli oggetti basato sul cloud che consente di archiviare, proteggere e recuperare qualsiasi quantità di dati.

Best practice

Come best practice in materia di sicurezza, potete utilizzare la crittografia e l'autenticazione per gli archivi di origine che si collegano alle pipeline. Per ulteriori best practice, consulta le CodePipeline best practice e i casi d'uso nella CodePipeline documentazione.

Epiche

AttivitàDescrizioneCompetenze richieste

Configura e distribuisci l'applicazione di esempio.

  1. Clona il repository GitHub di codice di esempio utilizzando il comando:

    git clone https://github.com/aws-samples/golden-signals-dashboards-sample-app
  2. Accedi al repository clonato sul tuo computer e apri il src/project-settings.ts file con l'editor che preferisci.

  3. Modifica il valore projectSettings costante in base ai tag AWS delle risorse e alle mappature delle applicazioni.

  4. Imposta le AWS_ACCOUNT variabiliAWS_REGION, e di GS_DASHBOARD_INSTANCE ambiente:

    • AWS_ACCOUNTImposta l'ID dell' AWS account.

    • AWS_REGIONImposta la regione in cui desideri distribuire l'applicazione di esempio.

    • Impostato GS_DASHBOARD_INSTANCE sudev, o testprod, a seconda dell'ambiente di sviluppo in uso. (Consigliamo test la procedura di test descritta in questo schema).

  5. Configura il AWS CLI con le tue AWS credenziali. Per ulteriori informazioni, consulta Impostare e visualizzare le impostazioni di configurazione utilizzando i comandi nella AWS CLI documentazione.

  6. Esegui il comando seguente per distribuire l'applicazione di esempio del dashboard Golden Signals:

    sh deploy.sh
AWS DevOps

Crea automaticamente dashboard e allarmi.

Dopo aver distribuito l'applicazione di esempio, puoi creare qualsiasi risorsa supportata da questa soluzione con i valori di tag previsti, che creeranno automaticamente i dashboard e gli allarmi specificati.

Per testare questa soluzione, create una funzione: AWS Lambda

  1. Accedi al sito AWS Management Console in Regione AWS cui hai distribuito l'applicazione di esempio.

  2. Apri la console Lambda all'indirizzo. https://console.aws.amazon.com/lambda/

  3. Scegli Crea una funzione, quindi inserisci il nome di una funzione.

  4. Nel riquadro Impostazioni avanzate, seleziona Abilita tag, quindi scegli Aggiungi nuovo tag. Inserisci la chiave e il valore seguenti:

    • Chiave: AutoDashboard

    • Valore: True

  5. Scegli Crea funzione.

    La funzione Lambda avvia immediatamente una pipeline di codice, che crea automaticamente i dashboard e gli allarmi per quella particolare funzione Lambda.

  6. Per visualizzare i dashboard e gli allarmi automatici, apri la console all'indirizzo. CloudWatch https://console.aws.amazon.com/cloudwatch/ Puoi visualizzare i dashboard e gli allarmi personalizzati per la funzione specificata nella projectSettings costante (APP1-lambda per impostazione predefinita).

  7. Seleziona la dashboard per la funzione Lambda per visualizzare dashboard automatici aggiuntivi creati come parte di questa soluzione.

  8. Ripeti questi passaggi per altri servizi, come Amazon RDSSNS, Amazon e DynamoDB AWS Auto Scaling, per generare i dashboard associati. Per un esempio per AmazonRDS, consulta la sezione Informazioni aggiuntive.

AWS DevOps
AttivitàDescrizioneCompetenze richieste

Rimuovi il golden-signals-dashboard costrutto.

  1. Per rimuovere tutti gli AWS CloudFormation stack creati dall'applicazione di esempio, è necessario riconfigurare le variabili AWS_ACCOUNTAWS_REGION, e GS_DASHBOARD_INSTANCE di ambiente. Il destroy.sh comando richiede queste configurazioni.

    • AWS_ACCOUNTè l'ID dell' AWS account.

    • AWS_REGIONè la regione in cui è stata distribuita l'applicazione di esempio.

    • GS_DASHBOARD_INSTANCEè dev o test prod si basa sulle impostazioni precedenti.

  2. Configura AWS CLI con le tue AWS credenziali.

  3. Esegui il comando seguente per rimuovere l'applicazione di esempio e tutti gli AWS CloudFormation stack associati:

    sh destroy.sh
AWS DevOps

Risoluzione dei problemi

ProblemaSoluzione

Comando Python non trovato (riferimento alla findresources.sh riga 8).

Controlla la versione della tua installazione di Python. Se hai installato Python versione 3, sostituiscilo python con la python3 riga 8 del resources.sh file ed esegui nuovamente il sh deploy.sh comando per distribuire la soluzione.

Risorse correlate

Informazioni aggiuntive

L'illustrazione seguente mostra un esempio di dashboard per Amazon RDS creato come parte di questa soluzione.

Dashboard di esempio per Amazon RDS