Zephyrnet-Logo

Stellen Sie Amazon QuickSight-Dashboards bereit, um AWS Glue ETL-Auftragsmetriken zu überwachen und Alarme festzulegen | Amazon Web Services

Datum:

Unabhängig von der Branche oder dem Reifegrad von AWS benötigen unsere Kunden einen besseren Einblick in ihre AWS-Kleber Verwendung. Eine bessere Transparenz kann zu einer Steigerung der betrieblichen Effizienz, fundierten Geschäftsentscheidungen und mehr Transparenz über Ihren Return on Investment (ROI) führen, wenn Sie die verschiedenen über AWS Glue verfügbaren Funktionen nutzen.

Wenn Ihr Unternehmen wächst, sollten Sie in der Lage sein, einfache Fragen zu Ihrer AWS Glue-Nutzung zu beantworten, wie zum Beispiel die folgenden:

  • Wo gebe ich mit AWS Glue am meisten aus?
  • Wo kann ich am meisten sparen, indem ich die neuen AWS Glue-Funktionen nutze?
  • Wie sieht meine Gesamtnutzung mit AWS Glue aus?

AWS bietet Dienste wie Amazon QuickSight, Ein serverloser Business-Intelligence-Dienst (BI), mit dem Sie diese Ansicht zentralisieren und sogar Fragen zu Ihren Daten in natürlicher Sprache stellen können Amazon QuickSightQ. QuickSight kann Unternehmensleitern und ihren Technologiekollegen eine gemeinsame Landschaft für die Berichterstattung über wichtige Details ihrer Nutzung bieten und so bereitstellen Automatisierte Erzählungen Kommunikationslücken zu schließen.

In diesem Beitrag untersuchen wir, wie Sie mithilfe von QuickSight AWS Glue-Nutzungsinformationen und -metriken mit zentralisierter Berichterstellung und Visualisierung kombinieren können. Dies kann Ihnen einen umfassenderen Überblick über Ihre Nutzung und Tools bieten, die Ihnen dabei helfen, tief in Ihre AWS Glue-Auftragsausführungsumgebung einzutauchen. In der AWS Glue-Konsole sind für jeden ausgeführten Auftrag Metriken verfügbar, diese decken jedoch nicht alle verfügbaren AWS Glue-Auftragsmetriken ab und die visuelle Darstellung ist im Vergleich zum QuickSight-Dashboard nicht so interaktiv.

Obwohl wir uns in diesem Beitrag nicht mit der Kostenoptimierung Ihrer Jobs befassen, können Sie darauf verweisen Überwachen und optimieren Sie die Kosten für AWS Glue für Apache Spark Erfahren Sie, wie Sie Ihre AWS Glue-Jobs im Hinblick auf Leistung, Effizienz und Kostenoptimierung optimieren können.

Lass uns eintauchen!

Lösungsüberblick

Das folgende Diagramm veranschaulicht die Architektur für die gegebene Lösung. Auf hoher Ebene löst ein geplantes Ereignis einen Orchestrierungsfluss aus, der aus mehreren Daten-, Rechen- und Analyseressourcen besteht – dessen Ausgabe in einer Reihe von visuellen Darstellungen in einem BI-Dashboard gipfelt.

Lösungsarchitektur

Schauen wir uns nun die technischen Details dieser Lösung an.

An AWS Step-Funktionen Der Workflow soll einmal pro Stunde ausgeführt werden Amazon EventBridge, was eine auslöst AWS Lambda Funktion, die AWS Glue aufruft GetJob und GetJobRun APIs. Wir analysieren diese Daten, um nach Aufträgen zu suchen, die in der letzten Stunde erfolgreich waren, gestoppt wurden oder fehlgeschlagen sind, sowie nach Streaming-Aufträgen. Die Metadaten werden aus jeder Jobausführung extrahiert, einschließlich Informationen wie Laufzeit, Startzeit, Endzeit, automatische Skalierung, Anzahl der Worker und Worker-Typ, und in einen geschrieben Amazon DynamoDB Tabelle mit aktivierter TTL (Time to Live), um sicherzustellen, dass die Tabelle nicht zu groß wird.

Wir wechseln in einen Parallelzustand, um zwei Tabellen zu überprüfen Amazonas Athena schreibt die Ausgabe der föderierte Abfragen Zu. Athena prüft zunächst, ob die Tabellen vorhanden sind Amazon Simple Storage-Service (Amazon S3), wo die Daten gespeichert werden. Wenn die Tabellen nicht vorhanden sind, erstellt Athena sie. Eine föderierte Abfrage sammelt AWS Glue-Metrikdaten von Amazon CloudWatch Metriken; der andere sammelt Daten aus der DynamoDB-Tabelle, in die Lambda die erfassten AWS Glue-Job-Metadaten schreibt. Beide Verbundabfragen verwenden geeignete Filterung, um nur die erforderlichen Daten aus jeder Quelle zu scannen.

Für jeden Zweig gibt es einen Auswahlstatus. Wenn einer Tabelle in Amazon S3 keine neuen Daten hinzugefügt werden müssen, endet der Status und wartet auf den Abschluss des anderen. Beispielsweise könnte ein AWS Glue-Job ausgeführt werden, während der Schritt ausgewertet wird. In diesem Fall würden die Metriken für den Job in die Tabelle auf Amazon S3 eingefügt, aber die Metadaten von DynamoDB würden erst in der folgenden Stunde eintreffen, nachdem der Job erfolgreich war, gestoppt wurde oder fehlgeschlagen ist.

Wenn neue Metriken oder Metadaten gefunden werden, fügt Athena diese Daten in die Metriken oder Metadatentabellen in Amazon S3 ein, die beide stundenweise partitioniert sind. Nachdem die Daten eingefügt wurden, rufen die letzten Schritte die auf QuickSight CreateIngestion-API, was die Datenaufnahme in QuickSight auslöst SPICE um interaktive Analysen zu ermöglichen. Zu diesem Zeitpunkt ist die Ausführung des Workflows abgeschlossen und wird in der folgenden Stunde erneut ausgeführt.

In den folgenden Abschnitten zeigen wir Ihnen, wie Sie die Lösung einrichten, die Dashboards erkunden und Alarme konfigurieren.

Den Code für diese Lösung finden Sie unter AWS-Beispiele für das GitHub-Repository.

Voraussetzungen:

Folgende Voraussetzungen sollten Sie mitbringen:

  • Ein AWS-Konto mit AWS Identity and Access Management and (IAM)-Berechtigungen, die zum Erstellen der Lösungsressourcen ausreichen
  • QuickSight Standard oder Enterprise Edition mit einem erstellten QuickSight-Benutzer
  • An AWS Cloud9 integrierte Entwicklungsumgebung (IDE) oder Ihren lokalen Computer mit Ihrer bevorzugten IDE mit den folgenden installierten Paketen:
  • Das AWS Cloud-Entwicklungskit (AWS-CDK) bootstrapped in Ihrem AWS-Zielkonto und Ihrer Zielregion

Stellen Sie Lösungsressourcen mit dem AWS CDK bereit

Um die Ressourcen bereitzustellen, die das Dashboard erstellen, und um es auf dem neuesten Stand zu halten, stellen wir Schritte zum Herunterladen und Bereitstellen der Lösung über das AWS CDK bereit. Bei der Entwicklung der Lösung stand die Kostenoptimierung im Vordergrund, für einige Ressourcen im Stack fallen jedoch nach der Bereitstellung Kosten an.

Diese Lösung generiert die folgenden Ressourcen:

  • IAM-Rolle
  • EventBridge-Regel
  • Schritt Funktionen Zustandsmaschine
  • Lambda-Funktion
  • S3-Eimer
  • Zwei AWS Glue-Tabellen und eine AWS Glue-Datenbank
  • DynamoDB-Tabelle
  • Von Step Functions aufgerufene Athena-Abfragen
  • QuickSight-Datenquelle, Datensatz, Analyse und Dashboard

Führen Sie die folgenden Schritte aus, um die Lösung bereitzustellen:

  1. Klonen Sie den Quellcode von AWS-Beispiele für das GitHub-Repository an den Client:
    git clone https://github.com/aws-samples/glue-metrics-in-quicksight

  2. Bootstrap Ihrer AWS CDK-App:
    cd glue-metrics-in-quicksight
    npm i aws-cdk-lib
    cdk bootstrap

  3. Stellen Sie die Lösung mit den erforderlichen Parametern bereit:
    1. Der erste Parameter dient der Erstellung eines neuen S3-Buckets, der die AWS Glue-Metriken und -Metadaten enthält.
    2. Der zweite Parameter ist erforderlich, damit QuickSight dem Benutzer, der die Assets verwalten wird, Berechtigungen zuweisen kann. Beziehen auf Verwalten des Benutzerzugriffs in Amazon QuickSight um Ihre vorhandenen QuickSight-Benutzer zu finden.
      cdk deploy --parameters BucketName=New-Unique-Bucket-Name --parameters QuicksightUsername=QuickSight-Existing-User

Wenn Ihre Bereitstellung fehlschlägt, stellen Sie sicher, dass Sie die AWS CDK-Bibliothek installiert haben, und führen Sie sie erneut aus cdk deploy nach der Installation:

npm i aws-cdk-lib

Die Bereitstellung kann bis zu 10 Minuten dauern.

Nachdem die Lösung bereitgestellt wurde, wertet die Step Functions-Zustandsmaschine einmal pro Stunde aus, ob Daten in QuickSight aufgenommen werden sollen. Sie können nach der Bereitstellung des Stacks einige AWS Glue-Aufträge ausführen und in den nächsten ein bis zwei Stunden das QuickSight-Dashboard überprüfen, wo die Auftragsmetadaten und -metriken für Ihre Analyse eingetragen werden.

Entdecken Sie das Dashboard

Das Dashboard enthält zwei Blätter: Klebearbeiten und Klebermetriken.

Das Klebearbeiten Das Blatt enthält alle Metadaten zu Ihren AWS Glue-Auftragsausführungen, einschließlich AWS Glue für Apache Spark, AWS Glue für Ray und AWS Glue-Streaming-ETL. Die meisten Visuals verfügen außerdem über eine Hierarchie, in die Sie mit QuickSight einen Drilldown durchführen können, und zwar bis hinunter zur einzelnen spezifischen Auftragslauf-ID. Mithilfe von Steuerelementen können Sie nach Datum, Jobname und Joblauf-ID filtern.

In der folgenden Demonstration sehen Sie die Pivot-Tabelle, die eine einfache Ansicht aller unserer Job-Metadaten ist, einschließlich der geschätzten Kosten pro Job und Job-Lauf. Wir öffnen einen Jobnamen und sehen die verschiedenen Jobläufe. Es gibt einen einzelnen Joblauf, dessen Metriken wir überprüfen möchten, also wählen wir den Jobnamen aus und wählen ihn aus Metriken für Jobausführungs-ID anzeigen:. Dies führt uns zum Klebermetriken Arbeitsblatt und filtern Sie automatisch nach der Job-Lauf-ID, die wir anzeigen möchten.

Informationsblatt zum Kleben

Das Klebermetriken Das Blatt ist so aufgebaut, dass es die von uns bereitgestellte Dokumentation widerspiegelt AWS Glue-Ressourcenüberwachung. Diese Dokumentation hilft bei der Erläuterung der einzelnen visuellen Elemente im Dashboard. Du kannst den ... benutzen Klebermetriken -Blatt, um aggregierte Metriken für alle Jobs, einen einzelnen Job oder bis zur Job-Lauf-ID anzuzeigen.

Um die zu bevölkern Klebermetriken Im Arbeitsblatt müssen Ihre AWS Glue-Aufträge aktiviert sein Erfassen Sie Metriken in CloudWatch.

Klebemaßblatt

Richten Sie Warnungen ein

Benachrichtigungen einrichten Die Messung von Maßen ist in QuickSight ebenfalls unkompliziert möglich. Wählen Sie dazu eine der verfolgten Kennzahlen auf einem der Arbeitsblätter aus (klicken Sie mit der rechten Maustaste) und wählen Sie Alarm erstellen. Dadurch gelangen Sie zur Konfigurationsseite, auf der Sie die Metrik einrichten können, über die Sie benachrichtigt werden möchten.

Schnellsichtalarm

Das Dashboard soll Ihnen die Freiheit geben, es zu ändern und Ihre eigenen Visualisierungen mit den Metadaten und Metriken zu erstellen, die Ihnen zur Verfügung gestellt werden. Wenn Sie noch mehr Einblick in die Kosten wünschen, sollten Sie die Bereitstellung in Betracht ziehen CUDOS-Dashboard wie gut!

Aufräumen

Wenn Sie das Dashboard nicht mehr benötigen, Löschen Sie die CDK-App:

cdk destroy

Zusammenfassung

In diesem Beitrag haben wir darüber gesprochen, wie wichtig die Beobachtbarkeit Ihrer AWS Glue-Jobs ist, und eine AWS CDK-App bereitgestellt, die ein QuickSight-Dashboard für Sie bereitstellt. Wir hoffen, dass dies Ihnen dabei hilft, Ihre AWS Glue-Umgebung mithilfe der Erkenntnisse, die das Dashboard bietet, zu optimieren. Weitere Informationen zur ereignisbasierten Warnung für Ihre AWS Glue für Apache Spark- und Ray-Jobs finden Sie unter Automatisieren Sie Warnmeldungen und Berichte zur Ressourcennutzung von AWS Glue-Jobs.


Über die Autoren

Michael Hamilton ist Senior Analytics Solutions Architect und konzentriert sich darauf, Unternehmenskunden im Südosten bei der Modernisierung und Vereinfachung ihrer Analyse-Workloads auf AWS zu unterstützen. Er fährt gerne Mountainbike und verbringt in seiner Freizeit gerne Zeit mit seiner Frau und seinen drei Kindern.

Cody Penta ist Lösungsarchitekt bei Amazon Web Services und hat seinen Sitz in Charlotte, NC. Sein Schwerpunkt liegt auf Sicherheit und CDK und er hat Spaß daran, die wirklich schwierigen Probleme in der Technologiewelt zu lösen. Außerhalb seiner Freizeit liebt er es, in den Bergen zu entspannen, persönliche Projekte zu programmieren und zu spielen.

Angus Ferguson ist ein Lösungsarchitekt bei AWS, dessen Leidenschaft es ist, Kunden auf der ganzen Welt zu treffen und ihnen bei der Lösung ihrer technischen Herausforderungen zu helfen. Angus ist auf Daten und Analysen mit Schwerpunkt auf Kunden in der Finanzdienstleistungsbranche spezialisiert.

spot_img

Neueste Intelligenz

spot_img