

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Automatisieren Sie die Erfassung und Visualisierung von benutzerdefinierten Amazon MWAA-Metriken auf Amazon Managed Grafana mithilfe von Terraform
<a name="automate-ingestion-and-visualization-of-amazon-mwaa-custom-metrics"></a>

*Faisal Abdullah und Satya Vajrapu, Amazon Web Services*

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

In diesem Muster wird beschrieben, wie Amazon Managed Grafana verwendet wird, um benutzerdefinierte Metriken zu erstellen und zu überwachen, die von Amazon Managed Workflows for Apache Airflow (Amazon MWAA) aufgenommen werden. Amazon MWAA dient als Orchestrator für Workflows und verwendet Directed Acyclic Graphs (DAGs), die in Python geschrieben sind. Im Mittelpunkt dieses Musters steht die Überwachung benutzerdefinierter Metriken, einschließlich der Gesamtzahl der in der letzten Stunde DAGs ausgeführten und fehlgeschlagenen Vorgänge DAGs pro Stunde sowie der durchschnittlichen Dauer dieser Prozesse. Diese Analyse zeigt, wie Amazon Managed Grafana in Amazon MWAA integriert wird, um eine umfassende Überwachung und Einblicke in die Orchestrierung von Workflows in dieser Umgebung zu ermöglichen.

## Voraussetzungen und Einschränkungen
<a name="automate-ingestion-and-visualization-of-amazon-mwaa-custom-metrics-prereqs"></a>

**Voraussetzungen**
+ Ein aktiver Benutzer AWS-Konto mit den erforderlichen Benutzerberechtigungen, um Folgendes zu erstellen und zu verwalten: AWS-Services
  + AWS Identity and Access Management (IAM) Rollen und Richtlinien
  + AWS Lambda
  + Amazon Managed Grafana
  + Amazon Managed Workflows für Apache Airflow (Amazon MWAA)
  + Amazon Simple Storage Service (Amazon-S3)
  + Amazon Timestream
+ Zugriff auf eine Shell-Umgebung, die ein Terminal auf Ihrem lokalen Computer sein kann oder [AWS CloudShell](https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html).
+ Eine Shell-Umgebung, in der Git installiert und die neueste Version von AWS Command Line Interface (AWS CLI) installiert und konfiguriert ist. Weitere Informationen finden Sie AWS CLI in der AWS CLI Dokumentation unter [Installation oder Aktualisierung auf die neueste Version von](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).
+ Die folgende Terraform-Version ist installiert: `required_version = ">= 1.6.1, < 2.0.0"` Sie können [tfswitch](https://tfswitch.warrensbox.com/) verwenden, um zwischen verschiedenen Versionen von Terraform zu wechseln.
+ Konfigurierte Identitätsquelle für Ihren. AWS IAM Identity Center AWS-Konto Weitere Informationen finden Sie unter [Bestätigen Sie Ihre Identitätsquellen in IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/prereq-identity-sources.html) in der IAM Identity Center-Dokumentation. Sie können zwischen dem Standard IAM-Identity-Center-Verzeichnis, Active Directory oder einem externen Identitätsanbieter (IdP) wie Okta wählen. Weitere Informationen finden Sie unter [Verwandte](#automate-ingestion-and-visualization-of-amazon-mwaa-custom-metrics-resources) Ressourcen.

**Einschränkungen**
+ Einige AWS-Services sind nicht in allen verfügbar AWS-Regionen. Informationen zur Verfügbarkeit in den einzelnen Regionen finden Sie [AWS-Services unter Nach Regionen](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Informationen zu bestimmten Endpunkten finden Sie unter [Dienstendpunkte und Kontingente](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html). Wählen Sie dort den Link für den Dienst aus.

**Produktversionen**
+ Terraform `required_version = ">= 1.6.1, < 2.0.0"`
+ Amazon Managed Grafana Version 9.4 oder höher. Dieses Muster wurde auf Version 9.4 getestet.

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

Das folgende Architekturdiagramm hebt die in der Lösung AWS-Services verwendeten Komponenten hervor.

![\[Workflow zur Automatisierung der Erfassung von benutzerdefinierten Amazon MWAA-Metriken.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/3458d0a9-aee1-428a-bf2f-c357bb531c64/images/b43ed8d2-94ac-4438-913b-81c7eba8f3e0.png)


In der obigen Abbildung wird der folgende Arbeitsablauf schrittweise beschrieben:

1. Benutzerdefinierte Metriken in Amazon MWAA stammen von DAGs denen, die innerhalb der Umgebung ausgeführt werden. Die Metriken werden in einem CSV-Dateiformat in den Amazon S3 S3-Bucket hochgeladen. Im Folgenden werden die Datenbankabfragefunktionen von Amazon MWAA DAGs verwendet:
   + `run-example-dag`— Diese DAG enthält Python-Beispielcode, der eine oder mehrere Aufgaben definiert. Sie läuft alle 7 Minuten und druckt das Datum. Nach dem Drucken des Datums enthält die DAG eine Aufgabe, die Ausführung für eine bestimmte Dauer in den Standbymodus zu versetzen oder anzuhalten.
   + `other-sample-dag`— Diese DAG wird alle 10 Minuten ausgeführt und druckt das Datum. Nach dem Drucken des Datums enthält die DAG eine Aufgabe, bei der die Ausführung für eine bestimmte Dauer in den Ruhezustand versetzt oder unterbrochen wird.
   + `data-extract`— Diese DAG wird stündlich ausgeführt und fragt die Amazon MWAA-Datenbank ab und sammelt Metriken. Nachdem die Metriken erfasst wurden, schreibt diese DAG sie zur weiteren Verarbeitung und Analyse in einen Amazon S3 S3-Bucket.

1. Um die Datenverarbeitung zu optimieren, werden Lambda-Funktionen ausgeführt, wenn sie durch Amazon S3 S3-Ereignisse ausgelöst werden, was das Laden von Metriken in Timestream erleichtert.

1. Timestream ist als Datenquelle in Amazon Managed Grafana integriert, wo alle benutzerdefinierten Metriken von Amazon MWAA gespeichert werden.

1. Benutzer können die Daten abfragen und benutzerdefinierte Dashboards erstellen, um wichtige Leistungsindikatoren zu visualisieren und Einblicke in die Orchestrierung von Workflows innerhalb von Amazon MWAA zu gewinnen.

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

**AWS-Services**
+ [AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)hilft Ihnen dabei, den Single Sign-On (SSO) -Zugriff auf all Ihre Anwendungen und Cloud-Anwendungen zentral zu verwalten. AWS-Konten 
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) ist ein Datenverarbeitungsservice, mit dem Sie Code ausführen können, ohne dass Sie Server bereitstellen oder verwalten müssen. Es führt Ihren Code nur bei Bedarf aus und skaliert automatisch, sodass Sie nur für die tatsächlich genutzte Rechenzeit zahlen. In diesem Muster AWS Lambda wird der Python-Code als Reaktion auf Amazon S3 S3-Ereignisse ausgeführt und die Rechenressourcen automatisch verwaltet.
+ [Amazon Managed Grafana](https://docs.aws.amazon.com/grafana/latest/userguide/what-is-Amazon-Managed-Service-Grafana.html) ist ein vollständig verwalteter Datenvisualisierungsservice, mit dem Sie Ihre Metriken, Logs und Traces abfragen, korrelieren und visualisieren und Warnmeldungen dazu erhalten können. Dieses Muster verwendet Amazon Managed Grafana, um ein Dashboard für die Visualisierung von Kennzahlen und Benachrichtigungen zu erstellen.
+ [Amazon Managed Workflows for Apache Airflow (Amazon MWAA) ist ein](https://docs.aws.amazon.com/mwaa/latest/userguide/what-is-mwaa.html) verwalteter Orchestrierungsservice für Apache Airflow, mit dem Sie Daten-Pipelines in der Cloud in großem Umfang einrichten und betreiben können. [Apache Airflow](https://airflow.apache.org/) ist ein Open-Source-Tool zum programmgesteuerten Erstellen, Planen und Überwachen von Prozess- und Aufgabensequenzen, die als Workflows bezeichnet werden. In diesem Muster werden ein Beispiel DAGs und ein Metrik-Extraktor-DAG in Amazon MWAA bereitgestellt.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) ist ein cloudbasierter Objektspeicherservice, der Sie beim Speichern, Schützen und Abrufen beliebiger Datenmengen unterstützt. In diesem Muster wird Amazon S3 zum Speichern von DAGs Skripten und benutzerdefinierten Metriken im CSV-Format verwendet.
+ [Amazon Timestream for LiveAnalytics](https://docs.aws.amazon.com/timestream/latest/developerguide/what-is-timestream.html) is ist eine schnelle, skalierbare, vollständig verwaltete, speziell entwickelte Zeitreihendatenbank, die es einfach macht, Billionen von Zeitreihendatenpunkten pro Tag zu speichern und zu analysieren. Timestream for lässt sich LiveAnalytics auch in häufig verwendete Dienste für Datenerfassung, Visualisierung und maschinelles Lernen integrieren. In diesem Muster wird es verwendet, um die generierten benutzerdefinierten Amazon MWAA-Metriken aufzunehmen.

**Andere Tools**
+ [HashiCorp Terraform](https://www.terraform.io/docs) ist ein Infrastructure-as-Code-Tool (IaC), mit dem Sie mithilfe von Code Cloud-Infrastruktur und -Ressourcen bereitstellen und verwalten können. Dieses Muster verwendet ein Terraform-Modul, um die Bereitstellung der Infrastruktur in zu automatisieren. AWS

**Code-Repository**

Der Code für dieses Muster ist GitHub im Repository [visualize-amazon-mwaa-custom-metrics-grafana](https://github.com/aws-samples/visualize-amazon-mwaa-custom-metrics-grafana) verfügbar. Der Ordner enthält Folgendes`stacks/Infra`:
+ Terraform-Konfigurationsdateien für alle Ressourcen AWS 
+ Grafana-Dashboard-.json-Datei im Ordner `grafana`
+ Amazon Managed Workflows für Apache Airflow DAGs im Ordner `mwaa/dags`
+ Lambda-Code zum Analysieren der CSV-Datei und zum Speichern von Metriken in der Timestream-Datenbank im Ordner `src`
+ .json-Dateien für IAM-Richtlinien im Ordner `templates`

## Best Practices
<a name="automate-ingestion-and-visualization-of-amazon-mwaa-custom-metrics-best-practices"></a>

Terraform muss den Status Ihrer verwalteten Infrastruktur und Konfiguration speichern, damit es Ihrer Konfiguration reale Ressourcen zuordnen kann. Standardmäßig speichert Terraform den Status lokal in einer Datei mit dem Namen. `terraform.tfstate` Es ist wichtig, die Sicherheit und Integrität Ihrer Terraform-Statusdatei zu gewährleisten, da sie den aktuellen Status Ihrer Infrastruktur beibehält. Weitere Informationen finden Sie unter [Remote State](https://developer.hashicorp.com/terraform/language/state/remote) in der Terraform-Dokumentation. 

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

### Stellen Sie die Infrastruktur mit Terraform bereit
<a name="deploy-the-infrastructure-using-terraform"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Stellen Sie die Infrastruktur bereit. | Gehen Sie wie folgt vor, um die Lösungsinfrastruktur bereitzustellen:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/automate-ingestion-and-visualization-of-amazon-mwaa-custom-metrics.html) | AWS DevOps | 

### Validieren Sie die bereitgestellten Infrastrukturressourcen
<a name="validate-the-deployed-infrastructure-resources"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Validieren Sie die Amazon MWAA-Umgebung. | Gehen Sie wie folgt vor, um die Amazon MWAA-Umgebung zu validieren:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/automate-ingestion-and-visualization-of-amazon-mwaa-custom-metrics.html) | AWS DevOps, Dateningenieur | 
| Überprüfen Sie die DAG-Zeitpläne. | Um die einzelnen DAG-Zeitpläne einzusehen, wechseln Sie in der **Airflow-Benutzeroberfläche** zur Registerkarte **Zeitplan**.Jede der folgenden Optionen DAGs hat einen vorkonfigurierten Zeitplan, der in der Amazon MWAA-Umgebung ausgeführt wird und benutzerdefinierte Metriken generiert: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/automate-ingestion-and-visualization-of-amazon-mwaa-custom-metrics.html)Sie können auch die erfolgreichen Ausführungen der einzelnen DAG in der Spalte **Runs** sehen.  | Dateningenieur, AWS DevOps | 

### Konfigurieren Sie die Amazon Managed Grafana-Umgebung
<a name="configure-the-gra-environment"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Konfigurieren Sie den Zugriff auf den Amazon Managed Grafana-Arbeitsbereich. | Die Terraform-Skripte haben den erforderlichen Amazon Managed Grafana-Arbeitsbereich, die Dashboards und die Metrikseite erstellt. Gehen Sie wie folgt vor, um den Zugriff so zu konfigurieren, dass Sie sie anzeigen können:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/automate-ingestion-and-visualization-of-amazon-mwaa-custom-metrics.html) | AWS DevOps | 
| Installieren Sie das Amazon Timestream Timestream-Plugin.  | Benutzerdefinierte Amazon MWAA-Metriken werden in die Timestream-Datenbank geladen. Sie verwenden das Timestream-Plugin, um die Metriken mit Amazon Managed Grafana-Dashboards zu visualisieren.Gehen Sie wie folgt vor, um das Timestream-Plugin zu installieren:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/automate-ingestion-and-visualization-of-amazon-mwaa-custom-metrics.html)Weitere Informationen finden Sie unter [Erweitern Sie Ihren Workspace mit Plugins](https://docs.aws.amazon.com/grafana/latest/userguide/grafana-plugins.html#manage-plugins) in der Amazon Managed Grafana-Dokumentation. | AWS DevOps, DevOps Ingenieur | 

### Visualisieren Sie die benutzerdefinierten Metriken im Amazon Managed Grafana-Dashboard
<a name="visualize-the-custom-metrics-in-the-gra-dashboard"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Sehen Sie sich das Amazon Managed Grafana-Dashboard an. | Gehen Sie wie folgt vor, um die Metriken anzuzeigen, die in den Amazon Managed Grafana-Workspace aufgenommen wurden:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/automate-ingestion-and-visualization-of-amazon-mwaa-custom-metrics.html)Auf der Seite mit den Dashboard-Metriken werden die folgenden Informationen angezeigt:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/automate-ingestion-and-visualization-of-amazon-mwaa-custom-metrics.html) | AWS DevOps | 
| Passen Sie das Amazon Managed Grafana-Dashboard an. | Gehen Sie wie folgt vor, um die Dashboards für weitere future Verbesserungen anzupassen:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/automate-ingestion-and-visualization-of-amazon-mwaa-custom-metrics.html)Alternativ ist der Quellcode für dieses Dashboard in der `dashboard.json` Datei im `stacks/infra/grafana` Ordner im [GitHub Repository](https://github.com/aws-samples/visualize-amazon-mwaa-custom-metrics-grafana/blob/main/stacks/infra/grafana/dashboard.json) verfügbar. | AWS DevOps | 

### AWS Ressourcen bereinigen
<a name="clean-up-aws-resources"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Unterbrechen Sie die Ausführung der Amazon MWAA-DAG. | Gehen Sie wie folgt vor, um die DAG-Ausführung anzuhalten:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/automate-ingestion-and-visualization-of-amazon-mwaa-custom-metrics.html) | AWS DevOps, Dateningenieur | 
| Löschen Sie die Objekte in den Amazon S3 S3-Buckets. | Um die Amazon S3 S3-Buckets **mwaa-events-bucket-\$1 und **mwaa-metrics-bucket-\$1**** zu löschen, folgen Sie den Anweisungen zur Verwendung der Amazon S3 S3-Konsole unter [Löschen eines Buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/delete-bucket.html) in der Amazon S3 S3-Dokumentation. | AWS DevOps | 
| Zerstöre die von Terraform erstellten Ressourcen. | Gehen Sie wie folgt vor, um die von Terraform erstellten Ressourcen und die zugehörige lokale Terraform-Statusdatei zu löschen:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/automate-ingestion-and-visualization-of-amazon-mwaa-custom-metrics.html) | AWS DevOps | 

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


| Problem | Lösung | 
| --- | --- | 
| `null_resource.plugin_mgmt (local-exec): aws: error: argument operation: Invalid choice, valid choices are:` | Führen Sie ein Upgrade AWS CLI auf die [neueste Version](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) durch. | 
| Fehler beim Laden der Datenquellen - `Fetch error: 404 Not Found Instantiating…` | Der Fehler tritt sporadisch auf. Warten Sie einige Minuten, und aktualisieren Sie dann Ihre Datenquellen, um die aufgelistete Timestream-Datenquelle anzuzeigen.  | 

## Zugehörige Ressourcen
<a name="automate-ingestion-and-visualization-of-amazon-mwaa-custom-metrics-resources"></a>

**AWS Dokumentation**
+ [Amazon Managed Grafana für Dashboarding und Visualisierung](https://docs.aws.amazon.com/prescriptive-guidance/latest/implementing-logging-monitoring-cloudwatch/amg-dashboarding-visualization.html)
+ [Amazon Managed Grafana für die Verwendung von Okta konfigurieren](https://docs.aws.amazon.com/grafana/latest/userguide/AMG-SAML-providers-okta.html)
+ [AWS IAM Identity Center Mit Ihrem Amazon Managed Grafana-Workspace verwenden](https://docs.aws.amazon.com/grafana/latest/userguide/authentication-in-AMG-SSO.html)
+ [Arbeiten mit DAGs auf Amazon MWAA](https://docs.aws.amazon.com/mwaa/latest/userguide/working-dags.html)

**AWS Videos**
+ [Konfigurieren Sie IAM Identity Center mit Amazon Managed Grafana für die Authentifizierung, wie im folgenden Video gezeigt.](https://www.youtube.com/watch?v=XX2Xcz-Ps9U)




[https://www.youtube-nocookie.com/embed/XX2Xcz-Ps9U? Steuerungen=0](https://www.youtube-nocookie.com/embed/XX2Xcz-Ps9U?controls=0)
+ [Wenn IAM Identity Center nicht verfügbar ist, können Sie die Amazon Managed Grafana-Authentifizierung auch mithilfe eines externen Identitätsanbieters (IdP) wie Okta integrieren, wie im folgenden Video gezeigt.](https://www.youtube.com/watch?v=Z4JHxl2xpOg)




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

## Zusätzliche Informationen
<a name="automate-ingestion-and-visualization-of-amazon-mwaa-custom-metrics-additional"></a>

Sie können eine umfassende Überwachungs- und Warnlösung für Ihre Amazon MWAA-Umgebung erstellen, die ein proaktives Management und eine schnelle Reaktion auf potenzielle Probleme oder Anomalien ermöglicht. Amazon Managed Grafana umfasst die folgenden Funktionen:

**Warnung — Sie** können Benachrichtigungen in Amazon Managed Grafana auf der Grundlage vordefinierter Schwellenwerte oder Bedingungen konfigurieren. Richten Sie E-Mail-Benachrichtigungen ein, um relevante Stakeholder zu benachrichtigen, wenn bestimmte Kennzahlen bestimmte Schwellenwerte über- oder unterschreiten. Weitere Informationen finden Sie unter [Grafana-Benachrichtigungen](https://docs.aws.amazon.com/grafana/latest/userguide/alerts-overview.html) in der Amazon Managed Grafana-Dokumentation.

**Integration** — Sie können Amazon Managed Grafana in verschiedene Tools von Drittanbietern wie OpsGenie, oder Slack integrieren PagerDuty, um erweiterte Benachrichtigungsfunktionen zu erhalten. Sie können beispielsweise Webhooks einrichten oder integrieren, APIs um Vorfälle und Benachrichtigungen auf diesen Plattformen auszulösen, die auf in Amazon Managed Grafana generierten Warnungen basieren. Darüber hinaus bietet dieses Muster ein [GitHub Repository](https://github.com/aws-samples/visualize-amazon-mwaa-custom-metrics-grafana) zum Erstellen AWS von Ressourcen. Sie können diesen Code weiter in Ihre Workflows zur Infrastrukturbereitstellung integrieren.