如何创建Azure Monitor警报以发送Sentinel每日使用情况
Azure Monitor 警报规则推送Sentinel每日使用数据配置方案
前置要求
- 操作账号需同时具备目标Sentinel工作区的日志读取权限、
Microsoft.Insights/scheduledQueryRules/write警报规则编辑权限,以及所选推送渠道的调用权限 - 确认Sentinel关联的Log Analytics工作区已开启
Usage、SentinelHealth表的日志采集,相关表留存期不短于24小时
具体配置流程
- 登录Azure门户,进入目标Sentinel实例绑定的Log Analytics工作区
- 左侧导航栏选择「日志」,在查询编辑器中输入Sentinel使用情况统计语句,先执行查询验证返回数据符合预期,参考查询语句如下:
// 统计Sentinel近24小时核心使用指标:计费数据摄入量、分析规则触发次数 Usage | where TimeGenerated > ago(24h) | where IsBillable == true | where WorkspaceSolution == "SecurityInsights" // 仅筛选Sentinel相关数据,排除工作区内其他服务日志 | summarize TotalIngestedGB = round(sum(Quantity)/1024, 2) by DataType | join kind=leftouter ( SentinelHealth | where TimeGenerated > ago(24h) | where SentinelResourceType == "Analytics rule" | where Status == "Success" | summarize TriggeredAlertCount = count() by RuleName ) on $left.DataType == $right.RuleName | extend ReportDate = format_datetime(datetime_utc_to_local(now(), "China Standard Time"), "yyyy-MM-dd") // 按需替换为本地时区
- 查询结果验证无误后,点击日志编辑器顶部的「新建警报规则」,进入规则配置向导
- 「条件」页配置:确认自定义日志搜索信号已自动填充上述查询,按后续关键参数说明配置阈值、时间范围、执行频率
- 「操作」页配置:选择提前创建好的操作组,按推送需求挂载对应动作:
- 邮件/短信/站内推送:直接选择「电子邮件/短信/推送/语音」动作,填写接收方信息
- 第三方IM渠道(Teams、飞书、企业微信)推送:选择「逻辑应用」动作,提前在逻辑应用中配置对应渠道的webhook推送逻辑
- 需要生成结构化日报附件:选择「自动化Runbook」或「Function App」动作,对查询返回的原始数据做二次格式化处理
- 「详细信息」页配置:填写规则名称、描述,选择规则存放的资源组与区域,将警报严重级别设置为「信息」(避免和安全类告警混淆),设置规则为启用状态
- 点击「查看+创建」,校验所有参数无误后完成规则部署
关键参数设置说明
- 查询时间范围:固定设置为
24小时,和执行频率每1天完全匹配,避免出现数据漏统计、重复统计问题 - 警报阈值:设置为「聚合值大于0」,只要查询返回有效统计数据就触发推送,不要设置过高阈值导致推送失败
- 维度拆分:如果需要按数据类型、Sentinel资源维度拆分展示明细,可添加
DataType、ReportDate作为拆分维度,推送时会自动按维度分组展示数据 - 自定义推送负载:对接第三方渠道时,需在动作配置中将查询返回的
TotalIngestedGB、TriggeredAlertCount、ReportDate字段映射到自定义JSON负载中,避免推送内容为空 - 抑制规则:无需额外配置警报抑制,执行频率设置为1天即可保证每日仅推送一次
注意事项
- 上述查询默认仅统计计费类Sentinel数据,如果需要包含免费层使用数据、操作审计数据,需要额外关联查询
SentinelAudit表补充对应维度 - 跨工作区、跨租户集中统计Sentinel使用场景,需要在KQL查询开头添加
union语句关联所有目标工作区,同时确保规则使用的账号具备所有关联工作区的日志读取权限 - 时间统计默认以UTC时区为基准,如果需要按本地时区生成日报,必须在查询中通过
datetime_utc_to_local()函数转换时间,否则会出现统计日期错位问题 - 如果使用逻辑应用/Function做二次报表处理,需要给对应资源开启系统托管标识,并给标识分配Log Analytics工作区的日志读取权限,避免鉴权失败导致推送中断
- 规则创建完成后前3天建议人工核验推送数据和Sentinel后台实际使用数据的一致性,确认统计逻辑无误后再正式投入使用
内容的提问来源于stack exchange,提问作者Dinesh
相关产品推荐
相关产品推荐

