Azure Portal에서 이러한 쿼리를 사용하는 방법에 대한 자세한 내용은 Log Analytics 자습서를 참조하세요. REST API는 쿼리를 참조 하세요.
오류 메시지
PostgreSQL 로그의 모든 오류 메시지를 표시합니다.
// To create an alert for this query, click '+ New alert rule'
PGSQLServerLogs
| where ErrorLevel =~ "ERROR"
| order by TimeGenerated desc
| take 100
치명적인 메시지
PostgreSQL 로그의 모든 심각한 메시지를 표시합니다.
// To create an alert for this query, click '+ New alert rule'
PGSQLServerLogs
| where ErrorLevel =~ "FATAL"
| order by TimeGenerated desc
| take 100
교착 상태 검색
PostgreSQL 로그에서 교착 상태 이벤트를 검색합니다.
// To create an alert for this query, click '+ New alert rule'
PGSQLServerLogs
| where Message has "deadlock detected"
| order by TimeGenerated desc
| take 100
서버를 다시 시작합니다.
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
수신된 연결
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
권한이 부여된 연결
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
연결 실패
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
잠금 경합
PostgreSQL 로그에서 잠금 경합을 검색합니다. 매개 변수 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
자동 진공 이벤트
PostgreSQL 로그에서 자동 진공 이벤트를 검색합니다. 'log_autovacuum_min_duration' 매개 변수를 사용하도록 설정해야 합니다.
PGSQLServerLogs
| where Message has "vacuum of table"
| order by TimeGenerated desc
| take 100
감사 로그
PostgreSQL 로그에서 모든 감사 이벤트를 검색합니다. 감사 로그를 사용하도록 설정해야 합니다.[https://learn.microsoft.com/azure/postgresql/flexible-server/concepts-audit].
PGSQLServerLogs
| where Message contains "AUDIT:"
| order by TimeGenerated desc
| take 100