Delen via


Query's voor de tabel PGSQLServerLogs

Zie de zelfstudie over Log Analytics voor meer informatie over het gebruik van deze query's in Azure Portal. Zie Query voor de REST API.

Foutberichten

Alle foutberichten uit het PostgreSQL-logboek weergeven.

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

Onherstelbare berichten

Alle onherstelbare berichten uit het PostgreSQL-logboek weergeven.

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

Impasses detecteren

Zoek naar impasse-gebeurtenissen in het PostgreSQL-logboek.

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

Server wordt opnieuw opgestart

Zoek naar gebeurtenissen voor het afsluiten van de server en de server in het PostgreSQL-logboek.

// 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

Ontvangen verbindingen

Zoek naar ontvangen verbindingsberichten in het PostgreSQL-logboek.

// 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

Geautoriseerde verbindingen

Zoek naar geautoriseerde verbindingsberichten in het PostgreSQL-logboek.

// 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

Verbindingsfouten

Zoek naar niet-geautoriseerde (mislukte) verbindingen in het PostgreSQL-logboek.

// 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

Conflicten vergrendelen

Zoek naar vergrendelingsconflicten in het PostgreSQL-logboek. Hiervoor is parameter log_lock_waits=AAN vereist.

// 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-gebeurtenissen

Zoek naar autovacuum-gebeurtenissen in het PostgreSQL-logboek. Hiervoor is parameter 'log_autovacuum_min_duration' ingeschakeld.

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

Controlelogboeken

Zoek naar alle controlegebeurtenissen in het PostgreSQL-logboek. Hiervoor moeten auditlogboeken [https://learn.microsoft.com/azure/postgresql/flexible-server/concepts-audit] worden ingeschakeld.

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