【问题标题】:how to find responsible query for higher RUs using log analytics of cosmos db azure如何使用 cosmos db azure 的日志分析为更高的 RU 找到负责任的查询
【发布时间】:2019-05-18 06:08:34
【问题描述】:

我想知道在 cosmos db azure 中的 cosmos db“诊断工具”支持中消耗更高 RU 的负责任查询。

我能够从 Azure 门户将 DataPlane 日志存储到日志分析/blob 存储中。在查看日志时,我看到名为“requestcharge_s”的字段。据我了解,这是该操作消耗的 RU。

我想知道与此日志条目对应的确切基础查询。我怎么能得到那个?我确实在日志条目中看到了“activityId_g”字段...但不知道是否有任何方法可以使用该字段值获取确切的查询。

我知道,在 cosmos db 上触发查询时,消耗的 RU 作为 HTTP 标头值之一返回。但是,我更希望在 azure 门户上看到它,以便更好地进行就地分析。

我在这里遗漏了什么?

【问题讨论】:

    标签: azure azure-cosmosdb


    【解决方案1】:

    布彭德拉。根据Interpret your logs 中的属性表,不存在使用 RU 记录确切查询的此类属性。

    事实上,对 Cosmos DB 的任何操作都会消耗 RU 和通过OperationName 属性区分操作类型的诊断日志记录。

    您可以在上面的链接中获得以下线索:

    1.TimeGenerated,操作发生的日期和时间(UTC)

    2.OperationName,该值可以是以下任意一种操作:Create、Update、Read、ReadFeed、Delete、Replace、Execute、SqlQuery、Query、JSQuery、Head、HeadFeed或Upsert。

    3.activityId_g,记录操作的唯一 GUID。

    4.ResourceId,根据执行的操作,该值可能指向databaseRid、collectionRid或documentRid。

    5.requestCharge_s,操作使用的RU个数。

    我认为您基本上可以找到客户端发送查询的位置。如果确实想知道具体的查询sql,可以在客户端添加打印SQL的日志,辅以运行时间来定位。

    【讨论】:

      猜你喜欢
      • 2019-04-24
      • 2022-11-12
      • 1970-01-01
      • 2021-08-14
      • 2020-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-06
      相关资源
      最近更新 更多