求助:如何通过Kusto查询获取Azure App Insights全部指定列指标
获取Azure Application Insights所有指定指标的KQL查询方案
直接用下面的KQL查询可以一次性获取所有指标,并输出你需要的Metric Name、Avg、Unique、Sum列:
// 合并所有日志表,筛选指标类型数据 union * | where Type == "Metric" // 统一指标名称字段 | extend MetricName = Name // 按指标名称聚合计算所需值 | summarize Avg = avg(todynamic(Value).Average), Unique = dcount(todynamic(Value).Unique), Sum = sum(todynamic(Value).Sum) by MetricName // 调整列名和顺序,匹配需求 | project-rename "Metric Name" = MetricName | project "Metric Name", Avg, Unique, Sum
关键说明:
union *:合并Application Insights中的所有日志表,确保不会遗漏任何指标where Type == "Metric":只保留指标类型的日志,过滤掉请求、异常等非指标数据todynamic(Value):指标的数值通常存储在动态类型的Value字段中,需要解析后提取对应的Average、Unique、Sum子字段- 若部分指标没有
Unique值(比如无唯一计数属性的指标),可以把Unique = dcount(...)改成Unique = coalesce(dcount(...), 0),将null替换为0 - 建议添加时间范围限定(比如开头加
| where timestamp between (ago(7d) .. now())),避免查询范围过大导致性能问题
如果你的指标存储结构和默认情况不同(比如Value不是动态对象),可以根据实际字段调整聚合逻辑,比如直接使用Value字段计算:
union * | where Type == "Metric" | extend MetricName = Name | summarize Avg = avg(Value), Unique = dcount(Value), Sum = sum(Value) by MetricName | project-rename "Metric Name" = MetricName | project "Metric Name", Avg, Unique, Sum
内容的提问来源于stack exchange,提问作者Naori Kuni
相关产品推荐
相关产品推荐

