In Teil 2 In dieser Serie haben wir besprochen, wie man es aktiviert AWS-Kleber Job-Beobachtbarkeitsmetriken und integrieren Sie sie mit Grafana für eine Echtzeitüberwachung. Grafana bietet leistungsstarke, anpassbare Dashboards zur Anzeige des Pipeline-Zustands. Um jedoch Trends im Zeitverlauf zu analysieren, aus verschiedenen Dimensionen zu aggregieren und Erkenntnisse im gesamten Unternehmen zu teilen, ist ein speziell entwickeltes Business Intelligence (BI)-Tool wie z Amazon QuickSight kann für Ihr Unternehmen effektiver sein. QuickSight erleichtert Geschäftsanwendern die Visualisierung von Daten in interaktiven Dashboards und Berichten.
In diesem Beitrag erfahren Sie, wie Sie QuickSight mit verbinden Amazon CloudWatch Metriken und erstellen Sie Diagramme, um Trends in den Metriken zur Beobachtbarkeit von AWS Glue-Jobs aufzudecken. Durch die Analyse historischer Muster können Sie die Leistung optimieren, Probleme proaktiv identifizieren und die Planung verbessern. Wir gehen durch die Aufnahme von CloudWatch-Metriken in QuickSight mithilfe eines CloudWatch-Metrikstreams und QuickSight SPICE. Mit dieser Integration können Sie Liniendiagramme, Balkendiagramme und andere Diagrammtypen verwenden, um tägliche, wöchentliche und monatliche Muster aufzudecken. Mit QuickSight können Sie aggregierte Berechnungen für Metriken durchführen, um eine tiefergehende Analyse zu ermöglichen. Sie können Daten nach verschiedenen Dimensionen wie Jobnamen aufteilen, Anomalien erkennen und Berichte sicher im gesamten Unternehmen teilen. Mit diesen Erkenntnissen haben Teams die nötige Transparenz, um Datenintegrationspipelines effizienter zu gestalten.
Lösungsüberblick
Das folgende Architekturdiagramm veranschaulicht den Workflow zur Implementierung der Lösung.
Der Workflow umfasst die folgenden Schritte:
- AWS Glue-Jobs geben Beobachtbarkeitsmetriken an CloudWatch-Metriken aus.
- CloudWatch streamt Metrikdaten über einen Metrik-Stream in Amazon Data Firehose.
- Data Firehose verwendet eine AWS Lambda Funktion zum Transformieren von Daten und zum Aufnehmen der transformierten Datensätze in eine Amazon Simple Storage-Service (Amazon S3) Eimer.
- Ein AWS Glue-Crawler scannt Daten im S3-Bucket und füllt Tabellenmetadaten im AWS Glue-Datenkatalog auf.
- QuickSight wird regelmäßig ausgeführt Amazonas Athena Abfragen, um Abfrageergebnisse in SPICE zu laden und dann die neuesten Metrikdaten zu visualisieren.
Alle Ressourcen werden in einem Beispiel definiert AWS Cloud-Entwicklungskit (AWS CDK)-Vorlage. Sie können die End-to-End-Lösung einsetzen, um Trends der Beobachtbarkeitsmetriken zu visualisieren und zu analysieren.
Beispiel-AWS-CDK-Vorlage
Dieser Beitrag stellt eine AWS CDK-Beispielvorlage für ein Dashboard bereit, das AWS Glue-Beobachtbarkeitsmetriken verwendet.
Normalerweise verfügen Sie über mehrere Konten, um Ressourcen für Ihre Datenpipeline zu verwalten und auszuführen.
In dieser Vorlage gehen wir von folgenden Konten aus:
- Überwachungskonto – Hier werden der zentrale S3-Bucket, der zentrale Datenkatalog und QuickSight-bezogene Ressourcen gehostet
- Quellkonto – Hier werden einzelne Datenpipeline-Ressourcen auf AWS Glue und die Ressourcen zum Senden von Metriken an das Überwachungskonto gehostet
Die Vorlage funktioniert auch dann, wenn das Überwachungskonto und das Quellkonto identisch sind.
Diese Beispielvorlage besteht aus vier Stapeln:
- Amazon S3-Stack – Dadurch wird der S3-Bucket bereitgestellt
- Datenkatalog-Stapel – Dadurch werden die AWS Glue-Datenbank, -Tabelle und der Crawler bereitgestellt
- QuickSight-Stack – Dadurch werden die QuickSight-Datenquelle, der Datensatz und die Analyse bereitgestellt
- Metrik-Sender-Stack – Dadurch werden der CloudWatch-Metrikstrom, der Firehose-Bereitstellungsstrom und die Lambda-Funktion für die Transformation bereitgestellt
Voraussetzungen:
Folgende Voraussetzungen sollten Sie mitbringen:
- Python 3.9 oder höher
- AWS-Konten für das Überwachungskonto und das Quellkonto
- An Von AWS benanntes Profil für das Überwachungskonto und das Quellkonto
- Das AWS CDK-Toolkit 2.87.0 oder höher
Initialisieren Sie das CDK-Projekt
Um das Projekt zu initialisieren, führen Sie die folgenden Schritte aus:
- Klonen Sie die CDK-Vorlage zu Ihrem Arbeitsplatz:
- Erstellen Sie eine Python virtuelle Umgebung spezifisch für das Projekt auf dem Client-Rechner:
Wir verwenden eine virtuelle Umgebung, um die Python-Umgebung für dieses Projekt zu isolieren und Software nicht global zu installieren.
- Aktivieren Sie die virtuelle Umgebung entsprechend Ihrem Betriebssystem:
- Verwenden Sie unter MacOS und Linux den folgenden Code:
- Verwenden Sie auf einer Windows-Plattform den folgenden Code:
Nach diesem Schritt werden die nachfolgenden Schritte innerhalb der Grenzen der virtuellen Umgebung auf dem Clientcomputer ausgeführt und interagieren nach Bedarf mit dem AWS-Konto.
- Installieren Sie die erforderlichen Abhängigkeiten, die in beschrieben sind requirements.txt zur virtuellen Umgebung:
- Bearbeiten Sie die Konfigurationsdatei
default-config.yaml
basierend auf Ihren Umgebungen (ersetzen Sie jede Konto-ID durch Ihre eigene).
Bootstrap Ihrer AWS-Umgebungen
Führen Sie die folgenden Befehle aus, um Ihre AWS-Umgebungen zu booten:
- Geben Sie im Überwachungskonto Ihre Überwachungskontonummer, AWS-Region und Ihr Überwachungsprofil an:
- Geben Sie im Quellkonto Ihre Quellkontonummer, Ihre Region und Ihr Quellprofil an:x
Wenn Sie nur ein Konto für alle Umgebungen verwenden, können Sie einfach das ausführencdk bootstrap
Befehl einmal.
Stellen Sie Ihre AWS-Ressourcen bereit
Führen Sie die folgenden Befehle aus, um Ihre AWS-Ressourcen bereitzustellen:
- Führen Sie den folgenden Befehl mit dem Überwachungskonto aus, um in der AWS CDK-Vorlage definierte Ressourcen bereitzustellen:
- Führen Sie den folgenden Befehl mit dem Quellkonto aus, um in der AWS CDK-Vorlage definierte Ressourcen bereitzustellen:
Konfigurieren Sie QuickSight-Berechtigungen
Zunächst sind die neuen QuickSight-Ressourcen, einschließlich des von der AWS CDK-Vorlage erstellten Datensatzes und der Analyse, für Sie nicht sichtbar, da noch keine QuickSight-Berechtigungen konfiguriert sind.
Um den Datensatz und die Analyse für Sie sichtbar zu machen, führen Sie die folgenden Schritte aus:
- Navigieren Sie auf der QuickSight-Konsole zum Benutzermenü und wählen Sie aus QuickSight verwalten.
- Wählen Sie im Navigationsbereich Assets verwalten.
- Der Durchsuchen Sie Assets, wählen Analyse.
- Suchen Sie nach GlueObservabilityAnalysis und wählen Sie es aus.
- Auswählen TEILEN.
- Aussichten für Benutzer oder Gruppe, wählen Sie Ihren Benutzer aus und wählen Sie dann TEILEN (1).
- Warten Sie, bis die Freigabe abgeschlossen ist, und wählen Sie dann aus DONE.
- Auf dem Assets verwalten Seite wählen Datensätze.
- Suchen Sie nach observability_demo.metrics_data und wählen Sie es aus.
- Auswählen TEILEN.
- Aussichten für Benutzer oder Gruppe, wählen Sie Ihren Benutzer aus und wählen Sie dann TEILEN (1).
- Warten Sie, bis die Freigabe abgeschlossen ist, und wählen Sie dann aus DONE.
Entdecken Sie die standardmäßige QuickSight-Analyse
Jetzt sind Ihre QuickSight-Analyse und Ihr Datensatz für Sie sichtbar. Sie können zur QuickSight-Konsole zurückkehren und unter „GlueObservabilityAnalysis“ auswählen Analyse. Der folgende Screenshot zeigt Ihr Dashboard.
Die Probenanalyse verfügt über zwei Registerkarten: Netzwerk Performance und Blog. Standardmäßig ist der Netzwerk Performance Die Registerkarte enthält die folgenden Diagramme:
- [Zuverlässigkeit] Aufschlüsselung der Jobausführungsfehler
- [Zuverlässigkeit] Jobausführungsfehler (Gesamt)
- [Leistung] Skewness-Job
- [Leistung] Schiefe Job pro Job
- [Ressourcenauslastung] Arbeiterauslastung
- [Ressourcenauslastung] Arbeiterauslastung pro Job
- [Durchsatz] BytesRead, RecordsRead, FilesRead, PartitionRead (Durchschn.)
- [Durchsatz] BytesWritten, RecordsWritten, FilesWritten (Durchschnitt)
- [Ressourcenauslastung verfügbarer Datenträger in GB (Min.)“
- [Ressourcenauslastung Max. genutzter Datenträger % (Max)
- [Treiber-OOM] OOM-Fehleranzahl
- [Treiber-OOM] Max. genutzter Heap-Speicher % (Max)
- [Executor OOM] OOM-Fehleranzahl
- [Executor OOM] Maximal genutzter Heap-Speicher % (Max)
Standardmäßig ist die Blog Die Registerkarte bietet folgende Erkenntnisse:
- Arbeitskräfteauslastung auf der untersten Stufe
- Bestbewerteter Skewness-Job
- Prognose der Arbeitskräfteauslastung
- Top Mover readBytes
Sie können mithilfe der Beobachtbarkeitsmetriken basierend auf Ihren Anforderungen beliebige neue Diagramme oder Erkenntnisse hinzufügen.
Veröffentlichen Sie das QuickSight-Dashboard
Wenn die Analyse fertig ist, führen Sie die folgenden Schritte aus, um das Dashboard zu veröffentlichen:
- Auswählen VERÖFFENTLICHEN.
- Auswählen Neues Dashboard veröffentlichen alsund gib ein
GlueObservabilityDashboard
. - Auswählen Dashboard veröffentlichen.
Anschließend können Sie das Dashboard anzeigen und teilen.
Visualisieren und analysieren Sie mit AWS Glue Job-Beobachtbarkeitsmetriken
Nutzen wir das Dashboard, um die Nutzung von AWS Glue leistungsfähiger zu machen.
Mit Blick auf die Schiefe Job pro Job Visualisierung gab es am 1. November 2023 einen Anstieg. Die Skewness-Metriken der Job-Multistage-Demo zeigten 9.53, was deutlich höher ist als bei anderen.
Schauen wir uns die Details genauer an. Du kannst wählen Steuergriffeund ändern Sie die Filterbedingungen basierend auf Datum und Uhrzeit, Region, AWS-Konto-ID, AWS Glue-Auftragsname, Auftragsausführungs-ID sowie Quelle und Senke der Datenspeicher. Lassen Sie uns zunächst nach dem Jobnamen „multistage-demo“ filtern.
Die gefiltert Arbeitskräfteauslastung pro Job Die Visualisierung zeigt 0.5 und der Mindestwert betrug 0.16. Es scheint, als gäbe es Raum für Verbesserungen bei der Ressourcennutzung. Diese Beobachtung hilft Ihnen, die automatische Skalierung für diesen Job zu aktivieren, um die Worker-Auslastung zu erhöhen.
Aufräumen
Führen Sie die folgenden Befehle aus, um Ihre AWS-Ressourcen zu bereinigen:
- Führen Sie den folgenden Befehl mit dem Überwachungskonto aus, um Ressourcen zu bereinigen:
Führen Sie den folgenden Befehl mit dem Quellkonto aus, um Ressourcen zu bereinigen:
Überlegungen
Die QuickSight-Integration ist auf Analyse und bessere Flexibilität ausgelegt. Sie können Metriken basierend auf beliebigen Feldern aggregieren. Wenn Sie viele Aufträge gleichzeitig bearbeiten, helfen Ihnen die QuickSight-Einblicke dabei, problematische Aufträge zu identifizieren.
Die QuickSight-Integration wird mit mehr Ressourcen in Ihren Umgebungen erreicht. Das Überwachungskonto benötigt eine AWS Glue-Datenbank, eine Tabelle, einen Crawler und einen S3-Bucket sowie die Möglichkeit, Athena-Abfragen auszuführen, um Metriken in QuickSight zu visualisieren. Jedes Quellkonto muss über einen Metrik-Stream und einen Firehose-Bereitstellungs-Stream verfügen. Dadurch können zusätzliche Kosten entstehen.
Alle erforderlichen Ressourcen werden im AWS CDK als Vorlage bereitgestellt.
Zusammenfassung
In diesem Beitrag haben wir untersucht, wie man AWS Glue-Auftragsbeobachtbarkeitsmetriken auf QuickSight mithilfe von CloudWatch-Metrikstreams und SPICE visualisiert und analysiert. Durch die Verbindung der neuen Observability-Metriken mit interaktiven QuickSight-Dashboards können Sie tägliche, wöchentliche und monatliche Muster erkennen, um die Nutzung von AWS Glue-Jobs zu optimieren. Mit den umfangreichen Visualisierungsfunktionen von QuickSight können Sie Trends bei Metriken wie Mitarbeiterauslastung, Fehlerkategorien, Durchsatz und mehr analysieren. Das Aggregieren von Metriken und das Aufteilen der Daten nach verschiedenen Dimensionen, wie z. B. dem Jobnamen, kann tiefere Erkenntnisse liefern.
Das Beispiel-Dashboard zeigte Metriken im Zeitverlauf, Top-Fehler und vergleichende Jobanalysen. Diese Visualisierungen und Berichte können sicher mit Teams im gesamten Unternehmen geteilt werden. Mit datengesteuerten Einblicken in die AWS Glue-Beobachtbarkeitsmetriken erhalten Sie tiefere Einblicke in Leistungsengpässe, häufige Fehler und mehr.
Über die Autoren
Noritaka Sekiyama ist Principal Big Data Architect im AWS Glue-Team. Er ist verantwortlich für die Erstellung von Softwareartefakten zur Unterstützung von Kunden. In seiner Freizeit fährt er gerne Rad mit seinem neuen Rennrad.
Chuhan Liu ist Softwareentwicklungsingenieur im AWS Glue-Team. Seine Leidenschaft gilt dem Aufbau skalierbarer verteilter Systeme für die Verarbeitung, Analyse und Verwaltung großer Datenmengen. In seiner Freizeit spielt er gerne Tennis.
XiaoRun Yu ist Softwareentwicklungsingenieur im AWS Glue-Team. Er arbeitet an der Entwicklung neuer Funktionen für AWS Glue, um Kunden zu helfen. Außerhalb der Arbeit erkundet Xiaorun gerne neue Orte in der Bay Area.
Sean Ma ist Hauptproduktmanager im AWS Glue-Team. Er verfügt über eine Erfolgsgeschichte von mehr als 18 Jahren in der Innovation und Bereitstellung von Unternehmensprodukten, die Benutzern das Potenzial von Daten erschließen. Außerhalb der Arbeit liebt Sean Tauchen und College-Football.
Mohit Saxena ist Senior Software Development Manager im AWS Glue-Team. Sein Team konzentriert sich auf den Aufbau verteilter Systeme, um Kunden mit interaktiven und einfach zu bedienenden Schnittstellen die effiziente Verwaltung und nahtlose Transformation von Petabytes an Daten über Data Lakes auf Amazon S3, Datenbanken und Data Warehouses in der Cloud zu ermöglichen.
- SEO-gestützte Content- und PR-Distribution. Holen Sie sich noch heute Verstärkung.
- PlatoData.Network Vertikale generative KI. Motiviere dich selbst. Hier zugreifen.
- PlatoAiStream. Web3-Intelligenz. Wissen verstärkt. Hier zugreifen.
- PlatoESG. Kohlenstoff, CleanTech, Energie, Umwelt, Solar, Abfallwirtschaft. Hier zugreifen.
- PlatoHealth. Informationen zu Biotechnologie und klinischen Studien. Hier zugreifen.
- Quelle: https://aws.amazon.com/blogs/big-data/enhance-monitoring-and-debugging-for-aws-glue-jobs-using-new-job-observability-metrics-part-3-visualization-and-trend-analysis-using-amazon-quicksight/