DataSunrise erreicht AWS DevOps Kompetenz Status in AWS DevSecOps und Überwachung, Protokollierung, Performance

Wie man Redshift STL Ansichten zur Protokollierung und Überwachung verwendet

Wie man Redshift STL Ansichten zur Protokollierung und Überwachung verwendet

Einführung

Wenn Sie mit Amazon Redshift arbeiten, ist es wichtig, die Abfrageausführung zu überwachen und die Systemaktivität zu beobachten. Dies hilft Ihnen, die Leistung zu verbessern, Probleme zu beheben und einen reibungslosen Betrieb sicherzustellen. Dies hilft Ihnen, die Leistung zu optimieren, Fehler zu beheben und einen störungsfreien Betrieb zu gewährleisten. Glücklicherweise stellt Redshift eine leistungsstarke Sammlung von Systemtabellen und -ansichten (STL) bereit, mit denen Sie detaillierte Informationen zu Abfragen, Verbindungen und verschiedenen Systemmetriken abrufen können.

In diesem Artikel tauchen wir in die Grundlagen der Redshift STL Ansichten ein und konzentrieren uns dabei auf stl_query, stl_connection_log und weitere wesentliche Ansichten zur Protokollierung und Überwachung.

Was sind Redshift STL Ansichten?

Redshift Systemtabellen und -ansichten (STL) sind eine Sammlung integrierter Ansichten, die Informationen über die internen Abläufe des Redshift-Clusters speichern. Diese Ansichten bieten wertvolle Einblicke in die Abfrageausführung, Systemleistung, Ressourcennutzung und vieles mehr. Durch Abfragen der STL Ansichten können Sie ein tiefes Verständnis dafür gewinnen, wie Ihre Abfragen ausgeführt werden, Engpässe identifizieren und fundierte Entscheidungen zur Optimierung Ihrer Redshift-Workloads treffen. Redshift generiert STL-Systemansichten aus Logdateien.

Erkundung der stl_query Ansicht

Eine der am häufigsten verwendeten STL Ansichten ist die stl_query. Diese Ansicht enthält einen Datensatz jeder auf dem Redshift-Cluster ausgeführten Abfrage, zusammen mit detaillierten Informationen zu jeder Abfrage. Sehen wir uns genauer an, wie stl_query für Protokollierung und Analyse verwendet wird.

Abfragen von stl_query

Um auf die in stl_query gespeicherten Informationen zuzugreifen, können Sie eine einfache SELECT-Anweisung ausführen. Hier ist ein Beispiel:

SELECT query, starttime, endtime, elapsed, aborted
FROM stl_query
ORDER BY starttime DESC
LIMIT 10;

Diese Abfrage ruft die letzten 10 auf dem Redshift-Cluster ausgeführten Abfragen ab, zusammen mit deren Startzeit, Endzeit, verstrichener Zeit und der Angabe, ob sie abgebrochen wurden. Das Ergebnis gibt Ihnen einen schnellen Überblick über die jüngste Abfrageaktivität.

Analyse der Abfrageleistung

Wenn Sie tiefer in die stl_query Ansicht eintauchen, können Sie wertvolle Einblicke in die Abfrageleistung gewinnen. Beispielsweise können Sie lang laufende Abfragen durch Filterung der Spalte “elapsed” identifizieren:

SELECT query, elapsed, substring(querytxt, 1, 50) as query_snippet
FROM stl_query
WHERE elapsed > 60000 -- Abfragedauer in Millisekunden
ORDER BY elapsed DESC;

Diese Abfrage ruft Abfragen ab, die länger als 60 Sekunden zur Ausführung benötigten, zusammen mit einem Ausschnitt des Abfragetextes. Durch die Analyse dieser langsamen Abfragen können Sie Leistungsengpässe identifizieren und Ihre SQL-Anweisungen entsprechend optimieren.

Überwachung von Verbindungen mit der stl_connection_log Ansicht

Eine weitere wichtige STL Ansicht für die Protokollierung ist die stl_connection_log. Diese Ansicht protokolliert Informationen über Client-Verbindungen zum Redshift-Cluster, einschließlich Start- und Endzeiten der Verbindungen, Benutzernamen und Client-IP-Adressen. Sehen wir uns an, wie Sie stl_connection_log zur Überwachung von Verbindungen verwenden können.

Abfragen von stl_connection_log

Um das Verbindungsprotokoll anzuzeigen, können Sie eine einfache SELECT-Abfrage auf stl_connection_log ausführen:

SELECT username, starttime, endtime, duration, remotehost, remoteport
FROM stl_connection_log
ORDER BY starttime DESC
LIMIT 10;

Diese Abfrage ruft die letzten 10 Verbindungen zum Redshift-Cluster ab, einschließlich des Benutzernamens, der Startzeit, Endzeit, Dauer, des Remote-Hosts und des Remote-Ports. Durch die Überwachung des Verbindungsprotokolls können Sie Benutzeraktivitäten verfolgen und verdächtige oder unautorisierte Verbindungen identifizieren.

Analyse von Verbindungsmustern

Sie können stl_connection_log auch verwenden, um Verbindungsmuster zu analysieren und potenzielle Probleme zu identifizieren. Beispielsweise können Sie die Anzahl der Verbindungen pro Benutzer zählen:

SELECT username, COUNT(*) as connection_count
FROM stl_connection_log
GROUP BY username
ORDER BY connection_count DESC;

Diese Abfrage verschafft Ihnen einen Überblick über die Anzahl der von jedem Benutzer hergestellten Verbindungen. Wenn Sie feststellen, dass ein bestimmter Benutzer ungewöhnlich viele Verbindungen aufbaut, könnte dies auf ein Problem oder ein ineffizientes Anwendungsdesign hinweisen, das Aufmerksamkeit erfordert.

Weitere Redshift Ansichten für Protokollierung und Überwachung

Neben stl_query und stl_connection_log stellt Redshift mehrere andere Systemansichten bereit, die dabei helfen, die Aktivität des Clusters zu überwachen, Leistungsprobleme zu beheben und das Benutzerverhalten zu verfolgen.

Verfolgung von Abfragefehlern: stl_error

Protokolliert alle abfragebezogenen Fehler. Nützlich zum Debuggen fehlgeschlagener Abfragen.

SELECT username, query, substring(error, 1, 50) AS error_snippet, starttime
FROM stl_error
ORDER BY starttime DESC
LIMIT 10;

Überwachung von Workload-Warteschlangen: stl_wlm_query

Zeigt, wie das Workload Management (WLM) von Redshift wartende und laufende Abfragen behandelt.

SELECT queue_start_time, total_queue_time, total_exec_time, slot_count
FROM stl_wlm_query
ORDER BY queue_start_time DESC
LIMIT 10;

Überwachung von Datenladevorgängen: stl_load_commits

Verfolgt den COPY-Befehl, was Ihnen hilft, Ladedauern und Effizienz zu überwachen.

SELECT query, table_name, lines_scanned, num_files, start_time, end_time,
DATEDIFF(seconds, start_time, end_time) AS duration
FROM stl_load_commits
ORDER BY start_time DESC
LIMIT 10;

Echtzeitüberwachung: STV Ansichten

  • stv_recents – Kürzlich abgeschlossene Abfragen.
  • stv_inflight – Aktuell ausgeführte Abfragen und deren Dauer.
  • stv_wlm_service_class_config – Aktuelle WLM-Konfiguration und Grenzwerte.
  • stv_blocklist – Festplattenblocknutzung und Speicherplatzzuweisung.

Verbesserung der Redshift Protokollierung mit DataSunrise

Obwohl die Redshift STL Ansichten detaillierte Protokolle und Echtzeitmetriken bereitstellen, beinhalten sie keine granulare Zugriffskontrolle, Maskierung oder Integration externer Audits. Genau hier bietet DataSunrise einen Mehrwert.

  • Echtzeit-Abfrageaudit über alle Redshift-Sitzungen hinweg
  • Dynamische Datenmaskierung basierend auf Benutzerrollen, IPs oder Abfrageninhalten
  • Zentralisierte Protokollierung mit langfristiger Aufbewahrung und Suchfunktion
  • Blockieren riskanter Operationen wie vollständiger Tabellenscans oder Exporte
  • Einhaltung von Compliance-Richtlinien gemäß GDPR, HIPAA, PCI DSS und mehr

DataSunrise sitzt zwischen den Clients und Ihrem Redshift-Cluster und analysiert, protokolliert sowie kontrolliert den Datenverkehr, ohne Ihre Datenstruktur zu verändern.

Fazit

Die Redshift STL und STV Ansichten bieten leistungsstarke Werkzeuge zur Protokollierung des Abfrageverhaltens, zur Verfolgung des Zugriffs und zur Optimierung der Systemleistung. Doch in Umgebungen, die Audit-Trails, feingranulare Datenzugriffskontrolle und Compliance-Durchsetzung erfordern, reichen native Protokollierungsfunktionen allein nicht aus.

DataSunrise verbessert die Sichtbarkeit und Kontrolle in Redshift durch intelligente Maskierung, Alarmierung und Audit-Funktionalitäten. Fordern Sie eine Demo an, um zu sehen, wie Sie das Redshift-Monitoring auf die nächste Stufe heben und gleichzeitig unternehmensweite Datenschutzstandards erfüllen können.

Nächste

CockroachDB-Client

CockroachDB-Client

Erfahren Sie mehr

Benötigen Sie die Hilfe unseres Support-Teams?

Unsere Experten beantworten gerne Ihre Fragen.

Allgemeine Informationen:
[email protected]
Kundenservice und technischer Support:
support.datasunrise.com
Partnerschafts- und Allianz-Anfragen:
[email protected]