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

Wie man Redshift STL-Ansichten für Logging und Monitoring nutzt

Wie man Redshift STL-Ansichten für Logging und Monitoring nutzt

Einführung

Wenn Sie mit Amazon Redshift arbeiten, ist es wichtig, die Abfrageausführung und die Systemaktivität zu überwachen. Dies hilft Ihnen, die Leistung zu verbessern, Probleme zu beheben und einen reibungslosen Betrieb sicherzustellen. Glücklicherweise bietet Redshift eine leistungsstarke Sammlung von Systemtabellen und -ansichten (STL), die Ihnen Zugriff auf detaillierte Informationen zu Abfragen, Verbindungen und verschiedenen Systemmetriken ermöglichen.

In diesem Artikel werden wir die Grundlagen der Redshift STL-Ansichten untersuchen, wobei der Fokus auf stl_query, stl_connection_log und anderen wesentlichen Ansichten für Logging und Monitoring liegt.

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 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 treffen, um Ihre Redshift-Workloads zu optimieren. Redshift generiert die STL-Systemansichten aus Protokolldateien.

Erkundung der stl_query-Ansicht

Eine der am häufigsten verwendeten STL-Ansichten ist stl_query. Diese Ansicht enthält einen Eintrag für jede auf dem Redshift-Cluster ausgeführte Abfrage sowie detaillierte Informationen zu jeder Abfrage. Schauen wir uns näher an, wie stl_query für Logging und Analyse verwendet werden kann.

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, einschließlich ihrer Startzeit, Endzeit, verstrichenen Zeit und ob sie abgebrochen wurden. Das Ergebnis gibt Ihnen einen schnellen Überblick über die jüngste Abfrageaktivität.

Analyse der Abfrageleistung

Durch eine tiefere Analyse der stl_query-Ansicht können Sie wertvolle Einblicke in die Abfrageleistung gewinnen. Zum Beispiel können Sie langlaufende Abfragen identifizieren, indem Sie nach der Spalte elapsed filtern:

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, sowie einen Ausschnitt des Abfragetexts. 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 das Logging ist stl_connection_log. Diese Ansicht zeichnet Informationen über Clientverbindungen zum Redshift-Cluster auf, einschließlich Verbindungsbeginn und -ende, Benutzernamen und Client-IP-Adressen. Schauen wir uns an, wie stl_connection_log zur Überwachung von Verbindungen verwendet werden kann.

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, der Endzeit, der Dauer, des Remote-Hosts und des Remote-Ports. Durch die Überwachung des Verbindungsprotokolls können Sie Benutzeraktivitäten verfolgen und verdächtige oder unbefugte Verbindungen identifizieren.

Analyse der Verbindungsmuster

Sie können stl_connection_log auch verwenden, um Verbindungsmuster zu analysieren und potenzielle Probleme zu identifizieren. Zum Beispiel 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 gibt Ihnen einen Überblick über die Anzahl der Verbindungen, die jeder Benutzer hergestellt hat. Wenn Sie eine ungewöhnlich hohe Anzahl von Verbindungen von einem bestimmten Benutzer bemerken, könnte dies auf ein Problem oder ein ineffizientes Anwendungsdesign hinweisen, das Aufmerksamkeit erfordert.

Weitere wichtige STL-Ansichten für Logging

Zusätzlich zu stl_query und stl_connection_log gibt es mehrere andere STL-Ansichten, die wertvolle Informationen für Logging und Monitoring bieten. Lassen Sie uns einige davon kurz erkunden:

stl_error

Die stl_error-Ansicht zeichnet Informationen über Fehler auf, die während der Abfrageausführung auftreten. Durch die Abfrage dieser Ansicht können Sie Probleme in Ihren Abfragen identifizieren und beheben. Hier ist ein Beispiel:

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

Diese Abfrage ruft die letzten 10 Fehler ab, einschließlich des Benutzernamens, der Abfrage-ID, eines Ausschnitts der Fehlermeldung und der Startzeit. Durch die Analyse der Fehler können Sie Probleme in Ihren SQL-Anweisungen identifizieren und beheben.

stl_wlm_query

Die stl_wlm_query-Ansicht bietet Informationen über Workload Management-Abfragewarteschlangen und Slot-Nutzung. Durch die Überwachung dieser Ansicht können Sie Ihre WLM-Konfiguration optimieren und eine effiziente Ressourcenzuweisung sicherstellen. Hier ist ein Beispiel:

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

Diese Abfrage ruft die letzten 10 von WLM verarbeiteten Abfragen ab, einschließlich der Startzeit der Warteschlange, der gesamten Wartezeit, der gesamten Ausführungszeit und der Anzahl der verwendeten Slots. Durch die Analyse dieser Informationen können Sie Abfragen identifizieren, die zu lange in der Warteschlange warten oder zu viele Slots verbrauchen.

stl_load_commits

Die stl_load_commits-Ansicht zeichnet Informationen über COPY-Befehle auf, die zum Laden von Daten in Redshift-Tabellen verwendet werden. Durch Abfragen dieser Ansicht können Sie den Fortschritt und die Leistung Ihrer Daten-Loads überwachen. Hier ist ein Beispiel:

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;

Diese Abfrage ruft die letzten 10 COPY-Befehle ab, einschließlich der Abfrage-ID, des Zieltabellennamens, der Anzahl der gescannten Zeilen, der Anzahl der geladenen Dateien, der Startzeit, der Endzeit und der Dauer. Durch die Überwachung der Load-Commits können Sie die Effizienz Ihrer Datenladeprozesse verfolgen.

Systemansichten für Monitoring

Zusätzlich zu den STL-Ansichten bietet Redshift eine Reihe von Systemansichten (STV), die Echtzeitinformationen über den aktuellen Zustand des Clusters liefern. Diese Ansichten können besonders nützlich für das Monitoring und die Fehlerbehebung sein. Hier sind einige bemerkenswerte Systemansichten:

  • stv_recents: Bietet Informationen über die zuletzt ausgeführten Abfragen, einschließlich Abfrage-ID, Abfragetext und Ausführungszeit.
  • stv_inflight: Zeigt aktuell ausgeführte Abfragen sowie deren Abfrage-ID, Benutzernamen und Ausführungszeit.
  • stv_wlm_service_class_config: Zeigt die Konfiguration der WLM-Serviceklassen an, einschließlich Parallelität und Speicherlimits.
  • stv_blocklist: Bietet Informationen über die Festplattennutzung und Block-Metadaten.

Durch Abfragen dieser Systemansichten können Sie Echtzeiteinblicke in den aktuellen Zustand Ihres Redshift-Clusters gewinnen und schnell Probleme oder Leistungsengpässe identifizieren.

Fazit

Redshift STL-Ansichten bieten eine Fülle von Informationen für Logging, Monitoring und Optimierung der Clusterleistung. Durch die Nutzung von Ansichten wie stl_query, stl_connection_log und anderen können Sie tiefe Einblicke in die Abfrageausführung, Systemaktivität und Ressourcennutzung gewinnen.

Denken Sie daran, die von diesen Ansichten bereitgestellten Informationen regelmäßig zu überwachen und zu analysieren, um proaktiv Probleme zu identifizieren und zu beheben, die Abfrageleistung zu optimieren und den reibungslosen Betrieb Ihres Redshift-Clusters sicherzustellen. Mit der Macht der STL-Ansichten können Sie Ihr Redshift-Logging und -Monitoring auf die nächste Stufe heben.

Wenn Sie nach einer umfassenden Lösung suchen, um Ihren Redshift-Cluster abzusichern und die Einhaltung von Datenschutzbestimmungen sicherzustellen, sollten Sie die benutzerfreundlichen und flexiblen Tools von DataSunrise in Erwägung ziehen. Unser Team freut sich, Ihnen eine Online-Demo bereitzustellen und Ihnen zu zeigen, wie unsere Funktionen für Datenbanksicherheit, Auditing und Compliance Ihrer Organisation zugutekommen 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.

Countryx
United States
United Kingdom
France
Germany
Australia
Afghanistan
Islands
Albania
Algeria
American Samoa
Andorra
Angola
Anguilla
Antarctica
Antigua and Barbuda
Argentina
Armenia
Aruba
Austria
Azerbaijan
Bahamas
Bahrain
Bangladesh
Barbados
Belarus
Belgium
Belize
Benin
Bermuda
Bhutan
Bolivia
Bosnia and Herzegovina
Botswana
Bouvet
Brazil
British Indian Ocean Territory
Brunei Darussalam
Bulgaria
Burkina Faso
Burundi
Cambodia
Cameroon
Canada
Cape Verde
Cayman Islands
Central African Republic
Chad
Chile
China
Christmas Island
Cocos (Keeling) Islands
Colombia
Comoros
Congo, Republic of the
Congo, The Democratic Republic of the
Cook Islands
Costa Rica
Cote D'Ivoire
Croatia
Cuba
Cyprus
Czech Republic
Denmark
Djibouti
Dominica
Dominican Republic
Ecuador
Egypt
El Salvador
Equatorial Guinea
Eritrea
Estonia
Ethiopia
Falkland Islands (Malvinas)
Faroe Islands
Fiji
Finland
French Guiana
French Polynesia
French Southern Territories
Gabon
Gambia
Georgia
Ghana
Gibraltar
Greece
Greenland
Grenada
Guadeloupe
Guam
Guatemala
Guernsey
Guinea
Guinea-Bissau
Guyana
Haiti
Heard Island and Mcdonald Islands
Holy See (Vatican City State)
Honduras
Hong Kong
Hungary
Iceland
India
Indonesia
Iran, Islamic Republic Of
Iraq
Ireland
Isle of Man
Israel
Italy
Jamaica
Japan
Jersey
Jordan
Kazakhstan
Kenya
Kiribati
Korea, Democratic People's Republic of
Korea, Republic of
Kuwait
Kyrgyzstan
Lao People's Democratic Republic
Latvia
Lebanon
Lesotho
Liberia
Libyan Arab Jamahiriya
Liechtenstein
Lithuania
Luxembourg
Macao
Madagascar
Malawi
Malaysia
Maldives
Mali
Malta
Marshall Islands
Martinique
Mauritania
Mauritius
Mayotte
Mexico
Micronesia, Federated States of
Moldova, Republic of
Monaco
Mongolia
Montserrat
Morocco
Mozambique
Myanmar
Namibia
Nauru
Nepal
Netherlands
Netherlands Antilles
New Caledonia
New Zealand
Nicaragua
Niger
Nigeria
Niue
Norfolk Island
North Macedonia, Republic of
Northern Mariana Islands
Norway
Oman
Pakistan
Palau
Palestinian Territory, Occupied
Panama
Papua New Guinea
Paraguay
Peru
Philippines
Pitcairn
Poland
Portugal
Puerto Rico
Qatar
Reunion
Romania
Russian Federation
Rwanda
Saint Helena
Saint Kitts and Nevis
Saint Lucia
Saint Pierre and Miquelon
Saint Vincent and the Grenadines
Samoa
San Marino
Sao Tome and Principe
Saudi Arabia
Senegal
Serbia and Montenegro
Seychelles
Sierra Leone
Singapore
Slovakia
Slovenia
Solomon Islands
Somalia
South Africa
South Georgia and the South Sandwich Islands
Spain
Sri Lanka
Sudan
Suriname
Svalbard and Jan Mayen
Swaziland
Sweden
Switzerland
Syrian Arab Republic
Taiwan, Province of China
Tajikistan
Tanzania, United Republic of
Thailand
Timor-Leste
Togo
Tokelau
Tonga
Trinidad and Tobago
Tunisia
Turkey
Turkmenistan
Turks and Caicos Islands
Tuvalu
Uganda
Ukraine
United Arab Emirates
United States Minor Outlying Islands
Uruguay
Uzbekistan
Vanuatu
Venezuela
Viet Nam
Virgin Islands, British
Virgin Islands, U.S.
Wallis and Futuna
Western Sahara
Yemen
Zambia
Zimbabwe
Choose a topicx
Allgemeine Informationen
Vertrieb
Kundenservice und technischer Support
Partnerschafts- und Allianz-Anfragen
Allgemeine Informationen:
info@datasunrise.com
Kundenservice und technischer Support:
support.datasunrise.com
Partnerschafts- und Allianz-Anfragen:
partner@datasunrise.com