Aracılığıyla paylaş


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