Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Сведения об использовании этих запросов на портале Azure см. в руководстве по 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
События autovacuum
Найдите события autovacuum в журнале 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