【问题标题】:Kusto - render timechart with trend line over a dataset already having an aggregation columnKusto - 在已经具有聚合列的数据集上呈现带有趋势线的时间表
【发布时间】:2022-11-08 05:35:02
【问题描述】:

我有一个函数可以获取每个主题/订阅的死信消息的总数(让我们将此列称为“messageCount”),并每天在traces 表中创建一条新记录。

我想要实现的是为我的工作簿呈现一个timechart,这将在过去 7 天内向我展示每个主题/订阅的趋势/演变,考虑到上面的聚合列('messageCount'),如果可能的话, 趋势线。

最重要的是,我想利用基于我的“messageCount”列的悬停效果,在App Insights Logs 中它显示了值,而在Workbook 中它没有。

到目前为止我已经尝试过:

traces
| where timestamp > ago(7d)
| extend
    TopicName = tostring(customDimensions["prop__TopicName"]), 
    SubscriptionName = tostring(customDimensions["prop__SubscriptionName"]),
    MessageCount = toint(customDimensions["prop__DlqCount"]),
    ["Topic/subscription"] = strcat(tostring(customDimensions["prop__TopicName"]), '/', tostring(customDimensions["prop__SubscriptionName"]))
| where cloud_RoleName startswith "myCloudName" and message has "customString"
| make-series take_any(MessageCount) on timestamp in range (ago(7d), now(), 1d) by SubscriptionName
| render timechart 

上述查询在Insights 的查询日志中运行良好,但在工作簿中没有相同的行为。任何提示/提示?谢谢

没有make-series 运算符的常规查询返回的样本

timestamp  | topicName | subscriptionName | messageCount
--------------------------------------------------------
10/31/2022 | myTopic1  | mysubscription1  |   915
10/31/2022 | myTopic2  | mysubscription2  |   1023
10/31/2022 | myTopic3  | mysubscription3  |   602
10/30/2022 | myTopic1  | mysubscription1  |   927
10/30/2022 | myTopic2  | mysubscription2  |   1029
10/30/2022 | myTopic3  | mysubscription3  |   608

编辑 - 与工作簿相比,日志中的悬停效果

Insights logs -

Workbook -

【问题讨论】:

  • “在工作簿中没有相同的行为”是什么意思?
  • 是关于工具提示行为的唯一问题吗?从我从非常有限的屏幕截图中可以看到,我看到非常相似的折线图?当前在工作簿中使用的图表不支持弹出工具提示(这就是日志团队在其图表中移至新控件的原因)。工作簿图表也只允许按一个值构建系列,因此默认将第一个可用字符串列作为系列。
  • 工作簿图表目前不直接支持趋势线。其他人的做法是将 2 组结果合并在一起,一组返回单独的线,另一组具有特定系列名称,用于计算趋势线。然后,您将使用图表设置 -> 系列选项卡来自定义趋势线系列数据的标签和样式

标签: azure-application-insights kql azure-monitor-workbooks


【解决方案1】:

我想要实现的是为我的工作簿呈现一个时间表,这将在过去 7 天内向我展示每个主题/订阅的趋势/演变,考虑到上面的聚合列('messageCount'),如果可能的话,还有一个趋势线。

  1. 工作簿仅支持基于一个字段拆分系列(您可以自定义 x、y 和系列列)

    要在工作簿中为每个主题+订阅获取系列行,您必须使用类似by strcat( subscriptionName, " - ", topicName ) 的方式将该字段组合作为一个值列返回

  2. 工作簿目前无法根据数据计算趋势线。
    其他人通过对相同数据运行 2 次查询来创建此功能,其中 1 次计算单个系列数据,另一个计算趋势线,然后使用 union 将这 2 项合并为一个结果。然后您可以使用chart settings -> series settings 自定义计算出的趋势线的标签和颜色

    在联合查询中执行此操作还可以让查询在工作簿之外的日志视图中工作。

    最重要的是,我想利用基于我的“消息计数”列的悬停效果,在 App Insights 日志中它显示了值,而在工作簿中却没有。

    不幸的是,当前构建工作簿的图表框架没有工具提示,它只有悬停行为,悬停值出现在底部的“指标”区域。日志团队将他们的经验建立在一个不同的框架上,该框架具有不同的风格和传说/悬停/等行为。

    各个团队(门户、日志、工作簿)正在努力向类似的框架融合,但这项工作是长期的,并不像我们想要的那么简单。

【讨论】:

    猜你喜欢
    • 2022-01-02
    • 2012-01-30
    • 1970-01-01
    • 1970-01-01
    • 2021-07-15
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    • 2018-09-09
    相关资源
    最近更新 更多