通过配置服务运行状况警报,随时了解Azure Container Registry(ACR)服务问题、计划内维护和运行状况公告。 本指南介绍如何设置主动通知,以便团队能够快速响应任何影响工作负荷的 ACR 可用性问题或中断。
为什么为 ACR 配置服务运行状况警报?
对于具有严格可用性要求的组织,容器注册表可用性直接影响 CI/CD 管道和生产部署。 服务运行状况警报会在以下情况下通知您:
- 服务问题 会影响区域中的 ACR(服务中断、性能下降)
- 计划内维护 可能会影响注册表操作
- 健康公告要求你采取行动
- 安全公告 影响 ACR 服务
由于 ACR 的服务级别指示器(SLI)现已应用于拉取操作(GetBlob、GetManifest、GetBlobRedirection)和身份验证操作(GetToken、PostExchange、PostToken)的中断自动检测和自动通信,您可以在问题影响应用程序之前监视注册表的运行状况并接收警报。
先决条件
- 一个Azure订阅。 如果没有订阅,请创建 一个试用订阅。
- Azure Container Registry。 如果没有容器注册表,请参阅 快速入门:创建容器注册表。
- 读取订阅的权限以查看服务运行状况事件。
- 对资源组的写入权限以创建警报规则。
- 现有用于通知的操作组(可选)。
查看当前的 ACR 服务运行状况状态
在创建警报之前,请检查区域中Azure Container Registry的当前运行状况。
- 在 Azure 门户中,搜索并选择 Service Health。
- 从左侧菜单中选择 “服务问题 ”。
- 使用顶部的筛选器缩小结果范围:
- 订阅:选择包含注册表的订阅
- 服务:选择 容器注册表
- 区域:选择在其中部署注册表的区域
- 查看所有活动问题。 选择问题名称以查看详细信息,包括:
- 跟踪 ID:唯一事件标识符
- 状态:活动或已解决
- 受影响的资源:您受影响的注册器
- 问题更新:包含缓解步骤和 RCA 信息的日程表
为 ACR 创建服务运行状况警报
配置警报规则,以在发生 ACR 服务问题时接收通知。
Azure 门户
- 在 Azure 门户中,搜索并选择 Service Health。
- 在 “服务问题 ”窗格中,选择“ 创建服务运行状况警报”。
- 在 “作用域 ”选项卡上:
- 订阅:选择包含注册表的订阅。
- 在 “条件 ”选项卡上,配置警报触发器:
- 服务:选择 容器注册表。
- 区域:选择在其中部署注册表的区域,或选择 “全部 ”来监视所有区域(建议-仅针对具有资源的区域触发警报)。
-
事件类型:选择一个或多个:
- 服务问题:服务中断和性能下降
- 计划内维护:计划内维护时段
- 健康提示:需要客户操作的问题
- 安全公告:与安全相关的通知
- 在 “操作 ”选项卡上,配置接收通知的方式:
- 选择 选择操作组 以使用现有的操作组,或
- 选择“ 创建操作组 ”以设置新通知。
- 如果创建新的动作组:
-
操作组名称:输入名称(例如
acr-health-alerts-ag) - 区域:选择 全局 (服务运行状况通知所需)
- 在“ 通知 ”选项卡上,添加通知方法:
- 电子邮件/短信:输入运营团队的电子邮件地址
- Email Azure Resource Manager Role:按角色通知用户(例如所有者、参与者)
- 选择 “查看 + 创建”,然后选择 “创建”。
-
操作组名称:输入名称(例如
- 在“ 详细信息 ”选项卡上:
- 资源组:选择要存储警报规则的资源组。
-
警报规则名称:输入描述性名称(例如,
ACR-ServiceHealth-CriticalAlerts)。 -
说明:添加上下文(例如
Alerts for ACR service issues in production regions, )。
- 在“ 标记 ”选项卡上,可以选择为组织添加标记(例如
environment: production,team: platform)。 - 选择 “查看 + 创建”,然后选择 “创建”。
小窍门
还可以使用 Azure Resource Manager (ARM) 模板或Bicep以编程方式创建服务运行状况警报。 有关详细信息,请参阅
为特定 ACR 方案配置警报
根据可用性要求,请考虑为不同的方案创建多个警报规则。
关键生产警报
有关影响生产注册表的中断的即时通知:
| 设置 | 价值 |
|---|---|
| Services | 容器注册表 |
| 区域 | 您的生产区域(例如,中国东部 2、中国北部 2) |
| 事件类型 | 服务问题,安全公告 |
| 动作组 | 发送电子邮件和短信给值班团队 |
维护注意通知
有关计划内维护的提前通知:
| 设置 | 价值 |
|---|---|
| Services | 容器注册表 |
| 区域 | 所有区域 |
| 事件类型 | 计划内维护 |
| 动作组 | 向平台团队发送电子邮件 |
全面的监视
要实现对所有事件类型的全面可见性:
| 设置 | 价值 |
|---|---|
| Services | 容器注册表 |
| 区域 | 所有区域 |
| 事件类型 | 所有事件类型 |
| 动作组 | 向运营分发列表发送电子邮件 |
验证警报配置
确认服务运行状况警报处于活动状态并已正确配置。
- 在 Azure 门户中,搜索并选择 Monitor。
- 从左侧菜单中选择 “警报 ”。
- 从顶部菜单中选择 “警报规则 ”。
- 找到您的 ACR 服务健康状况警报规则并进行验证:
- 状态 显示 “已启用”
- 条件 显示 服务问题
- 操作 显示配置的操作组
查看服务运行状况通知
配置服务运行状况警报后,可以在发生服务事件时查看通知。
- 在 Azure 门户中,搜索并选择 Service Health。
- 从左侧菜单中选择 “运行状况历史记录 ”以查看过去的服务事件。
- 选择任何事件以查看详细信息,包括:
- 事件摘要和时间线
- 受影响的服务和区域
- 建议的措施和更新
有关查看和管理服务运行状况通知的详细信息,请参阅 Azure 门户中的 View 服务运行状况通知。
响应服务运行状况警报
收到 ACR 的服务运行状况警报时:
- 查看警报详细信息:检查跟踪 ID、受影响的区域和受影响的资源。
- 评估影响:确定注册表和工作负载是否受到影响。
- 更新监控:服务健康问题包括一个时间线,其中包含缓解进度和根本原因分析。
- 根据需要采取措施:对于健康通告,请遵循通告中的建议措施。
- 请求事件后评审(PIR):对于重大中断,可以从“服务问题”窗格请求详细评审。
与企业警报系统集成
服务运行状况警报可以通过 Webhooks 与企业值班警报系统集成。 这样,便可以将服务运行状况通知路由到现有的事件管理平台。
若要配置 Webhook 集成,请在创建服务运行状况警报时向操作组添加 Webhook 动作。 有关 Webhook 架构和集成模式的详细信息,请参阅 使用 Webhook 为现有问题管理系统配置运行状况通知。
故障排除
| 問题 | 可能的原因 | 解决方案 |
|---|---|---|
| 已知服务中断期间未收到任何警报 | 未为受影响的区域配置警报规则 | 验证警报条件中的区域选择;考虑选择“所有区域” |
| 警报未触发 | 操作组未设置为全局区域 | 编辑操作组并将区域设置为“全局” |
| 电子邮件通知未到达 | 电子邮件地址不正确或被阻止 | 验证操作组中的电子邮件;检查垃圾邮件文件夹;将Azure电子邮件添加到允许列表 |
| 无法创建警报规则 | 权限不足 | 确保对资源组具有写入权限 |
后续步骤
- 查看和管理服务运行状况警报
在 Azure Monitor 中监控 ACR 指标 - 配置特定注册表的Resource Health警报
- 为推送通知设置Azure移动应用