Azure日志搜索警报:如何配置邮件显示Top 10查询结果
Azure日志搜索警报邮件显示Top N结果配置方案
核对查询语句的输出格式
无法展示Top10结果的应用,大概率是查询用了count()、summarize这类聚合语句,这类语句只会返回单条统计结果,邮件自然没有明细。调整成带top的明细查询,示例:AppInsightsLogs | where AppName == "目标应用名" | where SeverityLevel == 3 | top 10 by TimeGenerated desc确保查询能直接返回多条包含具体字段的日志记录。
开启自定义邮件模板并配置明细展示
编辑目标警报规则,进入「通知」模块的「电子邮件/SMS/推送/语音」设置:- 勾选「包含自定义电子邮件(JSON)」
- 使用自定义JSON模板渲染查询结果,示例模板可根据实际字段调整:
{ "subject": "[警报触发] {{AlertRuleName}}", "body": "<h2>警报详情</h2><p>触发时间:{{StartTime}}</p><h3>Top 10异常记录</h3><table border='1'><tr><th>时间</th><th>异常消息</th><th>请求ID</th></tr>{{#each SearchResults}}<tr><td>{{TimeGenerated}}</td><td>{{Message}}</td><td>{{RequestId}}</td></tr>{{/each}}</table>" }
这个模板会把查询返回的Top10结果转换成表格嵌入邮件正文,无需跳转Azure Portal就能查看明细。
确认警报的结果类型设置
在警报规则的「逻辑」配置里,将「结果类型」设为记录(不要选「指标测量」)。选指标测量的话,邮件只会展示聚合后的数值,不会返回明细日志。控制返回结果数量
在查询语句里用top N(比如top 10)明确指定要展示的结果条数,确保邮件里只显示需要的Top N明细。
内容的提问来源于stack exchange,提问作者msteel9999
相关产品推荐
相关产品推荐

