Wie verwende ich Protokolle, um Aktivitäten in meinem Datenbank-Cluster von Amazon Redshift nachzuverfolgen?

Lesedauer: 4 Minute
0

Ich möchte die Datenbank auf meinem Amazon-Redshift-Cluster prüfen.

Kurzbeschreibung

Amazon Redshift bietet drei Optionen zur Protokollierung:

Prüfprotokolle und STL/SYS-Tabellen zeichnen Aktivitäten auf Datenbankebene auf, z. B. wann und welche Benutzer angemeldet sind. In den Tabellen wird außerdem erfasst, welche SQL-Aktivitäten die Benutzer zu welchem Zeitpunkt ausgeführt haben. CloudTrail verfolgt die Benutzeraktivitäten auf Dienstebene.

Hinweis: Verwenden Sie Amazon Redshift Spectrum, um Protokolle mithilfe externer Tabellen anzuzeigen. Weitere Informationen finden Sie unter Analyze Database Audit Logs for Security and Compliance Using Amazon Redshift Spectrum.

Lösung

Prüfprotokolle und STL/SYS-Tabellen

Die folgende Tabelle zeigt Prüfprotokolle und STL/SYS-Tabellen im Vergleich. Wählen Sie die Protokollierungsoption, die für Ihren Anwendungsfall geeignet ist.

PrüfprotokolleSTL/SYS-Tabellen
Verwenden Sie entweder die Amazon-Redshift-Konsole, um Prüfprotokolle zu aktivieren, oder AWS Command Line Interface (AWS CLI) und die Amazon-Redshift-API.STL/SYS-Tabellen sind automatisch auf jedem Knoten im Data-Warehouse-Cluster verfügbar.
Prüfprotokolldateien werden auf unbestimmte Zeit gespeichert, es sei denn, in Amazon S3 wurden entsprechende Lebenszyklusregeln definiert, um Dateien automatisch zu archivieren oder zu löschen. Weitere Informationen finden Sie unter Managing your storage lifecycle.Der Protokollverlauf wird je nach Protokollnutzung und verfügbarem Speicherplatz für 2–5 Tage gespeichert. Um den Aufbewahrungszeitraum zu verlängern, verwenden Sie das Amazon-Redshift-Hilfsprogramm zur Persistenz von Systemobjekten auf GitHub.
Für den Zugriff auf Prüfprotokolldateien ist kein Zugriff auf die Amazon-Redshift-Datenbank erforderlich.Für den Zugriff auf STL/SYS-Tabellen ist Zugriff auf die Amazon-Redshift-Datenbank erforderlich.
Datenbank-Rechenressourcen sind nicht erforderlich, um in Amazon S3 gespeicherte Protokolle zu überprüfen.Um Abfragen für STL/SYS-Tabellen auszuführen, sind Datenbank-Rechenressourcen erforderlich, ähnlich wie bei der Ausführung anderer Abfragen.
Mithilfe von Zeitstempeln können Sie Prozess-IDs mit Datenbankaktivitäten abgleichen. Cluster-Neustarts wirken sich nicht auf die Erstellung von Prüfprotokollen in Amazon S3 aus.Es ist nicht immer möglich, Prozess-IDs mit Datenbankaktivitäten abzugleichen, da Prozess-IDs beim Neustart des Clusters möglicherweise wiederverwendet werden.
Prüfprotokolle werden in den folgenden Protokolldateien gespeichert: Verbindungsprotokoll, Benutzerprotokoll und Benutzeraktivitätsprotokoll. Hinweis: Für das Benutzeraktivitätsprotokoll müssen Sie den Datenbankparameter enable_user_activity_logging aktivieren. Weitere Informationen finden Sie unter Enabling logging.Sie können SVL_STATEMENTTEXT, STL_CONNECTION_LOG und SYS_CONNECTION_LOG verwenden, um detaillierte Informationen anzuzeigen.
Prüfprotokolle zeichnen alle SQL-Anweisungen in den Benutzeraktivitätsprotokollen auf.Abfragen, die Sie ausführen, werden in STL_QUERY protokolliert. DDL-Anweisungen werden in STL_DDLTEXT protokolliert. Der Text von non-SELECT-SQL-Befehlen wird in STL_UTILITYTEXT protokolliert. Verwenden Sie auf Amazon Redshift Serverless SYS_QUERY_HISTORY und SYS_QUERY_DETAIL, um alle SQL-Befehle zu überprüfen.
Anweisungen werden protokolliert, sobald Amazon Redshift sie erhält. Dateien auf Amazon S3 werden stapelweise aktualisiert. Daher kann es einige Stunden dauern, bis sie angezeigt werden.Protokolle werden jeweils generiert, nachdem Sie die SQL-Anweisung ausgeführt haben.
Durch Prüfprotokolle wird aufgezeichnet, wer welche Aktion ausgeführt hat und wann diese Aktion stattgefunden hat, aber nicht, wie viel Zeit die Ausführung der Aktion in Anspruch genommen hat.Verwenden Sie die Spalten STARTTIME und ENDTIME, um zu ermitteln, wie viel Zeit der Abschluss einer Aktivität in Anspruch genommen hat. Um festzustellen, welcher Benutzer eine Aktion ausgeführt hat, kombinieren Sie SVL_STATEMENTTEXT (userid) mit PG_USER (usesysid) auf bereitgestellten Clustern. Verwenden Sie SYS_QUERY_HISTORY und SYS_QUERY_DETAIL, um zu ermitteln, wie viel Zeit der Abschluss einer Aktivität auf Amazon Redshift Serverless in Anspruch genommen hat.
Der Speicherplatz, den Ihre Protokolle in Amazon S3 verwenden, wird Ihnen in Rechnung gestellt.Für die Speicherung von STL/SYS-Tabellen fallen keine zusätzlichen Gebühren an.
Abfragen, die Sie nur auf dem Führungsknoten ausführen, werden aufgezeichnet.Abfragen, die Sie nur auf dem Führungsknoten ausführen, werden nicht aufgezeichnet.

CloudTrail

Anhand der von CloudTrail erfassten Informationen können Sie feststellen, welche Anfragen erfolgreich an AWS-Dienste gestellt wurden, wer sie gestellt hat und wann sie gestellt wurden. Weitere Informationen finden Sie unter Logging Amazon Redshift API calls with AWS CloudTrail.

CloudTrail-Protokolldateien werden auf unbestimmte Zeit in Amazon S3 gespeichert, es sei denn, es werden Lebenszyklusregeln definiert, um Dateien automatisch zu archivieren oder zu löschen. Weitere Informationen finden Sie unter Managing your storage lifecycle.

Verwandte Informationen

Tuning query performance

AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr