Azure Database for PostgreSQL 灵活服务器中的日志

适用于: Azure Database for PostgreSQL - 灵活服务器

Azure Database for PostgreSQL 灵活服务器让你可以配置和访问 Postgres 的标准日志。 这些日志可用于识别、排除和修复配置错误和性能不佳问题。 可以配置和访问的日志信息包括错误、查询信息、autovacuum 记录、连接和检查点。 (无法访问事务日志)。

审核日志是通过 Postgres 扩展 pgaudit 提供的。 有关详细信息,请访问审核的概念一文。

配置日志记录

可以使用日志记录服务器参数在服务器上配置 Postgres 标准日志记录。 若要详细了解 Postgres 日志参数,请访问 Postgres 文档的何时记录日志记录哪些内容部分。 可以在 Azure Database for PostgreSQL 灵活服务器中配置大部分(但并非所有)PostgreSQL 日志记录参数。

若要了解如何在 Azure Database for PostgreSQL 灵活服务器中配置参数,请参阅门户文档CLI 文档

注意

配置大量日志(例如,语句日志记录)可能会显著增大性能开销。

访问日志

Azure Database for PostgreSQL 灵活服务器集成了 Azure Monitor 诊断设置。 诊断设置让你可以将 JSON 格式的 Azure Database for PostgreSQL 灵活服务器日志发送到 Azure Monitor 日志以用于分析和警报、发送到事件中心进行流式处理,或者发送到 Azure 存储进行存档。

数据保留策略和定价

如果选择事件中心或存储帐户,可以指定保留策略。 此策略删除早于选定时间段的数据。 如果指定 Log analytics,保留策略将取决于所选的定价层。 引入到 Log Analytics 工作区的日志最多可免费保留 31 天。 超出这些免费期限而保留的日志将按保留一个月的每 GB 数据收费(按日按比例计算)。 有关更多详细信息,请参阅 Azure Monitor 定价

日志格式

下表描述了 PostgreSQLLogs 类型的字段。 包括的字段以及它们的出现顺序可能有所不同,具体取决于你选择的输出终结点。

字段 说明
TenantId 租户 ID
SourceSystem Azure
TimeGenerated [UTC] 记录日志时的时间戳 (UTC)
类型 日志的类型。 始终是 AzureDiagnostics
SubscriptionId 服务器所属的订阅的 GUID
resourceGroup 服务器所属的资源组的名称
ResourceProvider 资源提供程序的名称。 始终是 MICROSOFT.DBFORPOSTGRESQL
ResourceType FlexibleServers
ResourceId 资源 URI
资源 服务器的名称
Category PostgreSQLLogs
OperationName LogEvent
errorLevel_s 日志记录级别,例如:LOG, ERROR, NOTICE
processId_d PostgreSQL 后端的进程 ID
sqlerrcode_s PostgreSQL 错误代码,遵循 SQL 标准版针对 SQLSTATE 代码的约定
Message 主要日志消息
详细信息 辅助日志消息(如果适用)
ColumnName 列名称(如果适用)
SchemaName 架构名称(如果适用)
DatatypeName 数据类型名称(如果适用)
_ResourceId 资源 URI

后续步骤