

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
<a name="automate-ingestion-and-visualization-of-amazon-mwaa-custom-metrics"></a>

*Faisal Abdullah e Satya Vajrapu, Amazon Web Services*

## Riepilogo
<a name="automate-ingestion-and-visualization-of-amazon-mwaa-custom-metrics-summary"></a>

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
<a name="automate-ingestion-and-visualization-of-amazon-mwaa-custom-metrics-prereqs"></a>

**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](https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html).
+ 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](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) AWS CLI documentazione.
+ È installata la seguente versione di Terraform: `required_version = ">= 1.6.1, < 2.0.0"` Puoi usare [tfswitch per passare](https://tfswitch.warrensbox.com/) da 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](https://docs.aws.amazon.com/singlesignon/latest/userguide/prereq-identity-sources.html) 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](#automate-ingestion-and-visualization-of-amazon-mwaa-custom-metrics-resources).

**Limitazioni**
+ Alcune Servizi AWS non sono disponibili in tutte Regioni AWS. Per la disponibilità per regione, vedi [Servizi AWS per regione](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Per endpoint specifici, consulta [Endpoints and quotas del servizio](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) 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.

## Architecture
<a name="automate-ingestion-and-visualization-of-amazon-mwaa-custom-metrics-architecture"></a>

Il seguente diagramma di architettura evidenzia l' Servizi AWS uso nella soluzione.

![\[Flusso di lavoro per automatizzare l'inserimento di metriche personalizzate di Amazon MWAA.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/3458d0a9-aee1-428a-bf2f-c357bb531c64/images/b43ed8d2-94ac-4438-913b-81c7eba8f3e0.png)


Il diagramma precedente illustra il seguente flusso di lavoro:

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

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

1. Timestream è integrato come fonte di dati in Amazon Managed Grafana, dove sono archiviate tutte le metriche personalizzate di Amazon MWAA.

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

## Tools (Strumenti)
<a name="automate-ingestion-and-visualization-of-amazon-mwaa-custom-metrics-tools"></a>

**Servizi AWS**
+ [AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)ti aiuta a gestire centralmente l'accesso Single Sign-On (SSO) a tutte le tue applicazioni e al cloud. Account AWS 
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) è 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](https://docs.aws.amazon.com/grafana/latest/userguide/what-is-Amazon-Managed-Service-Grafana.html) è 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](https://docs.aws.amazon.com/mwaa/latest/userguide/what-is-mwaa.html) servizio di orchestrazione gestito per Apache Airflow che puoi utilizzare per configurare e gestire pipeline di dati nel cloud su larga scala. [Apache](https://airflow.apache.org/) 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)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) è 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](https://docs.aws.amazon.com/timestream/latest/developerguide/what-is-timestream.html) for is è 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](https://www.terraform.io/docs) è 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-grafana](https://github.com/aws-samples/visualize-amazon-mwaa-custom-metrics-grafana). La cartella contiene quanto segue: `stacks/Infra`
+ File di configurazione Terraform per tutte le risorse AWS 
+ File Grafana dashboard .json nella cartella `grafana`
+ Amazon Managed Workflows for Apache DAGs Airflow 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
<a name="automate-ingestion-and-visualization-of-amazon-mwaa-custom-metrics-best-practices"></a>

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](https://developer.hashicorp.com/terraform/language/state/remote) nella documentazione di Terraform. 

## Epiche
<a name="automate-ingestion-and-visualization-of-amazon-mwaa-custom-metrics-epics"></a>

### Implementa l'infrastruttura utilizzando Terraform
<a name="deploy-the-infrastructure-using-terraform"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Implementa l'infrastruttura. | Per implementare l'infrastruttura della soluzione, procedi come segue:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automate-ingestion-and-visualization-of-amazon-mwaa-custom-metrics.html) | AWS DevOps | 

### Convalida le risorse dell'infrastruttura distribuite
<a name="validate-the-deployed-infrastructure-resources"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Convalida l'ambiente Amazon MWAA. | Per convalidare l'ambiente Amazon MWAA, procedi come segue:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automate-ingestion-and-visualization-of-amazon-mwaa-custom-metrics.html) | 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: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automate-ingestion-and-visualization-of-amazon-mwaa-custom-metrics.html)**Puoi anche vedere le esecuzioni riuscite di ogni DAG nella colonna Runs.**  | Ingegnere dei dati, AWS DevOps | 

### Configura l'ambiente Amazon Managed Grafana
<a name="configure-the-gra-environment"></a>


| Operazione | Description | 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:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automate-ingestion-and-visualization-of-amazon-mwaa-custom-metrics.html) | 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:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automate-ingestion-and-visualization-of-amazon-mwaa-custom-metrics.html)Per ulteriori informazioni, consulta [Estendi il tuo spazio di lavoro con i plugin nella documentazione](https://docs.aws.amazon.com/grafana/latest/userguide/grafana-plugins.html#manage-plugins) di Amazon Managed Grafana. | AWS DevOps, DevOps ingegnere | 

### Visualizza le metriche personalizzate nella dashboard di Amazon Managed Grafana
<a name="visualize-the-custom-metrics-in-the-gra-dashboard"></a>


| Operazione | Description | 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:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automate-ingestion-and-visualization-of-amazon-mwaa-custom-metrics.html)La pagina delle metriche della dashboard mostra le seguenti informazioni:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automate-ingestion-and-visualization-of-amazon-mwaa-custom-metrics.html) | AWS DevOps | 
| Personalizza la dashboard di Amazon Managed Grafana. | Per personalizzare i dashboard per ulteriori miglioramenti futuri, procedi come segue:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automate-ingestion-and-visualization-of-amazon-mwaa-custom-metrics.html)[In alternativa, il codice sorgente di questa dashboard è disponibile nel `dashboard.json` file nella `stacks/infra/grafana` cartella del repository. GitHub ](https://github.com/aws-samples/visualize-amazon-mwaa-custom-metrics-grafana/blob/main/stacks/infra/grafana/dashboard.json) | AWS DevOps | 

### Pulisci AWS le risorse
<a name="clean-up-aws-resources"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Metti in pausa le esecuzioni di Amazon MWAA DAG. | Per mettere in pausa le esecuzioni del DAG, procedi come segue:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automate-ingestion-and-visualization-of-amazon-mwaa-custom-metrics.html) | AWS DevOps, ingegnere dei dati | 
| Elimina gli oggetti nei bucket Amazon S3. | Per eliminare i bucket Amazon S3 **mwaa-events-bucket-\$1 e **mwaa-metrics-bucket-\$1****, segui le istruzioni per l'uso della console Amazon S3 in Eliminazione di [un bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/delete-bucket.html) 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:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automate-ingestion-and-visualization-of-amazon-mwaa-custom-metrics.html) | AWS DevOps | 

## risoluzione dei problemi
<a name="automate-ingestion-and-visualization-of-amazon-mwaa-custom-metrics-troubleshooting"></a>


| Problema | Soluzione | 
| --- | --- | 
| `null_resource.plugin_mgmt (local-exec): aws: error: argument operation: Invalid choice, valid choices are:` | Aggiorna il tuo AWS CLI alla [versione più recente](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html). | 
| Errore durante il caricamento delle fonti di dati - `Fetch error: 404 Not Found Instantiating…` | L'errore è intermittente. Attendi qualche minuto, quindi aggiorna le sorgenti dati per visualizzare l'origine dati Timestream elencata.  | 

## Risorse correlate
<a name="automate-ingestion-and-visualization-of-amazon-mwaa-custom-metrics-resources"></a>

**AWS documentazione**
+ [Amazon Managed Grafana per dashboard e visualizzazione](https://docs.aws.amazon.com/prescriptive-guidance/latest/implementing-logging-monitoring-cloudwatch/amg-dashboarding-visualization.html)
+ [Configura Amazon Managed Grafana per usare Okta](https://docs.aws.amazon.com/grafana/latest/userguide/AMG-SAML-providers-okta.html)
+ [Utilizzalo AWS IAM Identity Center con il tuo spazio di lavoro Amazon Managed Grafana](https://docs.aws.amazon.com/grafana/latest/userguide/authentication-in-AMG-SSO.html)
+ [Lavorare con DAGs Amazon MWAA](https://docs.aws.amazon.com/mwaa/latest/userguide/working-dags.html)

**AWS video**
+ [Configura IAM Identity Center con Amazon Managed Grafana per l'autenticazione, come mostrato nel video seguente.](https://www.youtube.com/watch?v=XX2Xcz-Ps9U)




[https://www.youtube-nocookie.com/embed/XX2Xcz-Ps9U? controlli = 0](https://www.youtube-nocookie.com/embed/XX2Xcz-Ps9U?controls=0)
+ [Se IAM Identity Center non è disponibile, puoi anche integrare l'autenticazione Amazon Managed Grafana utilizzando un provider di identità (IdP) esterno come Okta, come mostrato nel video seguente.](https://www.youtube.com/watch?v=Z4JHxl2xpOg)




[https://www.youtube-nocookie.com/embed/A4 Og? JHxl2xp controlli = 0](https://www.youtube-nocookie.com/embed/Z4JHxl2xpOg?controls=0)

## Informazioni aggiuntive
<a name="automate-ingestion-and-visualization-of-amazon-mwaa-custom-metrics-additional"></a>

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](https://docs.aws.amazon.com/grafana/latest/userguide/alerts-overview.html) 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.](https://github.com/aws-samples/visualize-amazon-mwaa-custom-metrics-grafana) AWS È possibile integrare ulteriormente questo codice con i flussi di lavoro di implementazione dell'infrastruttura.