如何在 Azure Monitor 指标中查看 Azure PostgreSQL Flex Server 实例的最旧查询结果

问题描述 投票:0回答:1

我有一个 Azure PostgreSQL Flex Server 实例,部署了适当的共享库集,特别是服务器参数

AUTO_EXPLAIN
,根据用于识别慢速查询的 azure 文档,在其他所需参数中已启用。

服务器在几分钟内重新启动,我将

auto_explain.log_min_duration 设置为 5000

(毫秒)。

此后,我对该实例进行了查询,需要 6 秒多的时间才能完成。然而,在 Azure Monitor Metrics 边栏选项卡中,我使用以下内容进行了查询:

    范围 --> psql 实例
  • Metric 命名空间 --> PostgreSQL 灵活服务器
  • 公制 -->
  • Oldest Query
    
    
  • 聚合类型 -->
  • Max
    (只有一种)
结果为零。

其他指标运行良好,例如

Database Is Alive

是否缺少启用

查询存储的部分?

Az Flex Server 查询性能洞察

postgresql azure metrics azure-monitoring
1个回答
0
投票
正如您所提到的,您已经为服务器参数启用了所需的共享库,

AUTO_EXPLAIN

并且您想要执行 Metric 以查看最旧的查询。

    启用自动解释
使用 PostgreSQL 客户端连接到 Azure PostgreSQL Flex Server 并运行命令

ALTER SYSTEM SET aut_explain.log = 'on' RESTART;
此设置适用于整个 PostgreSQL 实例中的所有会话,并尝试启用 

auto_explain

 扩展的日志记录功能。

接下来,正如您所要求的,您要查询最旧的查询 使用 PostgreSQL 客户端连接到 Azure PostgreSQL Flex Server 并运行命令

SELECT query, execution_time, timestamp FROM pg_stat_statements ORDER BY timestamp DESC LIMIT 10;
上述查询尝试从 

pg_stat_statements

 系统视图检索有关最近执行的查询的信息。

运行上述查询后,您可以在 Azure Monitor 指标中查看查询结果 在 Azure Monitor Metrics 中查看查询结果

Azure PostgreSQL Flex Server > 监视器 > 指标 > 选择“pg_stat_statements”作为指标名称。

选择所需的时间范围。 单击“

查询”选项卡并运行以下查询:

SELECT query, execution_time, timestamp FROM pg_stat_statements ORDER BY timestamp DESC LIMIT 10;
    
© www.soinside.com 2019 - 2024. All rights reserved.