You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Azure CDN访问日志的KQL查询:按设备类型统计独立IP占比

正确的KQL查询方案:Azure CDN苹果设备独立IP统计与饼图展示

核心查询代码

AzureDiagnostics
| where OperationName == "Microsoft.Cdn/Profiles/AccessLog/Write" and Category == "AzureCdnAccessLog"
// 按优先级标记设备类型,避免同一记录被多分类
| extend DeviceType = case(
    userAgent_s has "iphone", "iPhone",
    userAgent_s has "ipad", "iPad",
    userAgent_s has "macintosh", "Macintosh",
    ""
)
| where DeviceType != ""
// 去重:确保同一IP在同一设备类型下仅计数一次
| distinct clientIp_s, DeviceType
// 统计各设备类型的独立IP数量
| summarize UniqueIPCount = dcount(clientIp_s) by DeviceType
// 生成饼图展示占比
| render piechart with (title="苹果设备独立IP访问占比")

代码分步说明

  • 日志范围过滤:先限定OperationName和Category,确保只处理目标CDN访问日志。
  • 设备类型标记:使用case函数按优先级匹配userAgent_s中的关键词,给每条记录分配明确的设备类别,避免同一日志被多分类。
  • 无效记录排除:过滤未匹配到目标设备的日志,只保留有效数据。
  • 去重处理:通过distinct确保同一个IP在同一设备类型下仅保留一条记录,避免重复计数。
  • 统计计算:按设备类型分组,用dcount计算独立IP的数量。
  • 可视化输出:用render piechart直接生成占比饼图,添加标题提升可读性。

原代码问题分析

你之前的代码通过三个布尔字段(MacOS/iPhone/iPad)分组,会生成多组布尔值组合,不符合饼图需要的「单一类别-对应数值」结构;同时未处理同一IP多次访问的去重逻辑,导致统计结果不准确,无法直接生成符合需求的饼图。

内容的提问来源于stack exchange,提问作者itmmdj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 03:01:22