【问题标题】:Getting total request count to a cosmosDb using Log Analytics logs使用 Log Analytics 日志获取 cosmosDb 的总请求数
【发布时间】:2019-07-26 11:50:57
【问题描述】:

在 Azure 中,您可以在 cosmosDb 的概览选项卡中查看针对 CosmosDB 的请求数。我想使用 Log Analytics 诊断日志获得相同的数量(总请求数),但我不知道要计算哪些日志,因为日志比总请求数多。

在 3 月左右,我使用了一个逻辑,如果日志在 requestResourceId_s 字段中具有完整的自链接(带有数据库 ID/名称和集合 ID/名称),那么我会计算它。这似乎有效并且数字加起来了,但是当我不久前重新访问时,我注意到这不再有效了。然后我尝试使用collectionName_s != ""requestLength_s != "0"requestCharge_s != "0.000000" 过滤日志,使用 activityId 上的 distinct 运算符并将上述过滤器组合成不同的组合。但它总是返回错误的数字,我似乎无法找到总请求数。

AzureDiagnostics
| extend requestDatabaseId = extract("(^(/dbs/.*?)/)", 1, requestResourceId_s) 
| extend requestCollectionId = extract("((/colls/.*?)/)", 1, requestResourceId_s)
| where requestDatabaseId != "" and requestCollectionId != ""

这是我用来获取总请求计数的查询的要点。例如,它将计算具有/dbs/master/colls/master/docs" in requestResourceId_s的日志

例如,如果我看到总共有 97 个请求,按照我的旧逻辑,现在有 326 个日志被计算在内。

感谢任何帮助。

【问题讨论】:

    标签: azure-cosmosdb azure-log-analytics


    【解决方案1】:

    欢迎来到 Stack Overflow。

    AFAIK,您应该使用以下 Kusto 查询来获取发出的请求总数。

    AzureMetrics | where MetricName == "TotalRequests"
    

    上述工作的先决条件是使用诊断设置打开日志记录,如this 文档中所述。确保勾选 Metric 部分下的“Requests”框,如下面的屏幕截图中突出显示的那样。

    请参阅this 文档以了解当前支持的所有指标。如果将来支持任何 Azure 资源更改的指标,那么this 上的信息可能会更新。

    希望这会有所帮助!!干杯!!

    【讨论】:

    • 但是是否可以仅从 AzureDiagnostics 选项卡获取总请求数?因为我的最终目标是查看每个数据库和集合上发出了多少请求。有些日志有这个信息,只是我找不到我可以计算的日志。这些数字似乎永远不会加起来。
    猜你喜欢
    • 2019-10-25
    • 2018-10-06
    • 1970-01-01
    • 2020-06-29
    • 2021-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多