Azure订阅级VM停机告警配置后未触发通知问题求助
排查Azure VM停机信号告警未触发通知的步骤
1. 确认告警规则的作用范围覆盖目标VM
- 检查告警规则的作用范围是否设为包含订阅内所有
Microsoft.Compute/virtualMachines资源,或是需要监控的VM所在的资源组/VM组。如果只选了部分资源,测试的停机VM不在范围内,自然不会触发告警。 - 若用订阅范围,确认没有误排除需要监控的VM;用资源组范围的话,要保证目标VM都在对应组里。
2. 验证信号触发条件配置
- 确认选的是活动日志信号,信号名称确实是
Power Off Virtual Machine (Microsoft.Compute/virtualMachines)。 - 检查事件级别:VM停机的活动日志事件是信息级,别把告警规则的级别过滤设成只抓“警告”或“错误”,不然会漏掉事件。
- 排查是否加了多余的筛选条件,比如限制了特定VM名称、资源组,导致测试VM的事件被排除在外。
3. 确认活动日志事件已生成
- 找到测试停机的VM,进入活动日志,筛选“操作名称”为“关闭虚拟机”,查看停机时间点有没有对应的事件记录。
- 注意:
Power Off Virtual Machine信号只捕获通过Azure控制平面(门户/API/CLI)发起的停机操作。如果VM是本地关机、硬件故障等原因离线,不会生成这个活动日志事件,自然触发不了该告警——这种场景得结合心跳或VM Insights的可用性状态监控。
4. 检查动作组的有效性
- 核实告警关联的动作组配置:
- 邮件、短信、Webhook等通知方式是否正确,比如邮箱地址有没有拼写错误,短信号码是否在支持区域。
- 直接测试动作组:在动作组页面点“测试”,发送测试通知,确认能正常收到。如果测试都收不到,问题出在动作组本身,和告警规则无关。
5. 结合VM Insights覆盖全场景(若需监控非控制平面停机)
- 如果要监控所有停机场景(故障、本地关机等),仅靠
Power Off Virtual Machine信号不够,得搭配VM Insights的可用性状态告警:- 确认AMA已部署到所有目标VM,且VM Insights页面显示该VM状态为“已连接”,性能数据正常采集。
- 创建基于VM Insights的可用性告警规则,设置连续N个周期心跳失败触发通知,覆盖所有VM离线场景。
6. 检查告警规则状态与权限
- 确认告警规则处于已启用状态,没被误禁用。
- 检查配置告警规则的账号权限:需要
Microsoft.Insights/alertRules/write权限,以及对目标VM的读取权限,确保规则能正常读取活动日志事件。
内容的提问来源于stack exchange,提问作者GTGabaaron
相关产品推荐
相关产品推荐

