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

如何将Azure Application Insights查询结果嵌入告警JSON用于邮件通知?

问题诊断与解决

你的方案存在的核心问题

你创建的日志搜索告警默认只会返回告警触发的判定结果(比如"符合阈值≥1")和查询语句,不会主动附带KQL查询的详细结果——这类告警的设计逻辑是基于聚合后的统计值(比如异常计数)触发,而非直接返回原始查询数据。

两种可行解决方法

方法一:修改告警规则,开启"包含查询结果"选项

这是最直接的方式,让告警触发时自动把查询结果塞进Webhook JSON里:

  • 打开Azure门户,找到你的自定义日志搜索告警规则,进入「编辑规则」页面
  • 切换到「条件」配置页,在「警报逻辑」区域找到**「包含查询结果」**选项,设置为「是」
  • 按需调整「结果集数量」(比如限制最多返回50条异常记录)
  • 保存规则后,下次告警触发时,Webhook的JSON payload里会新增SearchResults字段,里面就是你KQL查询返回的所有投影字段数据

方法二:在Logic App中主动查询结果(适合无法修改告警规则的场景)

如果没法调整告警配置,就在Logic App里主动调用Application Insights API拉取数据:

  1. 在Logic App的触发动作之后,添加一个「HTTP」动作
  2. 配置请求参数:
    • 方法:POST
    • URL:https://api.applicationinsights.io/v1/apps/{你的AI资源ID}/query(替换{你的AI资源ID}为实际值,可在AI资源的「概述」页找到)
    • 请求头:添加x-api-key,值为你的AI资源API密钥(在AI资源的「API访问」页生成)
    • 请求体:填入你的KQL查询语句,格式如下:
      {
        "query": "exceptions | where severityLevel >= 4 | where timestamp > ago(30m) | project timestamp, type, assembly, method, outerMessage, severityLevel, customDimensions | order by timestamp desc Alternatively	id横向比		 host and sit\_	                Includingnext链接INST host使用的是默认的日志搜索告警,这种告警只返回告警触发的状态和查询语句,不会附带原始查询结果,必须显式开启"包含查询结果"的选项,或者在Logic App里主动拉取结果。
      }
      
  3. 解析HTTP返回的JSON,提取results[0].tables[0].rows和results[0].tables[0].columns,把行数据和字段名对应起来,就能拿到需要的异常详情,再插入到邮件内容里

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 12:55:04