如何在Azure告警消息中包含Application Insights日志中的ID信息?
实现Azure Application Insights告警消息包含错误ID的方法
1. 修改日志查询语句,提取错误ID
首先要在告警的日志搜索查询中,通过Kusto语句提取出日志里的ID字段,让后续告警消息能引用该字段。
方法一:用parse函数解析固定格式日志
适合日志格式统一的场景,示例语句:
traces | where message contains "Error occurred" | parse message with * "Error occurred for ID: " error_id * | project error_id, message, timestamp
方法二:用extract函数正则匹配提取
如果日志格式有轻微变动,正则匹配更灵活,示例语句:
traces | where message contains "Error occurred" | extend error_id = extract(@"Error occurred for ID: (\d+)", 1, message) | project error_id, message, timestamp
2. 配置告警的自定义通知内容
在告警规则配置页面,找到通知或自定义操作模块:
- 进入“电子邮件/SMS/推送/语音”设置,开启“自定义电子邮件主题”和“自定义电子邮件内容”
- 在自定义内容里,用
{error_id}占位符引用查询中提取的字段,比如:检测到错误:{message},错误ID:{error_id},发生时间:{timestamp}
3. (可选)按错误ID拆分告警事件
如果希望每个不同的错误ID触发独立告警,可在告警规则的测量设置中:
- 选择“维度”并添加
error_id - 这样每个ID对应的错误都会生成单独的告警事件,消息中也会自动带上对应ID
内容的提问来源于stack exchange,提问作者Toby Yoo
相关产品推荐
相关产品推荐

