配置和访问 Azure Database for PostgreSQL 灵活服务器中的日志
适用于: Azure Database for PostgreSQL 灵活服务器
Azure Database for PostgreSQL 灵活服务器日志在灵活服务器的每个节点上都可用。 可以将日志发送到存储服务器或分析服务。 这些日志可用于识别、排除和修复配置错误和性能不佳问题。
配置诊断设置
可以使用 Azure 门户、CLI、REST API 和 PowerShell 为 Azure Database for PostgreSQL 灵活服务器实例启用诊断设置。 要选择的日志类别为“PostgreSQLLogs”。
若要使用 Azure 门户启用资源日志:
在门户上 Azure Database for PostgreSQL 灵活服务器实例的导航菜单中,转到“诊断设置”。
选择“添加诊断设置”。
为此设置命名。
选择你偏好的终结点(Log Analytics 工作区、存储帐户、事件中心)。
从类别列表(服务器日志、会话数据、查询存储运行时/等待统计信息等)中选择日志类型
保存设置。
若要使用 PowerShell、CLI 或 REST API 启用资源日志,请访问诊断设置一文。
访问资源日志
访问日志的方式取决于所选的终结点。 有关 Azure 存储,请参阅日志存储帐户一文。 有关事件中心,请参阅流式传输 Azure 日志一文。
Azure Monitor 日志将发送到所选的工作区。 Azure Database for PostgreSQL 灵活服务器日志使用 AzureDiagnostics 收集模式,因此可以从 AzureDiagnostics 表查询它们。 下面描述了该表中的字段。 在 Azure Monitor 日志查询概述中详细了解查询和警报。
下面是可帮助你入门的查询。 可以基于查询配置警报。
搜索特定服务器在过去一天内的所有 Azure Database for PostgreSQL 灵活服务器日志。
AzureDiagnostics
| where Resource == "myservername"
| where Category == "PostgreSQLLogs"
| where TimeGenerated > ago(1d)
搜索所有非 localhost 连接尝试。 以下查询将显示此工作区中记录的任何 Azure Database for PostgreSQL 灵活服务器在过去 6 小时内的结果。
AzureDiagnostics
| where Message contains "connection received" and Message !contains "host=127.0.0.1"
| where Category == "PostgreSQLLogs" and TimeGenerated > ago(6h)
搜索特定服务器在过去一天内从 pg_stat_activity
系统视图收集的 Azure Database for PostgreSQL 灵活服务器会话。
AzureDiagnostics
| where Resource == "myservername"
| where Category =='PostgreSQLFlexSessions'
| where TimeGenerated > ago(1d)
搜索特定服务器在过去一天内从 query_store.qs_view
收集的 Azure Database for PostgreSQL 灵活服务器查询存储运行时统计信息。 它需要启用查询存储。
AzureDiagnostics
| where Resource == "myservername"
| where Category =='PostgreSQLFlexQueryStoreRuntime'
| where TimeGenerated > ago(1d)
搜索特定服务器在过去一天内从 query_store.pgms_wait_sampling_view
收集的 Azure Database for PostgreSQL 灵活服务器查询存储等待统计信息。 它需要启用查询存储等待采样。
AzureDiagnostics
| where Resource == "myservername"
| where Category =='PostgreSQLFlexQueryStoreWaitStats'
| where TimeGenerated > ago(1d)
搜索特定服务器在过去一天内的每个数据库的 Azure Database for PostgreSQL 灵活服务器自动清理和架构统计信息。
AzureDiagnostics
| where Resource == "myservername"
| where Category =='PostgreSQLFlexTableStats'
| where TimeGenerated > ago(1d)
搜索特定服务器在过去一天内的每个数据库的 Azure Database for PostgreSQL 灵活服务器剩余事务和多事务紧急自动清理或包装保护。
AzureDiagnostics
| where Resource == "myservername"
| where Category =='PostgreSQLFlexDatabaseXacts'
| where TimeGenerated > ago(1d)