Поделиться через


Журналы в Базе данных Azure для PostgreSQL

База данных Azure для PostgreSQL позволяет настраивать и получать доступ к стандартным журналам Postgres. Они позволяют выявлять и устранять ошибки, связанные с конфигурацией или неоптимальной производительностью. Можно настроить регистрацию в журнале следующей информации и доступ к ней: ошибки, сведения о запросах, записи автоматической очистки, соединения и контрольные точки. (Доступ к журналам транзакций недоступен).

Ведение журнала аудита предоставляется через расширение Postgres pgaudit. Дополнительные сведения см. в статье Основные понятия аудита.

Настройка журнала

Чтобы настроить ведение стандартного журнала Postgres на своем сервере, нужно задать некоторые параметры. Дополнительные сведения о параметрах журнала Postgres см. в разделах документации по Postgres о том, когда и что можно записывать в журналы. Большинство, но не все параметры ведения журнала Postgres доступны для настройки в Базе данных Azure для PostgreSQL.

Сведения о настройке параметров в Базе данных Azure для PostgreSQL см. в документации по порталу или документации по CLI.

Примечание.

Чтобы настроить большой объем журналов, можно создать значительную нагрузку на производительность. Например, ведение журнала инструкций может повлиять на производительность.

Журналы доступа

База данных Azure для PostgreSQL интегрирована с параметрами диагностики Azure Monitor. Параметры диагностики позволяют отправлять журналы PostgreSQL в формате JSON в журналы Azure Monitor для аналитики и оповещений. Вы также можете передавать их в Центры событий или архивировать их в службе хранилища Azure.

Управление доступом для журналов

Доступ к журналам сервера контролируется через управление доступом на основе ролей Azure (RBAC). Любая роль, предоставляющая доступ на чтение к серверу, также позволяет скачивать журналы. Сюда входят встроенные роли, такие как:

  • Читатель
  • Monitoring Reader (Читатель данных мониторинга)
  • Читатель данных Log Analytics
  • Или эквивалентные пользовательские роли

Предупреждение

Журналы могут содержать конфиденциальную информацию, например учетные данные в зависимости от конфигурации ведения журнала.

Политика хранения данных и цены

Для журналов, отправленных в Центры событий или учетную запись хранения, можно настроить политику хранения для автоматического удаления данных после определенного периода. Затраты Log Analytics зависят от двух факторов:

  • Прием данных. Плата зависит от объема данных, которые отправляются в рабочую область.
  • Хранение данных. Журналы, хранящиеся в рабочей области Log Analytics, хранятся бесплатно в течение первых 31 дней. За этот бесплатный период хранения взимается плата за хранение данных, вычисляемую на основе ежедневного пропорционального объема данных (в ГБ), сохраняемого каждый месяц.

Сведения о затратах, связанных с приемом данных и хранением, см. на странице цен Azure Monitor.

Формат журнала

В следующей таблице описаны поля для типа PostgreSQLLogs. В зависимости от выбранной конечной точки вывода поля и порядок их отображения может отличаться.

Поле Description
TenantId Идентификатор клиента
SourceSystem Azure
ВремяСоздания [UTC] Метка времени, когда журнал был записан в формате UTC
Тип Тип журнала Всегда AzureDiagnostics
SubscriptionId Идентификатор GUID для подписки, принадлежащей серверу
ResourceGroup Имя группы ресурсов, принадлежащей серверу
ResourceProvider Имя поставщика ресурсов. Всегда MICROSOFT.DBFORPOSTGRESQL
ResourceType FlexibleServers
ResourceId Универсальный код ресурса (URI)
Ресурс Имя сервера
Категория PostgreSQLLogs
OperationName LogEvent
errorLevel_s Уровень ведения журнала, например: LOG, ERROR, NOTICE
processId_d Идентификатор процесса серверной части PostgreSQL
sqlerrcode_s Код ошибки PostgreSQL, который следует соглашениям стандарта SQL для кодов SQLSTATE
Сообщение Первичное сообщение журнала
Подробный сведения Второстепенное сообщение журнала (если применимо)
ColumnName Имя столбца (если применимо)
Имя схемы Имя схемы (если применимо)
DatatypeName Имя типа данных (если применимо)
_ResourceId Универсальный код ресурса (URI)

Известные ограничения

  • Размер события журнала: планы запросов или сообщения журнала, размер которых превышает 65 КБ, не фиксируются в Azure Monitor Logs. Это ограничение на уровне платформы Azure Monitor. В результате сложные запросы (например, связанные с вложенными представлениями) могут генерировать неполные или отсутствующие выходные данные плана запросов в журналах сервера.
  • Другие ограничения: другие ограничения на уровне платформы применяются к журналам Azure Monitor, таким как квоты правил генерации оповещений и размер результата запроса. Полный список см. в документации по ограничениям службы Azure Monitor .