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

如何在上传至Log Analytics前过滤Azure Data Lake Store备份日志?

嗨,针对你遇到的Azure Data Lake Store备份日志占用Log Analytics存储空间、产生高额成本的问题,我整理了几个实用方案,从源头拦截到后期清理都有覆盖,你可以根据自身场景选择:

方案一:在诊断设置阶段直接过滤BACKUP用户日志(上传前拦截)

这是最直接的方式,从日志生成的源头就把BACKUP用户的记录拦下来,根本不会传到Log Analytics里。具体操作步骤:

  • 打开你的ADLS账户(不管是Gen1还是Gen2),找到左侧菜单的「诊断设置」
  • 新建或者编辑现有的诊断设置,在日志类别(比如StorageRead、StorageWrite这类)下方,点击「添加筛选器」
  • 选择筛选字段为identity,操作符选「不等于」,填入你的BACKUP用户的具体标识(注意要和日志里的用户名称完全匹配,比如是服务主体的名称或者用户UPN)
  • 保存设置后,后续只有非BACKUP用户的日志会被发送到Log Analytics,直接从源头减少无效数据
方案二:用Event Hub做中间层实现自定义过滤

如果原生诊断设置的筛选逻辑满足不了你的需求(比如需要结合多个字段判断),可以加一层Event Hub做中转,用自定义代码过滤后再推送到Log Analytics:

  • 先修改ADLS的诊断设置,把日志发送到Event Hub而不是直接到Log Analytics
  • 创建一个Azure Function(用Python、C#都行),触发源设置为你的Event Hub
  • 在Function代码里写逻辑:解析每条日志的identity字段,判断是否为BACKUP用户,只保留符合要求的日志
  • 把处理后的日志通过Log Analytics的Data Collector API发送过去
  • 这种方式适合复杂过滤场景,但会多一层架构,需要维护Function的代码和运行状态
方案三:Log Analytics端配置自动清理策略(上传后处理)

如果暂时没法调整源头的推送设置,也可以在Log Analytics里做后期清理:

  • 自定义数据保留:针对ADLS日志对应的表(比如StorageBlobLogs),设置比其他审计日志更短的保留期——比如备份日志只保留7天,核心审计日志保留365天,到期后自动删除
  • 自动化删除:创建日志查询规则,定期运行查询找出BACKUP用户的日志,然后用Azure Automation Runbook调用Log Analytics的删除API清理这些记录(注意:删除操作需要对应权限,一定要测试好再批量执行,避免误删有效日志)
额外小建议
  • 先去Log Analytics里查一下BACKUP用户的日志具体是哪些操作,比如是不是只有复制类操作,如果是,也可以直接在诊断设置里过滤掉CopyBlob这类操作,可能比按用户过滤更精准
  • 配置完策略后,记得定期查看Log Analytics的使用报告,确认成本和存储空间的变化,随时调整策略

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 06:43:11