如何使用cosmos db azure的日志分析查找对较高RU的负责任查询

时间:2018-12-17 20:35:00

标签: azure azure-cosmosdb

我想知道负责的查询,这些查询消耗了cosmos db azure中来自cosmos db“诊断工具”支持的较高RU。

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

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

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

我在这里想念什么吗?

1 个答案:

答案 0 :(得分:0)

布彭德拉。根据{{​​3}}中的属性表,不存在使用RU记录准确查询的属性。

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

您可以在上面的链接中找到以下线索:

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

2.OperationName,此值可以是以下任何操作:创建,更新,读取,ReadFeed,删除,替换,执行,SqlQuery,查询,JSQuery,Head,HeadFeed或Upsert。

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

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

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

我认为您基本上可以找到客户端发送查询的位置。如果您确实想了解特定的查询sql,则可以将打印SQL的日志添加到客户端,并辅以定位操作时间。