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à.
Automatizza l'inserimento e la visualizzazione di metriche personalizzate di Amazon MWAA su Amazon Managed Grafana utilizzando Terraform
Creato da Faisal Abdullah (AWS) e Satya Vajrapu (AWS)
Riepilogo
Questo modello illustra come utilizzare Amazon Managed Grafana per creare e monitorare metriche personalizzate che vengono acquisite da Amazon Managed Workflows for Apache Airflow (Amazon MWAA). Amazon MWAA funge da orchestratore per i flussi di lavoro, utilizzando Directed Acyclic Graphs () con script in Python. DAGs Questo modello è incentrato sul monitoraggio di metriche personalizzate, tra cui il numero totale di esecuzioni nell'ultima ora, il conteggio dei DAGs risultati superati e non riusciti ogni ora e la durata media di questi processi. DAGs Questa analisi mostra come Amazon Managed Grafana si integra con Amazon MWAA per consentire un monitoraggio completo e approfondimenti sull'orchestrazione dei flussi di lavoro all'interno di questo ambiente.
Prerequisiti e limitazioni
Prerequisiti
Un attivo Account AWS con le autorizzazioni utente necessarie per creare e gestire quanto segue: Servizi AWS
AWS Identity and Access Management Ruoli e politiche (IAM)
AWS Lambda
Grafana gestito da Amazon
Amazon Managed Workflows for Apache Airflow (Amazon MWAA)
Amazon Simple Storage Service (Amazon S3)
Amazon Timestream
Accesso a un ambiente shell che può essere un terminale sul computer locale o AWS CloudShell.
Un ambiente shell con Git installato e l'ultima versione di AWS Command Line Interface (AWS CLI) installata e configurata. Per ulteriori informazioni, consulta Installazione o aggiornamento alla versione più recente di AWS CLI nella AWS CLI documentazione.
È installata la seguente versione di Terraform:
required_version = ">= 1.6.1, < 2.0.0"
Puoi usare tfswitch per passareda una versione all'altra di Terraform. Fonte di identità configurata per il tuo. AWS IAM Identity Center Account AWS Per ulteriori informazioni, consulta Conferma le tue fonti di identità in IAM Identity Center nella documentazione di IAM Identity Center. Puoi scegliere tra l'impostazione predefinita IAM Identity Center directory, Active Directory o un provider di identità (IdP) esterno come Okta. Per ulteriori informazioni, vedere Risorse correlate.
Limitazioni
Alcune Servizi AWS non sono disponibili in tutte Regioni AWS. Per la disponibilità per regione, vedi Servizi AWS per regione
. Per endpoint specifici, consulta Endpoints and quotas del servizio e scegli il link relativo al servizio.
Versioni del prodotto
Terraform
required_version = ">= 1.6.1, < 2.0.0"
Amazon Managed Grafana versione 9.4 o successiva. Questo modello è stato testato nella versione 9.4.
Architettura
Il seguente diagramma di architettura evidenzia l' Servizi AWS uso nella soluzione.

Il diagramma precedente illustra il seguente flusso di lavoro:
Le metriche personalizzate all'interno di Amazon MWAA provengono da DAGs quelle eseguite all'interno dell'ambiente. Le metriche vengono caricate nel bucket Amazon S3 in un formato di file CSV. Di seguito vengono DAGs utilizzate le funzionalità di interrogazione del database di Amazon MWAA:
run-example-dag
— Questo DAG contiene codice Python di esempio che definisce una o più attività. Viene eseguito ogni 7 minuti e stampa la data. Dopo aver stampato la data, il DAG include un'operazione per sospendere o sospendere l'esecuzione per una durata specifica.other-sample-dag
— Questo DAG viene eseguito ogni 10 minuti e stampa la data. Dopo aver stampato la data, il DAG include un'operazione per sospendere o sospendere l'esecuzione per una durata specifica.data-extract
— Questo DAG viene eseguito ogni ora, interroga il database Amazon MWAA e raccoglie i parametri. Dopo aver raccolto i parametri, questo DAG li scrive in un bucket Amazon S3 per ulteriori elaborazioni e analisi.
Per semplificare l'elaborazione dei dati, le funzioni Lambda vengono eseguite quando vengono attivate dagli eventi di Amazon S3, il che facilita il caricamento delle metriche in Timestream.
Timestream è integrato come fonte di dati in Amazon Managed Grafana, dove sono archiviate tutte le metriche personalizzate di Amazon MWAA.
Gli utenti possono interrogare i dati e creare dashboard personalizzati per visualizzare gli indicatori chiave delle prestazioni e ottenere informazioni sull'orchestrazione dei flussi di lavoro all'interno di Amazon MWAA.
Strumenti
Servizi AWS
AWS IAM Identity Centerti aiuta a gestire centralmente l'accesso Single Sign-On (SSO) a tutte le tue applicazioni e al cloud. Account AWS
AWS Lambda è un servizio di calcolo che consente di eseguire il codice senza gestire i server o effettuarne il provisioning. Esegue il codice solo quando necessario e si ridimensiona automaticamente, quindi paghi solo per il tempo di elaborazione che utilizzi. In questo modello, AWS Lambda esegue il codice Python in risposta agli eventi di Amazon S3 e gestisce automaticamente le risorse di calcolo.
Amazon Managed Grafana è un servizio di visualizzazione dei dati completamente gestito che puoi utilizzare per interrogare, correlare, visualizzare e inviare avvisi su metriche, log e tracce. Questo modello utilizza Amazon Managed Grafana per creare una dashboard per la visualizzazione delle metriche e gli avvisi.
Amazon Managed Workflows for Apache Airflow (Amazon MWAA) è un servizio di orchestrazione gestito per Apache Airflow che puoi utilizzare per configurare e gestire pipeline di dati nel cloud su larga scala. Apache Airflow
è uno strumento open source utilizzato per creare, pianificare e monitorare in modo programmatico sequenze di processi e attività denominate flussi di lavoro. In questo modello, in Amazon MWAA vengono distribuiti un campione DAGs e un estrattore di parametri DAG. 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. In questo modello, Amazon S3 viene utilizzato per DAGs archiviare script e metriche personalizzate in formato CSV.
Amazon Timestream LiveAnalytics per noi è un database di serie temporali veloce, scalabile, completamente gestito e creato appositamente che semplifica l'archiviazione e l'analisi di trilioni di punti dati di serie temporali al giorno. Timestream for si integra LiveAnalytics anche con i servizi di uso comune per la raccolta, la visualizzazione e l'apprendimento automatico dei dati. In questo modello, viene utilizzato per importare i parametri personalizzati Amazon MWAA generati.
Altri strumenti
HashiCorp Terraform
è uno strumento Infrastructure as Code (IaC) che consente di utilizzare il codice per fornire e gestire l'infrastruttura e le risorse cloud. Questo modello utilizza un modulo Terraform per automatizzare la fornitura dell'infrastruttura in. AWS
Archivio di codice
Il codice per questo pattern è disponibile GitHub nel repository visualize-amazon-mwaa-custom-metrics-grafanastacks/Infra
File di configurazione Terraform per tutte le risorse AWS
File Grafana dashboard .json nella cartella
grafana
Amazon Managed Workflows for Apache Airflow DAGs nella cartella
mwaa/dags
Codice Lambda per analizzare il file.csv e memorizzare le metriche nel database Timestream nella cartella
src
I file IAM Policy .json nella cartella
templates
Best practice
Terraform deve memorizzare lo stato dell'infrastruttura e della configurazione gestite in modo da poter mappare le risorse del mondo reale alla configurazione. Per impostazione predefinita, Terraform memorizza lo stato localmente in un file denominato. terraform.tfstate
È fondamentale garantire la sicurezza e l'integrità del file di stato Terraform perché mantiene lo stato attuale dell'infrastruttura. Per ulteriori informazioni, consulta Remote State
Epiche
Attività | Descrizione | Competenze richieste |
---|---|---|
Implementa l'infrastruttura. | Per implementare l'infrastruttura della soluzione, procedi come segue:
| AWS DevOps |
Attività | Descrizione | Competenze richieste |
---|---|---|
Convalida l'ambiente Amazon MWAA. | Per convalidare l'ambiente Amazon MWAA, procedi come segue:
| AWS DevOps, ingegnere dei dati |
Verifica gli orari del DAG. | Per visualizzare ogni pianificazione DAG, vai alla scheda Pianificazione nell'interfaccia utente Airflow. Ciascuno dei seguenti sistemi DAGs ha una pianificazione preconfigurata, che viene eseguita nell'ambiente Amazon MWAA e genera parametri personalizzati:
Puoi anche vedere le esecuzioni riuscite di ogni DAG nella colonna Runs. | Ingegnere dei dati, AWS DevOps |
Attività | Descrizione | Competenze richieste |
---|---|---|
Configura l'accesso all'area di lavoro Amazon Managed Grafana. | Gli script Terraform hanno creato lo spazio di lavoro, i dashboard e la pagina delle metriche di Amazon Managed Grafana richiesti. Per configurare l'accesso in modo da poterli visualizzare, procedi come segue:
| AWS DevOps |
Installa il plug-in Amazon Timestream. | Le metriche personalizzate di Amazon MWAA vengono caricate nel database Timestream. Utilizza il plug-in Timestream per visualizzare le metriche con i dashboard di Amazon Managed Grafana. Per installare il plug-in Timestream, procedi come segue:
Per ulteriori informazioni, consulta Estendi il tuo spazio di lavoro con i plugin nella documentazione di Amazon Managed Grafana. | AWS DevOps, DevOps ingegnere |
Attività | Descrizione | Competenze richieste |
---|---|---|
Visualizza la dashboard di Amazon Managed Grafana. | Per visualizzare le metriche che sono state inserite nell'area di lavoro di Amazon Managed Grafana, procedi come segue:
La pagina delle metriche della dashboard mostra le seguenti informazioni:
| AWS DevOps |
Personalizza la dashboard di Amazon Managed Grafana. | Per personalizzare i dashboard per ulteriori miglioramenti futuri, procedi come segue:
| AWS DevOps |
Attività | Descrizione | Competenze richieste |
---|---|---|
Metti in pausa le esecuzioni di Amazon MWAA DAG. | Per mettere in pausa le esecuzioni del DAG, procedi come segue:
| AWS DevOps, ingegnere dei dati |
Elimina gli oggetti nei bucket Amazon S3. | Per eliminare i bucket Amazon S3 mwaa-events-bucket-* e mwaa-metrics-bucket-*, segui le istruzioni per l'uso della console Amazon S3 in Eliminazione di un bucket nella documentazione di Amazon S3. | AWS DevOps |
Distruggi le risorse create da Terraform. | Per distruggere le risorse create da Terraform e il file di stato locale Terraform associato, procedi come segue:
| AWS DevOps |
Risoluzione dei problemi
Problema | Soluzione |
---|---|
| Aggiorna il tuo AWS CLI alla versione più recente. |
Errore durante il caricamento delle fonti di dati -
| L'errore è intermittente. Attendi qualche minuto, quindi aggiorna le sorgenti dati per visualizzare l'origine dati Timestream elencata. |
Risorse correlate
AWS documentazione
AWS video
https://www.youtube-nocookie.com/embed/XX2Xcz-Ps9U? controlli = 0
https://www.youtube-nocookie.com/embed/A4 Og? JHxl2xp controlli = 0
Informazioni aggiuntive
Puoi creare una soluzione completa di monitoraggio e avviso per il tuo ambiente Amazon MWAA, che consente una gestione proattiva e una risposta rapida a potenziali problemi o anomalie. Amazon Managed Grafana include le seguenti funzionalità:
Avvisi: puoi configurare gli avvisi in Amazon Managed Grafana in base a soglie o condizioni predefinite. Imposta notifiche e-mail per avvisare le parti interessate quando determinate metriche superano o scendono al di sotto delle soglie specificate. Per ulteriori informazioni, consulta gli avvisi Grafana nella documentazione di Amazon Managed Grafana.
Integrazione: puoi integrare Amazon Managed Grafana con vari strumenti di terze parti come OpsGenie PagerDuty, o Slack per funzionalità di notifica avanzate. Ad esempio, puoi configurare webhook o integrarli per attivare incidenti e notifiche in queste piattaforme in base APIs agli avvisi generati in Amazon Managed Grafana. Inoltre, questo modello fornisce un GitHub archivio per creare risorse.