Datenbank-Protokolldateien von RDS für PostgreSQL - Amazon Relational Database Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Datenbank-Protokolldateien von RDS für PostgreSQL

RDS für PostgreSQL protokolliert Datenbankaktivitäten in der PostgreSQL-Standardprotokolldatei. Bei einer On-Premises PostgreSQL-DB-Instance werden diese Nachrichten in log/postgresql.log lokal gespeichert. Für eine DB-Instance von RDS für PostgreSQL ist die Protokolldatei auf der Amazon-RDS-Instance verfügbar. Außerdem müssen Sie die Amazon-RDS-Konsole verwenden, um deren Inhalte anzusehen oder herunterzuladen. Die Standardprotokollierungsebene erfasst Anmeldefehler, schwerwiegende Serverfehler, Deadlocks und Abfragefehler.

Weitere Informationen zum Anzeigen, Herunterladen und Überwachen von dateibasierten Datenbankprotokollen finden Sie unter Überwachen von Amazon RDS-Protokolldateien. Weitere Informationen zu PostgreSQL-Protokollen finden Sie unter Arbeiten mit Amazon RDS und Aurora-PostgreSQL-Protokollen: Teil 1 und Arbeiten mit Amazon RDS und Aurora-PostgreSQL-Protokollen: Teil 2.

Zusätzlich zu den in diesem Thema behandelten PostgreSQL-Standardprotokollen unterstützt RDS für PostgreSQL auch die PostgreSQL-Audit-Erweiterung (pgAudit). Die meisten regulierten Branchen und Regierungsbehörden müssen ein Auditprotokoll oder einen Audit-Trail für die Änderungen von Daten führen, um die gesetzlichen Bestimmungen zu erfüllen. Weitere Informationen zur Installation und Verwendung von pgAudit finden Sie unter Verwenden von pgAudit zur Protokollierung der Datenbankaktivität.

Parameter, die das Protokollierungsverhalten beeinflussen

Sie können das Protokollierungsverhalten für Ihre DB-Instance von RDS für PostgreSQL anpassen, indem Sie verschiedene Parameter ändern. In der folgenden Tabelle finden Sie unter anderem die Parameter, die sich darauf auswirken, wie lange die Protokolle gespeichert werden, wann das Protokoll rotiert werden soll und ob das Protokoll im CSV-Format (Comma-Separated Value) ausgegeben werden soll. Außerdem ist abgesehen von anderen Einstellungen die Textausgabe angegeben, die an STDERR gesendet wurde. Wenn Sie die Einstellungen für die modifizierbaren Parameter ändern möchten, verwenden Sie eine benutzerdefinierte DB-Parametergruppe für Ihren . Instance von RDS für PostgreSQL Weitere Informationen finden Sie unter Arbeiten mit DB-Parametergruppen in einer DB-Instance. Wie in der Tabelle angegeben, kann der Wert log_line_prefix nicht geändert werden.

Parameter Standard Beschreibung

log_destination

stderr

Legt das Ausgabeformat für das Protokoll fest. Die Standardeinstellung ist stderr, aber Sie können auch das CSV-Format angeben, indem Sie der Einstellung csvlog hinzufügen. Weitere Informationen finden Sie unter Festlegen des Protokollziels (stderr, csvlog).

log_filename

postgresql.log.%Y-%m-%d-%H

Gibt das Muster für den Namen der Protokolldatei an. Zusätzlich zur Standardeinstellung unterstützt dieser Parameter postgresql.log.%Y-%m-%d für das Dateinamenmuster.

log_line_prefix

%t:%r:%u@%d:[%p]:

Definiert das Präfix für jede Protokollzeile, die in stderr geschrieben wird, um die Uhrzeit (%t), den Remote-Host (%r), den Benutzer (%u), die Datenbank (%d) und die Prozess-ID (%p) anzugeben. Sie können diesen Parameter nicht ändern.

log_rotation_age

60

Minuten, nach denen die Protokolldatei automatisch rotiert wird. Sie können diesen Wert im Bereich von 1 bis 1440 Minuten ändern. Weitere Informationen finden Sie unter Festlegen der Rotation der Protokolldatei.

log_rotation_size

Die Größe (kB), bei der das Protokoll automatisch rotiert wird. Standardmäßig wird dieser Parameter nicht verwendet, da die Protokolle auf der Grundlage des log_rotation_age Parameters rotiert werden. Weitere Informationen hierzu finden Sie unter Festlegen der Rotation der Protokolldatei.

rds.log_retention_period

4320

PostgreSQL-Protokolle, die älter als die angegebene Anzahl von Minuten sind, werden gelöscht. Mit dem Standardwert von 4.320 Minuten werden Protokolldateien nach 3 Tagen gelöscht. Weitere Informationen finden Sie unter Festlegen des Aufbewahrungszeitraums für Protokolle.

Anwendungsprobleme können Sie identifizieren, indem Sie im Protokoll nach Abfragefehlern, Anmeldefehlern, Deadlocks und schwerwiegenden Serverfehlern suchen. Angenommen, Sie haben eine Legacy-Anwendung von Oracle in Amazon RDS PostgreSQL konvertiert, wobei jedoch nicht alle Abfragen ordnungsgemäß umgewandelt wurden. Diese falsch formatierten Abfragen generieren Fehlermeldungen in den Protokollen, mit denen Sie Probleme identifizieren können. Weitere Informationen zur Protokollierung von Abfragen finden Sie unter Aktivieren der Abfrageprotokollierung für Ihre DB-Instance von RDS für PostgreSQL.

In den folgenden Themen finden Sie Informationen darüber, wie Sie verschiedene Parameter festlegen, die die grundlegenden Details Ihrer PostgreSQL-Protokolle steuern.

Festlegen des Aufbewahrungszeitraums für Protokolle

Der rds.log_retention_period-Parameter gibt an, wie lange Ihre DB-Instance von RDS für PostgreSQL die entsprechenden Protokolldateien aufbewahrt. Die Standardeinstellung ist 3 Tage (4 320 Minuten). Sie können diese Einstellung jedoch auf einen beliebigen Wert zwischen 1 Tag (1 440 Minuten) und 7 Tagen (10 080 Minuten) festlegen. Stellen Sie sicher, dass Ihre DB-Instance von RDS für PostgreSQL über ausreichend Speicherplatz verfügt, um die Protokolldateien für diesen Zeitraum zu speichern.

Wir empfehlen, dass Sie Ihre Protokolle routinemäßig in Amazon CloudWatch Logs veröffentlichen, damit Sie Systemdaten noch lange nach dem Entfernen der Protokolle aus Ihrem anzeigen und analysieren können. DB-Instance von RDS für PostgreSQL Weitere Informationen finden Sie unter PostgreSQL-Protokolle in Amazon Logs veröffentlichen CloudWatch .

Festlegen der Rotation der Protokolldatei

Neue Protokolldateien werden von Amazon RDS standardmäßig jede Stunde erstellt. Das Timing wird vom Parameter log_rotation_age kontrolliert. Dieser Parameter hat einen Standardwert von 60 (Minuten). Sie können ihn jedoch auf jeden beliebigen Wert zwischen 1 Minute und 24 Stunden (1 440 Minuten) festlegen. Wenn die Rotation ansteht, wird eine neue eindeutige Protokolldatei erstellt. Die Datei wird nach dem Muster benannt, das durch den Parameter log_filename angegeben wird.

Protokolldateien können auch entsprechend ihrer Größe gedreht werden, wie im Parameter log_rotation_size angegeben. Dieser Parameter gibt an, dass das Protokoll rotiert werden soll, wenn es die angegebene Größe (in Kilobyte) erreicht. Bei einer RDS-for-PostgreSQL-DB-Instance wird log_rotation_size nicht festgelegt, das heißt, es wird kein Wert angegeben. Der Parameter ermöglicht jedoch die Einstellung von 0-2 097 151 kB (Kilobyte).

Die Protokolldateinamen basieren auf dem Dateinamenmuster des Parameters log_filename. Die verfügbaren Einstellungen für diesen Parameter lauten wie folgt:

  • postgresql.log.%Y-%m-%d – Standardformat für den Namen der Protokolldatei. Nimmt das Jahr, den Monat und das Datum in den Namen der Protokolldatei auf.

  • postgresql.log.%Y-%m-%d-%H – Nimmt die Stunde in das Format des Protokolldateinamens auf.

Weitere Informationen finden Sie unter log_rotation_age und log_rotation_size in der PostgreSQL-Dokumentation.

Festlegen des Protokollziels (stderr, csvlog)

Standardmäßig generiert Amazon RDS PostgreSQL Protokolle im Standardfehlerformat (stderr). Dieses Format ist die Standardeinstellung des Parameters log_destination. Jede Nachricht erhält ein Präfix nach dem im log_line_prefix-Parameter angegebenen Muster. Weitere Informationen finden Sie unter Grundlagen des Parameters log_line_prefix.

RDS für PostgreSQL kann die Protokolle auch im csvlog-Format generieren. Das csvlog-Format ist nützlich, um die Protokolldaten als CSV-Daten zu analysieren. Angenommen, Sie verwenden die Erweiterung log_fdw, um mit Ihren Protokollen als Fremdtabellen zu arbeiten. Die Fremdtabelle, die für stderr-Protokolldateien erstellt wurde, enthält eine einzelne Spalte mit Protokollereignisdaten. Durch Hinzufügen von csvlog zum log_destination-Parameter erhalten Sie die Protokolldatei im CSV-Format mit Abgrenzungen für die verschiedenen Spalten der Fremdtabelle. Sie können Ihre Protokolle jetzt einfacher sortieren und analysieren. Informationen dazu, wie Sie log_fdw mit csvlog verwenden, finden Sie unter Verwenden der Erweiterung log_fdw für den Zugriff auf das DB-Protokoll mithilfe von SQL.

Wenn Sie csvlog für diesen Parameter angeben, beachten Sie, dass sowohl stderr- als auch csvlog-Dateien generiert werden. Achten Sie auf den von den Protokollen verbrauchten Speicher und berücksichtigen Sie dabei die rds.log_retention_periodund andere Einstellungen, die sich auf den Protokollspeicher und Turnover auswirken. Wenn Sie stderr und csvlog verwenden, verdoppelt sich der von den Protokollen verbrauchte Speicher.

Wenn Sie csvlog zu log_destination hinzufügen und zu stderr allein zurückkehren möchten, müssen Sie den Parameter zurücksetzen. Rufen Sie dazu die Amazon-RDS-Konsole auf und öffnen Sie die benutzerdefinierte DB-Parametergruppe für Ihre Instance. Wählen Sie den log_destination-Parameter, die Option Edit parameter (Parameter bearbeiten) und dann Reset (Zurücksetzen) aus.

Weitere Informationen zum Konfigurieren der Protokollierung finden Sie unter Arbeiten mit Amazon-RDS- und Aurora-PostgreSQL-Protokollen: Teil 1.

Grundlagen des Parameters log_line_prefix

Das stderr-Protokollformat wird jeder Protokollnachricht wie folgt mit den Details vorangestellt, die durch den log_line_prefix-Parameter angegeben werden.

%t:%r:%u@%d:[%p]:t

Sie können diese Einstellung nicht ändern. Jeder Protokolleintrag, der an stderr gesendet wird, enthält die folgenden Informationen.

  • %t – Zeitpunkt der Protokolleingabe

  • %r – Adresse des Remote-Hosts

  • %u@%d – Benutzername und Datenbankname

  • [%p] – Prozess-ID, falls verfügbar

Aktivieren der Abfrageprotokollierung für Ihre DB-Instance von RDS für PostgreSQL

Sie können detailliertere Informationen über Ihre Datenbankaktivitäten sammeln, einschließlich Abfragen, Abfragen, die auf Sperren warten, Prüfpunkte und viele andere Details, indem Sie einige der in der folgenden Tabelle aufgeführten Parameter festlegen. Dieses Thema konzentriert sich auf das Protokollieren von Abfragen.

Parameter Standard Beschreibung

log_connections

Protokolliert jede erfolgreiche Verbindung.

log_disconnections

Protokolliert das Ende jeder Sitzung und ihre Dauer.

log_checkpoints

1

Protokolliert jeden Prüfpunkt.

log_lock_waits

Protokolliert lange Sperrenwartezeiten. Dieser Parameter ist standardmäßig nicht festgelegt.

log_min_duration_sample

(ms) Legt die Mindestausführungszeit fest, jenseits der stichprobenartig Anweisungen protokolliert werden. Die Stichprobengröße wird mit dem log_statement_sample_rate-Parameter festgelegt.

log_min_duration_statement

Jede SQL-Anweisung, die mindestens für die angegebene Zeit oder länger ausgeführt wird, wird protokolliert. Dieser Parameter ist standardmäßig nicht festgelegt. Die Aktivierung dieses Parameters kann Sie dabei unterstützen, nicht optimierte Abfragen zu finden.

log_statement

Legt den Typ der protokollierten Anweisungen fest. Standardmäßig ist dieser Parameter nicht festgelegt, aber Sie können ihn in all, ddl oder mod ändern, um die Typen von SQL-Anweisungen anzugeben, die protokolliert werden sollen. Wenn Sie etwas anderes als none für diesen Parameter angeben, sollten Sie auch zusätzliche Maßnahmen ergreifen, um die Offenlegung von Passwörtern in den Protokolldateien zu verhindern. Weitere Informationen finden Sie unter Reduzieren des Risikos der Offenlegung von Passwörtern bei der Verwendung der Abfrageprotokollierung.

log_statement_sample_rate

Der Prozentsatz der Anweisungen, die die in log_min_duration_sample angegebene Zeit bei der Protokollierung überschreiten. Diese Angabe wird als Gleitkommawert zwischen 0,0 und 1,0 ausgedrückt.

log_statement_stats

Schreibt kumulative Leistungsstatistiken in das Serverprotokoll.

Verwendung der Protokollierung, um Abfragen mit langsamer Ausführung zu suchen

Sie können SQL-Anweisungen und Abfragen protokollieren, um Abfragen zu finden, die langsam ausgeführt werden. Sie aktivieren diese Funktion, indem Sie die Einstellungen der Parameter log_statement und log_min_duration wie in diesem Abschnitt beschrieben ändern. Bevor Sie die Abfrageprotokollierung für Ihre DB-Instance von RDS für PostgreSQL aktivieren, sollten Sie sich der möglichen Offenlegung von Passwörtern in den Protokollen bewusst sein und wissen, wie Sie die Risiken minimieren können. Weitere Informationen finden Sie unter Reduzieren des Risikos der Offenlegung von Passwörtern bei der Verwendung der Abfrageprotokollierung.

Nachstehend finden Sie Referenzinformationen zu den Parametern log_statement und log_min_duration.

log_statement

Dieser Parameter gibt den Typ der SQL-Anweisungen an, die an das Protokoll gesendet werden sollen. Der Standardwert ist none. Wenn Sie diesen Parameter in all, ddl oder mod ändern, stellen Sie sicher, dass Sie die empfohlenen Maßnahmen ergreifen, um das Risiko einer Offenlegung von Passwörtern in den Protokollen zu reduzieren. Weitere Informationen finden Sie unter Reduzieren des Risikos der Offenlegung von Passwörtern bei der Verwendung der Abfrageprotokollierung.

all

Protokolliert alle Anweisungen. Diese Einstellung wird für Debugging-Zwecke empfohlen.

ddl

Protokolliert alle Data Definition Language (DDL)-Anweisungen wie CREATE, ALTER, DROP usw.

mod

Protokolliert alle DDL-Anweisungen und Data Manipulation Language (DML)-Anweisungen wie INSERT, UPDATE und DELETE, die die Daten modifizieren.

Keine

Es werden keine SQL-Anweisungen protokolliert. Wir empfehlen diese Einstellung, um das Risiko zu vermeiden, dass Passwörter in den Protokollen offengelegt werden.

log_min_duration_statement

Jede SQL-Anweisung, die mindestens für die angegebene Zeit oder länger ausgeführt wird, wird protokolliert. Dieser Parameter ist standardmäßig nicht festgelegt. Die Aktivierung dieses Parameters kann Sie dabei unterstützen, nicht optimierte Abfragen zu finden.

–1–2147483647

Die Laufzeit in Millisekunden (ms), in der eine Anweisung protokolliert wird.

So richten Sie die Abfrageprotokollierung ein

Bei diesen Schritten wird davon ausgegangen, dass Ihr Die DB-Instance von RDS für PostgreSQL verwendet eine benutzerdefinierte DB-Parametergruppe.

  1. Stellen Sie den Parameter log_statement auf all ein. Im folgenden Beispiel werden die Informationen gezeigt, die bei dieser Parametereinstellung in die Datei postgresql.log geschrieben werden.

    2022-10-05 22:05:52 UTC:52.95.4.1(11335):postgres@labdb:[3639]:LOG: statement: SELECT feedback, s.sentiment,s.confidence FROM support,aws_comprehend.detect_sentiment(feedback, 'en') s ORDER BY s.confidence DESC; 2022-10-05 22:05:52 UTC:52.95.4.1(11335):postgres@labdb:[3639]:LOG: QUERY STATISTICS 2022-10-05 22:05:52 UTC:52.95.4.1(11335):postgres@labdb:[3639]:DETAIL: ! system usage stats: ! 0.017355 s user, 0.000000 s system, 0.168593 s elapsed ! [0.025146 s user, 0.000000 s system total] ! 36644 kB max resident size ! 0/8 [0/8] filesystem blocks in/out ! 0/733 [0/1364] page faults/reclaims, 0 [0] swaps ! 0 [0] signals rcvd, 0/0 [0/0] messages rcvd/sent ! 19/0 [27/0] voluntary/involuntary context switches 2022-10-05 22:05:52 UTC:52.95.4.1(11335):postgres@labdb:[3639]:STATEMENT: SELECT feedback, s.sentiment,s.confidence FROM support,aws_comprehend.detect_sentiment(feedback, 'en') s ORDER BY s.confidence DESC; 2022-10-05 22:05:56 UTC:52.95.4.1(11335):postgres@labdb:[3639]:ERROR: syntax error at or near "ORDER" at character 1 2022-10-05 22:05:56 UTC:52.95.4.1(11335):postgres@labdb:[3639]:STATEMENT: ORDER BY s.confidence DESC; ----------------------- END OF LOG ----------------------
  2. Legen Sie den Parameter log_min_duration_statement fest. Im folgenden Beispiel werden die Informationen gezeigt, die in die Datei postgresql.log geschrieben werden, wenn der Parameter auf 1 festgelegt wird.

    Abfragen, die die im log_min_duration_statement-Parameter angegebene Dauer überschreiten, werden protokolliert. Es folgt ein Beispiel. Sie können die Protokolldatei für Ihre DB-Instance von RDS für PostgreSQL in der Amazon-RDS-Konsole anzeigen.

    2022-10-05 19:05:19 UTC:52.95.4.1(6461):postgres@labdb:[6144]:LOG: statement: DROP table comments; 2022-10-05 19:05:19 UTC:52.95.4.1(6461):postgres@labdb:[6144]:LOG: duration: 167.754 ms 2022-10-05 19:08:07 UTC::@:[355]:LOG: checkpoint starting: time 2022-10-05 19:08:08 UTC::@:[355]:LOG: checkpoint complete: wrote 11 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=1.013 s, sync=0.006 s, total=1.033 s; sync files=8, longest=0.004 s, average=0.001 s; distance=131028 kB, estimate=131028 kB ----------------------- END OF LOG ----------------------

Reduzieren des Risikos der Offenlegung von Passwörtern bei der Verwendung der Abfrageprotokollierung

Wir empfehlen, für log_statement die Einstellung none beizubehalten, um zu vermeiden, dass Passwörter offengelegt werden. Wenn Sie log_statement auf all, ddl oder mod festlegen, sollten Sie einen oder mehrere der folgenden Schritte auszuführen.

  • Verschlüsseln Sie vertrauliche Informationen für den Client. Weitere Informationen finden Sie unter Verschlüsselungsoptionen der PostgreSQL-Dokumentation. Verwenden Sie die Optionen ENCRYPTED und UNENCRYPTED der CREATE- und ALTER-Anweisungen. Weitere Informationen finden Sie im Abschnitt CREATE USER der PostgreSQL-Dokumentation.

  • Richten Sie für Ihre DB-Instance von RDS für PostgreSQL die PostgreSQL Auditing (PGAudit)-Erweiterung ein und verwenden Sie sie. Diese Erweiterung redigiert sensible Informationen in CREATE- und ALTER-Anweisungen, die an das Protokoll gesendet werden. Weitere Informationen finden Sie unter Verwenden von pgAudit zur Protokollierung der Datenbankaktivität.

  • Beschränken Sie den Zugriff auf die CloudWatch Protokolle.

  • Verwenden Sie stärkere Authentifizierungsmechanismen wie IAM.

PostgreSQL-Protokolle in Amazon Logs veröffentlichen CloudWatch

Um Ihre PostgreSQL-Protokolldatensätze in einem äußerst langlebigen Speicher zu speichern, können Sie Amazon CloudWatch Logs verwenden. Mit CloudWatch Logs können Sie auch Protokolldaten in Echtzeit analysieren und diese zur Anzeige von Metriken und CloudWatch zur Erstellung von Alarmen verwenden. Wenn Sie beispielsweise log_statement auf ddl festlegen, können Sie einen Alarm einrichten, der immer dann ausgelöst wird, wenn eine DDL-Anweisung ausgeführt wird. Sie können wählen, ob Ihre CloudWatch PostgreSQL-Protokolle während der Erstellung Ihrer RDS for PostgreSQL-DB-Instance in Logs hochgeladen werden sollen. Wenn Sie zu diesem Zeitpunkt keine Protokolle hochladen möchten, können Sie Ihre Instance später so ändern, dass ab diesem Zeitpunkt mit dem Hochladen von Protokollen begonnen wird. Mit anderen Worten, vorhandene Protokolle werden nicht hochgeladen. Es werden nur neue Protokolle hochgeladen, da sie auf Ihrer modifizierten DB-Instance von RDS für PostgreSQL erstellt werden.

Alle derzeit verfügbaren Versionen von RDS für PostgreSQL unterstützen die Veröffentlichung von Protokolldateien in Logs. CloudWatch Weitere Informationen finden Sie unter Aktualisierungen von Amazon RDS für PostgreSQL im Abschnitt Versionshinweise für Amazon RDS für PostgreSQL.

Um mit CloudWatch Logs zu arbeiten, konfigurieren Sie Ihre RDS for PostgreSQL-DB-Instance so, dass Protokolldaten in einer Protokollgruppe veröffentlicht werden.

Sie können die folgenden Protokolltypen in CloudWatch Logs for RDS for PostgreSQL veröffentlichen:

  • PostgreSQL-Protokoll

  • Protokoll aktualisieren

Nachdem Sie die Konfiguration abgeschlossen haben, veröffentlicht Amazon RDS die Protokollereignisse, um Streams innerhalb einer CloudWatch Protokollgruppe zu protokollieren. Beispielsweise werden die PostgreSQL-Protokolldaten innerhalb der Protokollgruppe gespeicher /aws/rds/instance/my_instance/postgresql. Um Ihre Protokolle einzusehen, öffnen Sie die CloudWatch Konsole unter https://console.aws.amazon.com/cloudwatch/.

So veröffentlichen Sie PostgreSQL-Protokolle mithilfe der Konsole in CloudWatch Logs
  1. Öffnen Sie die Amazon-RDS-Konsole unter https://console.aws.amazon.com/rds/.

  2. Wählen Sie im Navigationsbereich Databases (Datenbanken) aus.

  3. Wählen Sie die zu ändernde DB-Instance aus und klicken Sie anschließend auf Modify (Ändern).

  4. Wählen Sie im Abschnitt Protokollexporte die Protokolle aus, die Sie in Logs veröffentlichen möchten CloudWatch .

    Der Abschnitt Protokollexporte ist nur für PostgreSQL-Versionen verfügbar, die das Veröffentlichen in Logs unterstützen. CloudWatch

  5. Wählen Sie Weiter und dann auf der zusammenfassenden Seite Modify DB Instance (DB-Instance ändern) aus.

Sie können PostgreSQL-Protokolle mit dem veröffentlichen. AWS CLI Sie können den Befehl modify-db-instance mit den folgenden Parametern aufrufen.

  • --db-instance-identifier

  • --cloudwatch-logs-export-configuration

Anmerkung

Eine Änderung der Option --cloudwatch-logs-export-configuration wird immer sofort auf die DB-Instance angewendet. Aus diesem Grund sind die Optionen --apply-immediately und --no-apply-immediately wirkungslos.

Sie können PostgreSQL-Protokolle auch veröffentlichen, indem Sie die folgenden CLI-Befehle aufrufen:

Führen Sie einen dieser CLI-Befehle mit den folgenden Optionen aus:

  • --db-instance-identifier

  • --enable-cloudwatch-logs-exports

  • --db-instance-class

  • --engine

Je nach verwendetem CLI-Befehl müssen möglicherweise noch weitere Optionen angegeben werden.

Beispiel Ändern Sie eine Instanz, um Protokolle in Logs zu veröffentlichen CloudWatch

Das folgende Beispiel ändert eine bestehende PostgreSQL-DB-Instance, um Protokolldateien in Logs zu veröffentlichen. CloudWatch Der --cloudwatch-logs-export-configuration-Wert ist ein JSON-Objekt. Der Schlüssel für dieses Objekt ist EnableLogTypes und dessen Wert ist ein Array von Zeichenfolgen mit einer beliebigen Kombination aus postgresql und upgrade.

FürLinux, oder: macOS Unix

aws rds modify-db-instance \ --db-instance-identifier mydbinstance \ --cloudwatch-logs-export-configuration '{"EnableLogTypes":["postgresql", "upgrade"]}'

Windows:

aws rds modify-db-instance ^ --db-instance-identifier mydbinstance ^ --cloudwatch-logs-export-configuration '{"EnableLogTypes":["postgresql","upgrade"]}'
Beispiel Erstellen Sie eine Instanz, um Logs in Logs zu CloudWatch veröffentlichen

Im folgenden Beispiel wird eine PostgreSQL-DB-Instance erstellt und Protokolldateien in Logs veröffentlicht. CloudWatch Der Wert --enable-cloudwatch-logs-exports ist ein JSON-Array mit Zeichenfolgen. Die Zeichenfolgen können eine beliebige Kombination aus postgresql und upgrade sein.

FürLinux, odermacOS: Unix

aws rds create-db-instance \ --db-instance-identifier mydbinstance \ --enable-cloudwatch-logs-exports '["postgresql","upgrade"]' \ --db-instance-class db.m4.large \ --engine postgres

Windows:

aws rds create-db-instance ^ --db-instance-identifier mydbinstance ^ --enable-cloudwatch-logs-exports '["postgresql","upgrade"]' ^ --db-instance-class db.m4.large ^ --engine postgres

Sie können PostgreSQL-Protokolle mit der RDS-API veröffentlichen. Die Aktion ModifyDBInstance kann dazu mit den folgenden Parametern aufgerufen werden:

  • DBInstanceIdentifier

  • CloudwatchLogsExportConfiguration

Anmerkung

Eine Änderung des Parameters CloudwatchLogsExportConfiguration wird immer sofort auf die DB-Instance angewendet. Aus diesem Grund ist der Parameter ApplyImmediately wirkungslos.

Sie können PostgreSQL-Protokolle auch veröffentlichen, indem Sie die folgenden RDS-API-Operationen aufrufen:

Führen Sie eine dieser RDS-API-Operationen mit den folgenden Parametern aus:

  • DBInstanceIdentifier

  • EnableCloudwatchLogsExports

  • Engine

  • DBInstanceClass

Je nach ausgeführter Operation müssen möglicherweise noch weitere Parameter angegeben werden.