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

Lesedauer: 4 Minute
0

Wie kann ich Datenbank-Überprüfungen auf meinem Amazon Redshift Cluster durchführen?

Kurzbeschreibung

Amazon Redshift bietet drei Protokollierungsoptionen:

Prüfprotokolle und STL-Tabellen zeichnen Aktivitäten auf Datenbankebene auf, z. B. welche Benutzer sich wann angemeldet haben. In diesen Tabellen werden auch die SQL-Aktivitäten aufgezeichnet, die diese Benutzer wann ausgeführt haben. CloudTrail verfolgt Aktivitäten, die auf Service-Ebene ausgeführt werden.

Hinweis: Verwenden Sie Amazon Redshift Spectrum, um Protokolle mithilfe externer Tabellen anzuzeigen. Weitere Informationen finden Sie unter Analysieren von Datenbank-Prüfprotokollen für Sicherheit und Konformität mithilfe von Amazon Redshift Spectrum.

Lösung

Prüfprotokolle und STL-Tabellen

In der folgenden Tabelle werden Prüfprotokolle und STL-Tabellen verglichen. Wählen Sie die Protokollierungsoption, die für Ihren Anwendungsfall geeignet ist.

PrüfprotokolleSTL-Tabellen
Muss aktiviert sein. Um die Prüfprotokollierung zu aktivieren, folgen Sie den Schritten zur Konfiguration der Überwachung mithilfe der Konsole oder zur Konfiguration der Protokollierung mithilfe von Amazon Redshift CLI und API.Automatisch auf jedem Knoten im Data-Warehouse-Cluster verfügbar.
Prüfprotokolldateien werden auf unbestimmte Zeit gespeichert, es sei denn, es wurden entsprechende Lebenszyklusregeln in Amazon S3 definiert, um Dateien automatisch zu archivieren oder zu löschen. Weitere Informationen finden Sie unter Verwaltung des Lebenszyklus von Objekten.Der Protokollverlauf wird je nach Protokollnutzung und verfügbarem Festplattenspeicher zwei bis fünf Tage lang gespeichert. Um den Aufbewahrungszeitraum zu verlängern, verwenden Sie das Amazon Redshift Tool zur Persistenz von Systemobjekten von AWS-Übungen auf GitHub.
Für den Zugriff auf Prüfprotokolldateien ist kein Zugriff auf die Datenbank von Amazon Redshift erforderlich.Für den Zugriff auf STL-Tabellen ist ein Zugriff auf die Datenbank von Amazon Redshift erforderlich.
Für die Überprüfung der in Amazon S3 gespeicherten Protokolle sind keine Datenbank-Rechenressourcen erforderlich.Für das Ausführen von Abfragen für STL-Tabellen sind Datenbank-Rechenressourcen erforderlich, genau 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 Prüfprotokolle 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.
Informationen werden in den folgenden Protokolldateien gespeichert:
  • Verbindungsprotokoll
  • Benutzerprotokoll
  • Benutzeraktivitätsprotokoll Hinweis: Für das Benutzeraktivitätsprotokoll müssen Sie den Datenbankparameter enable_user_activity_logging aktivieren. Weitere Informationen finden Sie unter Protokollierung aktivieren. | Informationen werden in mehreren Tabellen gespeichert. Verwenden Sie die folgenden Tabellen, um Informationen zu überprüfen, die denen ähneln, die in den S3-Prüfprotokollen gespeichert sind:
  • SVL_STATEMENTTEXT: Liefert eine vollständige Aufzeichnung der SQL-Befehle, die auf dem System ausgeführt wurden. Kombiniert alle Zeilen in den Tabellen STL_DDLTEXT, STL_QUERYTEXT und STL_UTILITYTEXT.
  • STL_CONNECTION_LOG: Protokolliert Authentifizierungsversuche, Verbindungen oder Verbindungsabbrüche. | | Zeichnet alle SQL-Anweisungen in den Benutzeraktivitätsprotokollen auf. | Ausgeführte Abfragen werden in STL_QUERY protokolliert. DDL-Anweisungen werden in STL_DDLTEXT protokolliert. Der Text von non-SELECT-SQL-Befehlen wird in STL_UTILITYTEXT protokolliert. | | Anweisungen werden protokolliert, sobald Amazon Redshift sie erhält. Dateien auf Amazon S3 werden in Stapelverarbeitung aktualisiert und es kann einige Stunden dauern, bis sie angezeigt werden. | Protokolle werden generiert, nachdem alle SQL-Anweisungen ausgeführt wurden. | | Zeichnet auf, wer welche Aktion ausgeführt hat und wann diese Aktion stattgefunden hat, aber nicht, wie lange es gedauert hat, bis die Aktion ausgeführt wurde. | Ermitteln Sie anhand der Spalten STARTTIME und ENDTIME, wie lange es gedauert hat, bis eine Aktivität abgeschlossen war. Um festzustellen, welcher Benutzer eine Aktion ausgeführt hat, kombinieren Sie SVL_STATEMENTTEXT (userid) mit PG_USER (usesysid). | | Der Speicherplatz, den Ihre Protokolle in Amazon S3 belegen, wird Ihnen in Rechnung gestellt. | Für den STL-Tabellenspeicher fallen keine zusätzlichen Gebühren an. | | Ausschließlich-Leader-Knoten-Abfragen werden aufgezeichnet. | Ausschließlich-Leader-Knoten-Abfragen werden nicht aufgezeichnet. |

CloudTrail

Anhand der von CloudTrail erfassten Informationen können Sie feststellen, welche Anfragen erfolgreich an AWS-Dienste gestellt wurden, wer die Anfrage gestellt hat und wann die Anfrage gestellt wurde. Weitere Informationen finden Sie unter Protokollieren von API-Aufrufen in Amazon Redshift mit 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 Verwaltung des Lebenszyklus von Objekten.


Weitere Informationen

Optimieren der Abfrageleistung

Versionshinweis zum Benutzeraktivitätsprotokoll

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 3 Jahren