PGSQLServerLogs tablosu için sorgular

Azure portalında bu sorguları kullanma hakkında bilgi için bkz. Log Analytics öğreticisi. REST API için bkz. Sorgu.

Hata iletileri

PostgreSQL günlüğündeki tüm hata iletilerini görüntüleyin.

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

Önemli iletiler

PostgreSQL günlüğündeki tüm önemli iletileri görüntüleyin.

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

Kilitlenmeleri algılama

PostgreSQL günlüğünde kilitlenme olaylarını arayın.

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

Sunucu yeniden başlatmaları

PostgreSQL günlüğünde sunucu kapatma ve sunucuya hazır olayları arayın.

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

Alınan bağlantılar

PostgreSQL günlüğünde alınan bağlantı iletilerini arayın.

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

Bağlantılar yetkilendirildi

PostgreSQL günlüğünde yetkili bağlantı iletilerini arayın.

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

Bağlantı hataları

PostgreSQL günlüğünde yetkisiz (başarısız) bağlantıları arayın.

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

Çakışmayı kilitle

PostgreSQL günlüğünde kilit çekişmesi için arama yapın. log_lock_waits=ON parametresi gerektirir.

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

Otomatik vakum olayları

PostgreSQL günlüğünde otomatik vakum olaylarını arayın. 'log_autovacuum_min_duration' parametresinin etkinleştirilmesi gerekir.

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

Denetim kayıtları

PostgreSQL günlüğünde tüm denetim olaylarını arayın. Denetim günlüklerinin [https://learn.microsoft.com/azure/postgresql/flexible-server/concepts-audit] etkinleştirilmesini gerektirir.

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