Überwachungsprotokollierung in Azure Database for PostgreSQL (Einzelserver)
GILT FÜR: Azure Database for PostgreSQL – Single Server
Wichtig
Azure Database for PostgreSQL – Single Server wird eingestellt. Es wird dringend empfohlen, ein Upgrade auf Azure Database for PostgreSQL – Flexible Server auszuführen. Weitere Informationen zum Migrieren zu Azure Database for PostgreSQL – Flexible Server finden Sie unter Was geschieht mit Azure Database for PostgreSQL – Single Server?
Die Überwachungsprotokollierung von Datenbankaktivitäten in Azure Database for PostgreSQL (Einzelserver) ist über die PostgreSQL-Überwachungserweiterung pgAudit verfügbar. Die pgAudit-Erweiterung bietet detaillierte Sitzungs- und Objektüberwachungsprotokollierung.
Hinweis
Die pgAudit-Erweiterung befindet sich in Azure Database for PostgreSQL in der Vorschau. Sie kann nur auf universellen und arbeitsspeicheroptimierten Servern aktiviert werden.
Wenn Sie Azure-Protokolle auf Ressourcenebene für Vorgänge wie Compute- und Speicherskalierung erfassen möchten, lesen Sie Übersicht über Protokolle der Azure-Plattform.
Überlegungen zur Verwendung
Standardmäßig werden pgAudit-Protokollanweisungen zusammen mit Ihren regulären Protokollanweisungen mithilfe der Postgres-Standardprotokollierungsfunktion ausgegeben. In Azure Database for PostgreSQL können diese LOG-Dateien über das Azure-Portal oder die Azure-Befehlszeilenschnittstelle heruntergeladen werden. Der maximale Speicher für die Sammlung von Dateien beträgt 1 GB. Jede Datei ist maximal sieben Tage lang verfügbar. Der Standardwert ist drei Tage. Bei diesem Dienst handelt es sich um eine kurzfristige Speicheroption.
Alternativ können Sie alle Protokolle so konfigurieren, dass sie an den Azure Monitor-Protokollspeicher für spätere Analysen in Log Analytics gesendet werden. Wenn Sie die Monitor-Ressourcenprotokollierung aktivieren, werden Ihre Protokolle abhängig von Ihrer Wahl automatisch im JSON-Format an Azure Storage, Azure Event Hubs oder Monitor-Protokolle gesendet.
Durch das Aktivieren von pgAudit wird ein großes Volumen von Protokollierung auf einem Server generiert, was Auswirkungen auf die Leistung und den Protokollspeicher hat. Es wird empfohlen, Monitor-Protokolle zu verwenden, die langfristigere Speicheroptionen sowie Analyse- und Benachrichtigungsfunktionen bieten. Deaktivieren Sie die Standardprotokollierung, um die Auswirkungen der zusätzlichen Protokollierung auf die Leistung zu reduzieren:
- Legen Sie den Parameter
logging_collector
auf OFF (AUS) fest. - Starten Sie den Server neu, um diese Änderung zu übernehmen.
Informationen zum Einrichten der Protokollierung für Storage, Event Hubs oder Monitor-Protokolle finden Sie im Abschnitt „Ressourcenprotokolle“ unter Protokolle in Azure Database for PostgreSQL – Einzelserver.
Installieren von pgAudit
Um pgAudit installieren zu können, müssen Sie es in die freigegebenen im Voraus geladenen Bibliotheken des Servers einbeziehen. Damit eine Änderung des Postgres-Parameters shared_preload_libraries
wirksam wird, ist ein Serverneustart erforderlich. Sie können Parameter mithilfe des Portals, der Befehlszeilenschnittstelle oder der REST-API ändern.
So verwenden Sie das Portal
Wählen Sie Ihre Azure Database for PostgreSQL-Server aus.
Wählen Sie links unter Einstellungen die Option Serverparameter aus.
Suchen Sie nach shared_preload_libraries.
Wählen Sie PGAUDIT aus.
Starten Sie den Server neu, um die Änderung zu übernehmen.
Verbinden Sie Ihren Server mithilfe eines Clients wie psql, und aktivieren Sie die pgAudit-Erweiterung:
CREATE EXTENSION pgaudit;
Tipp
Wenn ein Fehler angezeigt wird, vergewissern Sie sich, dass Sie nach dem Speichern von shared_preload_libraries
Ihren Server neu gestartet haben.
pgAudit-Einstellungen
Mit pgAudit können Sie die Sitzungs- oder Objektüberwachungsprotokollierung konfigurieren. Bei der Sitzungsüberwachungsprotokollierung werden detaillierte Protokolle von ausgeführten Anweisungen ausgegeben. Bei der Objektüberwachungsprotokollierung ist die Überwachung auf bestimmte Beziehungen gerichtet. Sie können auswählen, ob Sie einen oder beide Protokollierungstypen einrichten möchten.
Hinweis
Die Einstellungen von pgAudit werden global angegeben, nicht auf Datenbank- oder Rollenebene.
Nachdem Sie pgAudit installiert haben, können Sie die zugehörigen Parameter so konfigurieren, dass die Protokollierung gestartet wird.
So konfigurieren Sie pgAudit im Portal
Wählen Sie Ihre Azure Database for PostgreSQL-Server aus.
Wählen Sie links unter Einstellungen die Option Serverparameter aus.
Suchen Sie nach den pgaudit-Parametern.
Wählen Sie die entsprechenden Einstellungsparameter aus, die bearbeitet werden sollen. Legen Sie beispielsweise zum Starten der Protokollierung pgaudit.log auf WRITE fest.
Wählen Sie Speichern, um Ihre Änderungen zu speichern.
Die pgAudit-Dokumentation stellt die Definition der einzelnen Parameter bereit. Testen Sie zuerst die Parameter, und vergewissern Sie sich, dass sie das erwartete Verhalten aufweisen. Beispiel:
- Wenn die Einstellung pgaudit.log_client aktiviert wird, werden Protokolle an einen Clientprozess wie psql umgeleitet, anstatt in eine Datei geschrieben zu werden. Lassen Sie diese Einstellung im Allgemeinen deaktiviert.
- Der Parameter pgaudit.log_level wird nur aktiviert, wenn pgaudit.log_client aktiviert ist.
Hinweis
In Azure Database for PostgreSQL kann pgaudit.log nicht mit einer Minuszeichenverknüpfung (-
) festgelegt werden, wie in der pgAudit-Dokumentation beschrieben. Alle erforderlichen Anweisungsklassen, wie READ und WRITE, sollten einzeln angegeben werden.
Format der Überwachungsprotokolle
Jeder Überwachungseintrag wird durch AUDIT:
am Anfang der Protokollzeile gekennzeichnet. Das Format des restlichen Eintrags wird in der pgAudit-Dokumentation ausführlich erläutert.
Wenn Sie weitere Felder benötigen, um Ihre Überwachungsanforderungen zu erfüllen, verwenden Sie den Postgres-Parameter log_line_prefix
. Die Zeichenfolge log_line_prefix
wird am Anfang jeder Postgres-Protokollzeile ausgegeben. Die folgende log_line_prefix
-Einstellung stellt beispielsweise den Zeitstempel, den Benutzernamen, den Datenbanknamen und die Prozess-ID bereit:
t=%m u=%u db=%d pid=[%p]:
Weitere Informationen zu log_line_prefix
finden Sie in der PostgreSQL-Dokumentation.
Erste Schritte
Legen Sie für den schnellen Einstieg pgaudit.log auf WRITE fest. Öffnen Sie dann Ihre Protokolle, um die Ausgabe zu überprüfen.
Anzeigen von Überwachungsprotokollen
Wenn Sie LOG-Dateien verwenden, sind Ihre Überwachungsprotokolle in derselben Datei enthalten wie Ihre PostgreSQL-Fehlerprotokolle. Sie können Protokolldateien über das Portal oder die Befehlszeilenschnittstelle herunterladen.
Wenn Sie Azure-Ressourcenprotokollierung verwenden, hängt die Art und Weise, wie Sie auf die Protokolle zugreifen, vom gewählten Endpunkt ab. Für Storage lesen Sie Azure-Ressourcenprotokolle. Für Event Hubs lesen Sie ebenfalls Azure-Ressourcenprotokolle.
Für Monitor-Protokolle werden die Protokolle an den von Ihnen ausgewählten Arbeitsbereich gesendet. Für die Postgres-Protokolle wird der Sammlungsmodus AzureDiagnostics
verwendet, damit sie über die Tabelle AzureDiagnostics
abgefragt werden können, wie dargestellt. Weitere Informationen zu Abfragen und Warnungen finden Sie unter Protokollabfragen in Azure Monitor.
Verwenden Sie diese Abfrage für den Einstieg. Sie können Warnungen basierend auf Abfragen konfigurieren.
Suchen Sie nach allen Postgres-Protokollen des letzten Tags für einen bestimmten Server:
AzureDiagnostics
| where LogicalServerName_s == "myservername"
| where TimeGenerated > ago(1d)
| where Message contains "AUDIT:"
Nächste Schritte
- Weitere Informationen zur Protokollierung in Azure Database for PostgreSQL.
- Erfahren Sie, wie Sie Parameter mithilfe des Azure-Portals, der Azure-Befehlszeilenschnittstelle oder der REST-API festlegen.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Tickets als Feedbackmechanismus für Inhalte auslaufen lassen und es durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unter:Einreichen und Feedback anzeigen für