为Azure Container Registry配置服务运行状况警报

通过配置服务运行状况警报,随时了解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的当前运行状况。

  1. Azure 门户中,搜索并选择 Service Health
  2. 从左侧菜单中选择 “服务问题 ”。
  3. 使用顶部的筛选器缩小结果范围:
    • 订阅:选择包含注册表的订阅
    • 服务:选择 容器注册表
    • 区域:选择在其中部署注册表的区域
  4. 查看所有活动问题。 选择问题名称以查看详细信息,包括:
    • 跟踪 ID:唯一事件标识符
    • 状态:活动或已解决
    • 受影响的资源:您受影响的注册器
    • 问题更新:包含缓解步骤和 RCA 信息的日程表

为 ACR 创建服务运行状况警报

配置警报规则,以在发生 ACR 服务问题时接收通知。

Azure 门户

  1. Azure 门户中,搜索并选择 Service Health
  2. “服务问题 ”窗格中,选择“ 创建服务运行状况警报”。
  3. “作用域 ”选项卡上:
    • 订阅:选择包含注册表的订阅。
  4. “条件 ”选项卡上,配置警报触发器:
    • 服务:选择 容器注册表
    • 区域:选择在其中部署注册表的区域,或选择 “全部 ”来监视所有区域(建议-仅针对具有资源的区域触发警报)。
    • 事件类型:选择一个或多个:
      • 服务问题:服务中断和性能下降
      • 计划内维护:计划内维护时段
      • 健康提示:需要客户操作的问题
      • 安全公告:与安全相关的通知
  5. “操作 ”选项卡上,配置接收通知的方式:
    • 选择 选择操作组 以使用现有的操作组,或
    • 选择“ 创建操作组 ”以设置新通知。
  6. 如果创建新的动作组:
    • 操作组名称:输入名称(例如 acr-health-alerts-ag
    • 区域:选择 全局 (服务运行状况通知所需)
    • 在“ 通知 ”选项卡上,添加通知方法:
      • 电子邮件/短信:输入运营团队的电子邮件地址
      • Email Azure Resource Manager Role:按角色通知用户(例如所有者、参与者)
    • 选择 “查看 + 创建”,然后选择 “创建”。
  7. 在“ 详细信息 ”选项卡上:
    • 资源组:选择要存储警报规则的资源组。
    • 警报规则名称:输入描述性名称(例如, ACR-ServiceHealth-CriticalAlerts)。
    • 说明:添加上下文(例如 Alerts for ACR service issues in production regions, )。
  8. 在“ 标记 ”选项卡上,可以选择为组织添加标记(例如 environment: productionteam: platform)。
  9. 选择 “查看 + 创建”,然后选择 “创建”。

Azure Service Health警报创建页面的截屏,显示了 Azure 容器注册表的配置选项。

小窍门

还可以使用 Azure Resource Manager (ARM) 模板或Bicep以编程方式创建服务运行状况警报。 有关详细信息,请参阅使用 ARM 模板创建服务通知上的活动日志警报使用 Bicep 创建服务通知上的活动日志警报

为特定 ACR 方案配置警报

根据可用性要求,请考虑为不同的方案创建多个警报规则。

关键生产警报

有关影响生产注册表的中断的即时通知:

设置 价值
Services 容器注册表
区域 您的生产区域(例如,中国东部 2、中国北部 2)
事件类型 服务问题,安全公告
动作组 发送电子邮件和短信给值班团队

维护注意通知

有关计划内维护的提前通知:

设置 价值
Services 容器注册表
区域 所有区域
事件类型 计划内维护
动作组 向平台团队发送电子邮件

全面的监视

要实现对所有事件类型的全面可见性:

设置 价值
Services 容器注册表
区域 所有区域
事件类型 所有事件类型
动作组 向运营分发列表发送电子邮件

验证警报配置

确认服务运行状况警报处于活动状态并已正确配置。

  1. Azure 门户中,搜索并选择 Monitor
  2. 从左侧菜单中选择 “警报 ”。
  3. 从顶部菜单中选择 “警报规则 ”。
  4. 找到您的 ACR 服务健康状况警报规则并进行验证:
    • 状态 显示 “已启用”
    • 条件 显示 服务问题
    • 操作 显示配置的操作组

查看服务运行状况通知

配置服务运行状况警报后,可以在发生服务事件时查看通知。

  1. Azure 门户中,搜索并选择 Service Health
  2. 从左侧菜单中选择 “运行状况历史记录 ”以查看过去的服务事件。
  3. 选择任何事件以查看详细信息,包括:
    • 事件摘要和时间线
    • 受影响的服务和区域
    • 建议的措施和更新

Azure Service Health 历史记录的截图,显示了 Azure Container Registry 过去的服务事件。

有关查看和管理服务运行状况通知的详细信息,请参阅 Azure 门户中的 View 服务运行状况通知

响应服务运行状况警报

收到 ACR 的服务运行状况警报时:

  1. 查看警报详细信息:检查跟踪 ID、受影响的区域和受影响的资源。
  2. 评估影响:确定注册表和工作负载是否受到影响。
  3. 更新监控:服务健康问题包括一个时间线,其中包含缓解进度和根本原因分析。
  4. 根据需要采取措施:对于健康通告,请遵循通告中的建议措施。
  5. 请求事件后评审(PIR):对于重大中断,可以从“服务问题”窗格请求详细评审。

与企业警报系统集成

服务运行状况警报可以通过 Webhooks 与企业值班警报系统集成。 这样,便可以将服务运行状况通知路由到现有的事件管理平台。

若要配置 Webhook 集成,请在创建服务运行状况警报时向操作组添加 Webhook 动作。 有关 Webhook 架构和集成模式的详细信息,请参阅 使用 Webhook 为现有问题管理系统配置运行状况通知

故障排除

問题 可能的原因 解决方案
已知服务中断期间未收到任何警报 未为受影响的区域配置警报规则 验证警报条件中的区域选择;考虑选择“所有区域”
警报未触发 操作组未设置为全局区域 编辑操作组并将区域设置为“全局
电子邮件通知未到达 电子邮件地址不正确或被阻止 验证操作组中的电子邮件;检查垃圾邮件文件夹;将Azure电子邮件添加到允许列表
无法创建警报规则 权限不足 确保对资源组具有写入权限

后续步骤