Freigeben über


Konfigurieren und Zugreifen auf Protokolle in Der Azure-Datenbank für PostgreSQL

Protokolle von Azure Database for PostgreSQL – Flexible Server-Instanzen sind auf jedem Knoten eines Servers verfügbar. Sie können Protokolle an einen Speicherserver oder einen Analysedienst senden. Die Protokolle dienen zur Identifizierung, Behebung und Reparatur von Konfigurationsfehlern und suboptimaler Leistung.

Konfigurieren von Diagnoseeinstellungen

Sie können Diagnoseeinstellungen für Ihre Instanz von Azure Database for PostgreSQL – Flexible Server mithilfe des Azure-Portals, der CLI, der REST-API und PowerShell aktivieren. Die auszuwählende Protokollkategorie ist PostgreSQLLogs.

So aktivieren Sie Ressourcenprotokolle über das Azure-Portal:

  1. Wechseln Sie im Portal im Navigationsmenü Ihrer Instanz von Azure Database for PostgreSQL – Flexible Server zu Diagnoseeinstellungen.

  2. Wählen Sie Diagnoseeinstellung hinzufügen aus. Schaltfläche „Diagnoseeinstellungen hinzufügen“

  3. Benennen Sie die Einstellung.

  4. Wählen Sie Ihren bevorzugten Endpunkt aus (Log Analytics-Arbeitsbereich, Speicherkonto, Event Hub).

  5. Wählen Sie den Protokolltyp aus der Liste der Kategorien aus (Serverprotokolle, Sitzungsdaten, Abfragespeicher-Runtime/Wartestatistik usw.) Screenshot der Auswahl von Protokollkategorien.

  6. Speichern Sie die Einstellungen.

Informationen zum Aktivieren von Ressourcenprotokollen über PowerShell, die CLI oder die REST-API finden Sie im Artikel zu den Diagnoseeinstellungen.

Zugreifen auf Ressourcenprotokolle

Die Art und Weise, wie Sie auf die Protokolle zugreifen, hängt vom gewählten Endpunkt ab. Informationen zu Azure Storage finden Sie im Artikel Protokollspeicherkonto. Informationen zu Event Hubs finden Sie im Artikel zum Streamen von Azure-Protokollen.

Bei Azure Monitor-Protokollen werden die Protokolle an den von Ihnen ausgewählten Arbeitsbereich gesendet. Die Azure-Datenbank für PostgreSQL-Protokolle verwenden den AzureDiagnostics-Sammlungsmodus , sodass sie aus der AzureDiagnostics-Tabelle abgefragt werden können. Die Felder der Tabelle sind unten beschrieben. Weitere Informationen zu Abfragen und Warnungen finden Sie in der Übersicht über Abfragen für Azure Monitor-Protokolle.

Hier sind Abfragen angegeben, die Sie als Einstieg ausprobieren können. Sie können Warnungen basierend auf Abfragen konfigurieren.

Suchen Sie nach allen Azure Database for PostgreSQL-Protokollen für einen bestimmten Server innerhalb des letzten Tages.

AzureDiagnostics
| where Resource == "myservername"
| where Category == "PostgreSQLLogs"
| where TimeGenerated > ago(1d) 

Suchen nach allen Nicht-Localhost-Verbindungsversuchen. Die folgende Abfrage zeigt Ergebnisse in den letzten 6 Stunden für jede Azure-Datenbank für die PostgreSQL-Protokollierung in diesem Arbeitsbereich an.

AzureDiagnostics
| where Message contains "connection received" and Message !contains "host=127.0.0.1"
| where Category == "PostgreSQLLogs" and TimeGenerated > ago(6h)

Suchen Sie nach PostgreSQL-Sitzungen in der Azure-Datenbank, die in den letzten 24 Stunden aus der pg_stat_activity-Systemansicht für einen bestimmten Server gesammelt wurden.

AzureDiagnostics
| where Resource == "myservername"
| where Category =='PostgreSQLFlexSessions'
| where TimeGenerated > ago(1d) 

Suchen Sie nach Abfragespeicher-Runtimestatistiken für Azure Database for PostgreSQL, die von query_store.qs_view für einen bestimmten Server am vergangenen Tag gesammelt wurden. Es erfordert Abfragespeicher, um aktiviert zu werden.

AzureDiagnostics
| where Resource == "myservername"
| where Category =='PostgreSQLFlexQueryStoreRuntime'
| where TimeGenerated > ago(1d) 

Suchen Sie nach Azure Database for PostgreSQL Query Store-Wartestatistiken, die innerhalb des letzten Tages für query_store.pgms_wait_sampling_view für einen bestimmten Server gesammelt wurden. Es ist erforderlich, die Stichprobenentnahme für Wartezeiten für den Abfragespeicher zu aktivieren.

AzureDiagnostics
| where Resource == "myservername"
| where Category =='PostgreSQLFlexQueryStoreWaitStats'
| where TimeGenerated > ago(1d) 

Suchen Sie nach Autovacuum- und Schemastatistiken von Azure Database for PostgreSQL für jede Datenbank in einem bestimmten Server am vergangenen Tag.

AzureDiagnostics
| where Resource == "myservername"
| where Category =='PostgreSQLFlexTableStats'
| where TimeGenerated > ago(1d) 

Suchen Sie nach verbleibenden Azure Database for PostgreSQL-Transaktionen und Multixacts bis zum Notfall-Autovacuum- oder Wraparound-Schutz für jede Datenbank für einen bestimmten Server innerhalb des letzten Tages.

AzureDiagnostics
| where Resource == "myservername"
| where Category =='PostgreSQLFlexDatabaseXacts'
| where TimeGenerated > ago(1d)