Condividi tramite


Query per la tabella PGSQLServerLogs

Per informazioni sull'uso di queste query nel portale di Azure, vedere Esercitazione su Log Analytics. Per l'API REST, vedere Query.

Messaggi di errore

Visualizzare tutti i messaggi di errore dal log postgreSQL.

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

Messaggi irreversibili

Visualizzare tutti i messaggi irreversibili dal log postgreSQL.

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

Rilevare deadlock

Cercare gli eventi deadlock nel log postgreSQL.

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

Riavvii del server

Cercare gli eventi pronti per il server e arrestare il server nel log postgreSQL.

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

Connessioni ricevute

Cercare i messaggi di connessioni ricevuti nel log postgreSQL.

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

Connessioni autorizzate

Cercare i messaggi di connessioni autorizzate nel log postgreSQL.

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

Errori di connessione

Cercare connessioni non autorizzate (non riuscite) nel log postgreSQL.

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

Contesa di blocco

Cercare conflitti di blocco nel log postgreSQL. Richiede il parametro 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

Eventi autovacuum

Cercare eventi autovacuum nel log postgreSQL. Richiede il parametro 'log_autovacuum_min_duration' abilitato.

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

Registri di audit

Cercare tutti gli eventi di controllo nel log postgreSQL. Richiede l'abilitazione dei log di controllo [https://learn.microsoft.com/azure/postgresql/flexible-server/concepts-audit].

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