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

如何通过Azure CLI为订阅内所有VM创建CPU过高告警并配置邮件通知

当然可以!完全不用给每台虚拟机单独创建告警规则,Azure支持通过范围配置和维度筛选,实现订阅内所有VM的统一CPU过高监控。下面分两部分详细说明操作步骤:

一、创建订阅级统一CPU告警规则

你可以直接将告警规则的范围设置为整个订阅,再通过条件里的维度筛选,只对虚拟机的CPU指标生效。这样不仅能覆盖现有所有VM,后续新建的VM也会自动纳入监控(只要符合资源类型)。

使用Azure CLI的命令示例如下:

az monitor metrics alert create \
  -n "全订阅VM高CPU告警" \
  -g "你的资源组名称" \  # 告警规则本身需要存储在某个资源组中
  --scopes "/subscriptions/你的订阅ID" \
  --condition "avg Percentage CPU > 90 where ResourceId contains '/providers/Microsoft.Compute/virtualMachines'" \
  --description "当订阅内任意VM的平均CPU使用率超过90%时触发告警"

参数说明:

  • --scopes:指定为订阅ID,代表规则作用于整个订阅范围
  • condition里的where ResourceId contains ...:通过资源ID的特征筛选出所有虚拟机资源,确保只监控VM的CPU指标
  • 如果需要调整阈值(比如把90改成80)或者统计周期,可以修改条件里的数值和聚合方式(比如avg换成max)
二、配置邮箱告警通知

要实现邮箱通知,需要先创建动作组(Action Group),然后将其关联到告警规则。动作组是Azure中管理通知渠道的核心组件,支持邮箱、短信、Webhook等多种通知方式。

步骤1:创建包含邮箱接收者的动作组

az monitor action-group create \
  -n "VM告警通知组" \
  -g "你的资源组名称" \
  --email-receiver name="运维邮箱" email-address="your-alert-email@example.com"

执行完这个命令后,指定的邮箱会收到一封激活邮件,必须点击邮件里的链接完成激活,否则无法接收告警通知。

步骤2:将动作组关联到告警规则

你可以在创建告警规则时直接添加--action-group参数,或者对已有的告警规则进行更新:

# 方式1:创建告警时直接关联动作组
az monitor metrics alert create \
  -n "全订阅VM高CPU告警" \
  -g "你的资源组名称" \
  --scopes "/subscriptions/你的订阅ID" \
  --condition "avg Percentage CPU > 90 where ResourceId contains '/providers/Microsoft.Compute/virtualMachines'" \
  --description "当订阅内任意VM的平均CPU使用率超过90%时触发告警" \
  --action-group "VM告警通知组"

# 方式2:更新已存在的告警规则,添加动作组
az monitor metrics alert update \
  -n "全订阅VM高CPU告警" \
  -g "你的资源组名称" \
  --action-group "VM告警通知组"

额外注意事项:

  • 确保你的Azure账号拥有Monitor Contributor或Owner权限,才能创建告警规则和动作组
  • 订阅级告警规则存储在你指定的资源组中,后续管理(修改、删除)需要到该资源组中操作
  • 如果需要监控多个指标(比如内存使用率),可以在同一告警规则中添加多个--condition参数,或者创建单独的规则

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 16:32:38