Freigeben über


Protokolle in Azure Database for PostgreSQL

Mit Azure Database for PostgreSQL können Sie die Standardprotokolle von Postgres konfigurieren und darauf zugreifen. Die Protokolle dienen zur Identifizierung, Behebung und Reparatur von Konfigurationsfehlern und suboptimaler Leistung. Beispiele für Protokollierungsinformationen, für die die Konfiguration und der Zugriff möglich sind, sind Fehler, Abfrageinformationen, Autovacuum-Datensätze, Verbindungen und Prüfpunkte. (Der Zugriff auf Transaktionsprotokolle ist nicht verfügbar).

Die Überwachungsprotokollierung wird über eine Postgres-Erweiterung (pgaudit) bereitgestellt. Weitere Informationen finden Sie im Artikel zu den Konzepten zur Überwachung.

Konfigurieren der Protokollierung

Sie können die Postgres-Standardprotokollierung auf dem Server mit Serverparametern für die Protokollierung konfigurieren. Weitere Informationen zu Postgres-Protokollparametern finden Sie in den Abschnitten zu den Themen Wann wird protokolliert? und Was wird protokolliert? der Postgres-Dokumentation. Die meisten, aber nicht alle, Postgres-Protokollierungsparameter stehen zur Konfiguration in Azure-Datenbank für PostgreSQL zur Verfügung.

Informationen zum Konfigurieren von Parametern in der Azure-Datenbank für PostgreSQL finden Sie in der Portaldokumentation oder in der CLI-Dokumentation.

Hinweis

Um ein hohes Volumen von Protokollen zu konfigurieren, können Sie einen erheblichen Leistungsaufwand hinzufügen. Die Protokollierung von Anweisungen kann sich beispielsweise auf die Leistung auswirken.

Zugriffsprotokolle

Azure Database for PostgreSQL ist in Azure Monitor-Diagnoseeinstellungen integriert. Mithilfe von Diagnoseeinstellungen können Sie PostgreSQL-Protokolle im JSON-Format an Azure Monitor Logs für Analysen und Warnungen senden. Sie können sie auch in Event Hubs streamen oder in Azure Storage archivieren.

Zugriffssteuerung für Protokolle

Der Zugriff auf Serverprotokolle wird über Azure Role-Based Access Control (RBAC) gesteuert. Jede Rolle, die Lesezugriff auf den Server bietet, ermöglicht auch das Herunterladen von Protokollen. Dazu gehören integrierte Rollen wie:

  • Leser
  • Benutzer mit Leseberechtigung für Überwachungsdaten
  • Log Analytics-Leser
  • Oder gleichwertige benutzerdefinierte Rollen

Warnung

Protokolle können vertrauliche Informationen enthalten, z. B. Anmeldeinformationen, je nach Protokollierungskonfiguration.

Datenaufbewahrungsrichtlinie und Preisübersicht

Für Protokolle, die an Event Hubs oder ein Speicherkonto gesendet werden, können Sie eine Aufbewahrungsrichtlinie einrichten, um Daten nach einem bestimmten Zeitraum automatisch zu löschen. Log Analytics-Kosten hängen von zwei Faktoren ab:

  • Datenerfassung: Die Gebühren basieren auf dem Datenvolumen, das im Arbeitsbereich erfasst wird.
  • Datenaufbewahrung: Die in Ihrem Log Analytics-Arbeitsbereich gespeicherten Protokolle werden die ersten 31 Tage lang kostenlos aufbewahrt. Über diesen kostenlosen Aufbewahrungszeitraum hinaus gibt es eine Gebühr für das Speichern von Daten, die täglich pro Rata berechnet werden, basierend auf der Datenmenge (in GB), die jeden Monat aufbewahrt wird.

Eine Aufschlüsselung der Kosten für die Erfassung und Aufbewahrung von Daten finden Sie auf der Azure Monitor-Preisseite.

Protokollformat

In der folgenden Tabelle sind die Felder für den Typ PostgreSQLLogs beschrieben. Je nach ausgewähltem Ausgabeendpunkt können die enthaltenen Felder und die Reihenfolge, in der sie angezeigt werden, variieren.

Feld Beschreibung
TenantId Ihre Mandanten-ID
SourceSystem Azure
ZeitErzeugt [UTC] Zeitstempel für den Aufzeichnungsbeginn des Protokolls in UTC
type Typ des Protokolls Immer AzureDiagnostics
SubscriptionId GUID für das Abonnement, zu dem der Server gehört
ResourceGroup Name der Ressourcengruppe, zu der der Server gehört
ResourceProvider Name des Ressourcenanbieters Immer MICROSOFT.DBFORPOSTGRESQL
ResourceType FlexibleServers
resourceId Ressourcen-URI
Resource Name des Servers
Category PostgreSQLLogs
Vorgangsname LogEvent
errorLevel_s Protokollierungsstufe, z.B.: LOG, ERROR, NOTICE
processId_d Prozess-ID des PostgreSQL-Back-Ends
sqlerrcode_s PostgreSQL-Fehlercode gemäß den Konventionen des SQL-Standards für SQLSTATE-Codes
`Message` Primäre Protokollmeldung
Detail Sekundäre Protokollmeldung (falls zutreffend)
ColumnName Name der Spalte (falls zutreffend)
SchemaName Name des Schemas (falls zutreffend)
DatatypeName Name des Datentyps (falls zutreffend)
_ResourceId Ressourcen-URI

Bekannte Einschränkungen

  • Protokollereignisgröße: Abfragepläne oder Protokollnachrichten, die größer als 65 KB sind, werden in Azure Monitor-Protokollen nicht erfasst. Dies ist ein plattformweites Azure Monitor-Limit. Daher können komplexe Abfragen (z. B. mit geschachtelten Ansichten) unvollständige oder fehlende Abfrageplanausgabe in Serverprotokollen generieren.
  • Andere Einschränkungen: Andere plattformweite Grenzwerte gelten für Azure Monitor-Protokolle, z. B. Kontingente für Warnungsregeln und die Größe des Abfrageergebnisses. Ausführliche Informationen finden Sie in der Dokumentation zu den Azure Monitor-Dienstbeschränkungen.