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

Azure Monitor中VM CPU阈值告警去重及Azure DevOps集成问询

调整KQL查询与告警配置方案

一、修正KQL查询(计算1小时平均CPU并适配告警逻辑)

原查询存在两处不合理:一是summarize按Countervalue分组无意义,二是提前过滤单条数据的Countervalue>80会漏掉「单条没超但整体平均超标」的情况。修正后的查询如下:

Perf
| where TimeGenerated > ago(1h)
| where CounterName == "% Processor Time" and InstanceName == "_Total"
| summarize AvgCPU = avg(CounterValue) by Computer  // 按VM名称分组计算1小时平均CPU
| where AvgCPU > 80  // 仅保留平均超80的VM

二、避免重复告警的配置(连续超标仅触发1次)

仅靠KQL无法实现重复告警抑制,需结合告警规则的抑制设置:

  • 创建/编辑日志告警规则时,进入「高级选项」
  • 开启「抑制告警」,设置抑制时长为3小时(可按需调整)
  • 选择按Computer维度抑制,确保同一VM连续超标时,3小时内只会触发1次告警

三、告警清除时自动关闭Azure DevOps工作项

需要通过动作组+自动化运行簿/逻辑应用实现:

  1. 创建动作组:在Azure Monitor中新建动作组,添加「自动化运行簿」或「逻辑应用」动作
  2. 编写自动化逻辑:
    • 若用运行簿:编写PowerShell脚本,当接收到告警状态为「已解决」的通知时,调用Azure DevOps REST API,根据告警关联的工作项ID关闭对应项
    • 若用逻辑应用:创建触发条件为「Azure Monitor告警」,添加「Azure DevOps - 更新工作项」步骤,设置状态为「关闭」,并通过告警上下文传递工作项ID
  3. 关联告警规则:将该动作组绑定到目标CPU告警规则,确保告警状态变更时触发逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 23:45:54