Freigeben über


Abfragen für die Tabelle "PGSQLServerLogs"

Informationen zur Verwendung dieser Abfragen im Azure-Portal finden Sie im Lernprogramm für Log Analytics. Informationen zur REST-API finden Sie unter "Abfrage".

Fehlermeldungen

Alle Fehlermeldungen aus dem PostgreSQL-Protokoll anzeigen.

// To create an alert for this query, click '+ New alert rule'
PGSQLServerLogs
| where ErrorLevel =~ "ERROR"
| order by TimeGenerated desc 
| take 100

Schwerwiegende Nachrichten

Zeigt alle tödlichen Nachrichten aus dem PostgreSQL-Protokoll an.

// To create an alert for this query, click '+ New alert rule'
PGSQLServerLogs
| where ErrorLevel =~ "FATAL"
| order by TimeGenerated desc 
| take 100

Erkennen von Deadlocks

Suchen Sie im PostgreSQL-Protokoll nach Deadlock-Ereignissen.

// To create an alert for this query, click '+ New alert rule'
PGSQLServerLogs
| where Message has "deadlock detected"
| order by TimeGenerated desc 
| take 100

Serverneustarts

Suchen Sie im PostgreSQL-Protokoll nach heruntergefahrenen Servern und serverbereiten Ereignissen.

// To create an alert for this query, click '+ New alert rule'
PGSQLServerLogs
| where Message has "database system was shut down" or Message has "database system is ready to accept"
| order by TimeGenerated asc
| take 100

Empfangene Verbindungen

Suchen Sie im PostgreSQL-Protokoll nach empfangenen Verbindungen.

// To create an alert for this query, click '+ New alert rule'
PGSQLServerLogs
| where Message has "connection received"
| extend allmatches=extract_all(@'host=(.+)port=(.+)', Message)
| project TimeGenerated, host=allmatches[0][0], port=allmatches[0][1], Message,ProcessId,ErrorLevel, SqlErrorCode
| order by TimeGenerated desc 
| take 100

Autorisierte Verbindungen

Suchen Sie im PostgreSQL-Protokoll nach autorisierten Verbindungsmeldungen.

// To create an alert for this query, click '+ New alert rule'
PGSQLServerLogs
| where Message has "connection authorized"
| extend allmatches=extract_all(@'user=(.+)database=(.\S+)', Message)
| project TimeGenerated, user=trim(@" ",tostring(allmatches[0][0])), database=allmatches[0][1], Message,ProcessId,ErrorLevel, SqlErrorCode
| where  ['user'] !='azuresu' //exclude Azure managed superuser
| order by TimeGenerated desc 
| take 100

Verbindungsfehler

Suchen Sie im PostgreSQL-Protokoll nach nicht autorisierten (fehlgeschlagenen) Verbindungen.

// To create an alert for this query, click '+ New alert rule'
PGSQLServerLogs
| where Message has "authentication failed" or SqlErrorCode in ('28000', '28P01', '3D000', '53300', '42501','08P01')
| where ErrorLevel =~'FATAL'
| order by TimeGenerated desc 
| take 100

Sperren von Inhalten

Suchen Sie im PostgreSQL-Protokoll nach Sperrkonflikten. Es erfordert Parameter log_lock_waits=ON.

// To create an alert for this query, click '+ New alert rule'
PGSQLServerLogs
| where Message has "still waiting for"
| order by TimeGenerated desc 
| take 100

Autovacuum-Ereignisse

Suchen Sie im PostgreSQL-Protokoll nach Autovacuum-Ereignissen. Der Parameter "log_autovacuum_min_duration" ist aktiviert.

PGSQLServerLogs
| where Message has "vacuum of table"
| order by TimeGenerated desc 
| take 100

Überwachungsprotokolle

Suchen Sie nach allen Überwachungsereignissen im PostgreSQL-Protokoll. Es erfordert, dass Überwachungsprotokolle aktiviert werden [https://learn.microsoft.com/azure/postgresql/flexible-server/concepts-audit].

PGSQLServerLogs
| where Message contains "AUDIT:"
| order by TimeGenerated desc 
| take 100