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

Kusto如何排除属于指定白名单IP段范围内的对应IP数据行?

Kusto IP白名单过滤实现方案

以下是匹配你给出示例和期望输出的完整可运行查询:

// 定义白名单IP范围,将字符串格式转换为可操作的动态数组
let ranges_to_whitelist = parse_json("['127.0.0.1', '10.0.0.0/28']");
// 原始IP数据表
let big_table_of_rows = datatable (ip_range: string) ['1.2.3.4', '10.0.0.254', '172.16.1.2', '10.0.0.1'];
big_table_of_rows
| mv-apply whitelist_range = ranges_to_whitelist on (
    // 校验当前IP是否命中当前遍历的白名单范围
    | project is_match = ipv4_is_in_range(ip_range, tostring(whitelist_range))
    // 聚合判断单条IP是否命中任意一条白名单规则
    | summarize hit_any_whitelist = max(is_match)
)
// 按需求筛选:此处保留命中白名单的IP,和你给出的期望输出一致
| where hit_any_whitelist == true
// 输出仅保留IP字段
| project ip_range

关键逻辑说明

  • parse_json():将你示例中字符串格式的白名单列表转换为Kusto支持的动态数组,若你的白名单本身就是动态数组类型可省略该步骤
  • mv-apply:逐行遍历原始IP表,逐条匹配所有白名单规则,相较mv-expand不会产生大量冗余中间数据,更适合处理Azure Monitor这类大数据量场景
  • ipv4_is_in_range():原生支持单个IP、CIDR格式IP段的匹配,无需额外计算网段边界
  • 如果你实际需求是排除白名单内的IP,仅需将where条件修改为| where hit_any_whitelist == false即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 21:51:02