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

如何为订阅内所有VM的Data Collection Rule删除事件创建警报?

订阅级VM Data Collection Rule(DCR)删除/移除警报解决方案

一、完整警报规则设置步骤

  • 确保AzureActivity日志订阅级收集
    确认你的Log Analytics工作区已配置订阅级的AzureActivity日志采集,否则无法捕获跨所有VM的操作事件。
  • 创建日志查询警报规则
    进入Azure Monitor > 警报 > 创建 > 警报规则,范围选择目标订阅;信号类型选“日志”,信号名称选“自定义日志搜索”;粘贴修正后的Kusto查询(见下文);配置触发条件:设置“基于”为“结果数”,阈值设为“大于0”,评估频率和窗口根据需求调整(比如5分钟评估一次,查看过去5分钟的日志)。
  • 配置通知
    添加已创建的通知组(包含邮件、短信、Teams等通知方式),确保触发时能及时推送告警。
  • 设置警报详细信息
    填写警报名称、描述,分配到合适的资源组,完成创建。

二、修正后的Kusto查询

你的原查询仅捕获DCR资源本身的删除事件,但未覆盖VM与DCR的关联被移除的场景(这也是VM上DCR失效的常见情况)。以下是覆盖两种核心场景的查询:

AzureActivity
// 捕获两类关键事件:DCR本身删除、VM与DCR的关联移除
| where OperationNameValue in (
    "Microsoft.Insights/dataCollectionRules/delete",
    "Microsoft.Compute/virtualMachines/providers/dataCollectionRuleAssociations/delete",
    "Microsoft.Insights/dataCollectionRuleAssociations/delete"
)
| where ActivityStatusValue == "Succeeded"
// 可选过滤:仅保留与VM相关的事件,排除无关DCR操作
| where ResourceType contains "virtualMachines" or Properties contains "virtualMachines"
| project
    事件时间 = EventTimestamp,
    操作类型 = OperationName,
    资源名称 = Resource,
    受影响VM = tostring(parse_json(Properties).resourceId),
    操作人 = Caller

说明:

  • 新增两种关联删除的操作名,完整覆盖VM上DCR失效的场景
  • 可选过滤条件确保只保留和VM相关的事件,减少误告警
  • 投影字段整理了关键信息,便于告警通知中快速定位问题

三、跨订阅监控最佳实践

  • 使用管理组范围:如果需要监控多个订阅,将警报范围设置为管理组,而非单个订阅,实现批量覆盖。
  • 按需选择警报类型:对于DCR本身的删除事件,也可以直接创建活动日志警报(信号类型选“活动日志”,事件类别选“管理”,操作名称选“删除数据收集规则”),这种方式无需依赖Log Analytics,延迟更低。
  • 确保日志采集完整性:定期验证Log Analytics工作区的AzureActivity日志采集设置,确认包含所有需要监控的订阅/资源组。
  • 结合权限与策略管控:限制能修改DCR或其关联的用户权限,同时用Azure Policy创建强制规则,防止未经授权的删除操作。
  • 定期测试告警有效性:手动触发一次DCR关联删除操作,验证警报是否正常触发并推送通知。
  • 整合集中监控体系:如果有企业级SIEM系统(如Azure Sentinel),将这些告警同步到SIEM,实现统一监控和响应。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 17:48:22