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

如何创建Azure Log Analytics查询以跟踪CPU使用率并设置告警

Azure Log Analytics VM高CPU使用率告警查询实现

首先确认目标Azure VM已开启性能日志收集,数据已上报到Log Analytics工作区,直接使用以下Kusto查询语句即可筛选出符合「CPU使用率达到90%且持续不低于30分钟」条件的虚拟机:

// 适用于使用Log Analytics代理(MMA/OMS)的VM
Perf
| where ObjectName == "Processor" 
  and CounterName == "% Processor Time" 
  and InstanceName == "_Total"
// 限定查询过去30分钟内的性能数据
| where TimeGenerated >= ago(30m)
| summarize 
    AvgCPU = avg(CounterValue),
    // 计算CPU使用率≥90%的采样点占比
    QualifiedSampleRatio = countif(CounterValue >= 90) * 1.0 / count()
  by Computer, _ResourceId
// 要求30分钟内所有采样点CPU都≥90%,且平均CPU≥90%,避免偶发尖峰误报
| where QualifiedSampleRatio == 1 and AvgCPU >= 90

告警配置注意事项

  • 写完查询后点击页面顶部「新建告警规则」进入配置流程
  • 告警逻辑处设置:运算符为「大于或等于」,阈值为1,评估周期选30分钟,检查频率可根据需求选择5~10分钟
  • 可根据业务容错需求调整QualifiedSampleRatio阈值,比如允许少量采样波动可修改为QualifiedSampleRatio >= 0.9,对应容忍10%的采样低于90%

如果你使用的是新版Azure Monitor代理(AMA),性能数据存储在InsightsMetrics表,使用以下查询语句即可:

// 适用于使用Azure Monitor代理(AMA)的VM
InsightsMetrics
| where Namespace == "Processor" and Name == "UtilizationPercentage"
| where TimeGenerated >= ago(30m)
| summarize 
    AvgCPU = avg(Val),
    QualifiedSampleRatio = countif(Val >= 90) * 1.0 / count()
  by Computer, _ResourceId
| where QualifiedSampleRatio == 1 and AvgCPU >= 90

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 22:45:01