Azure Cosmos DB for PostgreSQL 中的日志

适用对象: Azure Cosmos DB for PostgreSQL(由 PostgreSQL 的 Citus 数据库扩展提供支持)

群集的每个节点都可以获取 PostgreSQL 数据库服务器日志。 可以将日志发送到存储服务器或分析服务。 这些日志可用于识别、排除和修复配置错误和性能不佳问题。

捕获日志

要访问协调器或工作器节点的 PostgreSQL 日志,必须启用 PostgreSQL 服务器日志诊断设置。 在 Azure 门户的群集页面上,从左侧菜单中选择“诊断设置”,然后选择“添加诊断设置”。

Screenshot that shows Add diagnostic setting.

输入新诊断设置的名称,选择“PostgreSQL 服务器日志”框,然后选中“发送到 Log Analytics 工作区”框。 再选择“保存”。

Screenshot that shows settings for the diagnostic setting.

查看日志

要查看和筛选日志,请使用 Kusto 查询。 在 Azure 门户的群集页面上,从左侧菜单中选择“日志”。 关闭打开的初始屏幕和查询选择屏幕。

Screenshot that shows closing the opening query selection screen.

将以下查询粘贴到查询输入框中,然后选择“运行”。

AzureDiagnostics
| project TimeGenerated, Message, errorLevel_s, LogicalServerName_s

Screenshot that shows the query input box.

上面的查询列出了所有节点的日志消息及其严重性和时间戳。 可以添加 where 子句来筛选结果。 例如,若要仅查看协调器节点中的错误,请按如下查询所示筛选错误级别和服务器名称。 将服务器名称替换为你的服务器的名称。

AzureDiagnostics
| project TimeGenerated, Message, errorLevel_s, LogicalServerName_s
| where LogicalServerName_s == 'example-cluster-c'
| where errorLevel_s == 'ERROR'

协调器节点名称具有后缀 -c,而工作节点则以 -w0-w1 等后缀命名。

可以通过不同方式筛选 Azure 日志。 下面介绍如何查找过去一天中消息与正则表达式匹配的日志。

AzureDiagnostics
| where TimeGenerated > ago(24h)
| order by TimeGenerated desc
| where Message matches regex ".*error.*"

后续步骤