配置 Azure 密钥保管库警报

开始使用 Azure 密钥保管库来存储生产机密之后,必须监视密钥保管库的运行状况以确保服务正常运行。

当你开始缩放服务时,发送到密钥保管库的请求数量将会增加。 这可能会增加请求的延迟时间。 在极端情况下,它可能会导致请求受到限制,从而影响服务的性能。 你还需要知道密钥保管库是否发送了异常数量的错误代码,以便快速处理访问策略或防火墙配置存在的任何问题。

本文将介绍如何为指定的阈值配置警报,让你在密钥保管库运行不正常时提醒团队立即采取措施。 可以配置发送电子邮件的警报(最好是发送到团队通讯组),触发 Azure 事件网格通知,或者拨打电话号码/发短信。

可以选择以下警报类型:

  • 基于固定值的静态警报
  • 动态警报,在受监视的指标在定义的时间范围内超出密钥保管库的平均限制一定次数的情况下发出通知

重要

新配置的警报最长需要 10 分钟才会开始发送通知。

本文重点介绍密钥保管库的警报。 有关将日志与指标结合以提供全局监视解决方案的密钥保管库见解的信息,请参阅利用密钥保管库见解监视密钥保管库

配置操作组

操作组是可配置的通知和属性列表。 配置警报的第一步是创建操作组并选择警报类型:

  1. 登录到 Azure 门户。

  2. 在搜索框中搜索“警报”。

  3. 选择“管理操作”。

    突出显示“管理操作”按钮的屏幕截图。

  4. 选择“+ 添加操作组”。

    突出显示用于添加操作组的按钮的屏幕截图。

  5. 为操作组选择“操作类型”值。 本示例将创建电子邮件和短信警报。 选择“电子邮件/短信/推送/语音”。

    突出显示用于添加操作组的选项的屏幕截图。

  6. 在对话框中,输入电子邮件和短信详细信息,然后选择“确定”。

    显示用于添加电子邮件和短信警报的选项的屏幕截图。

配置警报阈值

接下来,创建规则并配置触发警报的阈值:

  1. 在 Azure 门户中选择密钥保管库资源,然后选择“监视”下的“警报” 。

    显示“监视”部分的“警报”菜单选项的屏幕截图。

  2. 选择“新建警报规则”。

    显示用于添加新警报规则的按钮的屏幕截图。

  3. 选择警报规则的作用域。 可以选择一个或多个保管库。

    重要

    如果选择多个保管库作为警报范围,则选定的所有保管库必须位于同一区域中。 不同区域中的保管库需要配置单独的警报规则。

    此屏幕截图显示了如何选择保管库。

  4. 选择定义警报逻辑的阈值,然后选择“添加”。 Key Vault 团队建议为大多数应用程序配置以下阈值,但你可以根据应用程序需求对其进行调整:

    • 密钥保管库可用性低于 100%(静态阈值)

    重要

    该警报目前错误地包含了长时间运行的操作,并将其报告为服务不可用。 可以监视 Key Vault 日志,查看是否由于服务不可用而导致操作失败

    • 密钥保管库延迟大于 1000 毫秒(静态阈值)

    注意

    设置 1000 毫秒阈值的目的是通知该区域的 Key Vault 服务的工作负载高于平均水平。 我们针对 Key Vault 操作的服务级别协议要高出数倍,请参阅联机服务的服务级别协议,了解当前的服务级别协议。 若要在 Key Vault 操作超出服务级别协议时发出警报,请使用服务级别协议文档中的阈值。

    • 保管库整体饱和度大于 75%(静态阈值)
    • 保管库整体饱和度超过平均数(动态阈值)
    • 错误代码总计高于平均值(动态阈值)

    此屏幕截图显示了选择警报条件的位置。

示例:为延迟配置静态警报阈值

  1. 选择“整体服务 API 延迟”作为信号名称。

    显示选择信号名称的屏幕截图。

  2. 使用以下配置参数:

    • 将“阈值”设置为“静态” 。
    • 将“运算符”设置为“大于” 。
    • 将“聚合类型”设置为“平均” 。
    • 将“阈值”设置为 1000 。
    • 将“聚合粒度(时间范围)”设置为“5 分钟” 。
    • 将“评估频率”设置为“每 1 分钟” 。

    显示静态警报阈值的配置逻辑的屏幕截图。

  3. 选择“完成”。

示例:为保管库饱和度配置动态警报阈值

使用动态警报时,可以看到所选密钥保管库的历史数据。 蓝色区域表示密钥保管库的平均使用情况。 红色区域显示可能触发警报的高峰,前提是满足警报配置中的其他条件。 红点显示在聚合时间范围内满足警报条件的违规实例。

显示保管库总体饱和度图的屏幕截图。

可以设置在一定时间内发生一定次数的冲突后触发警报。 如果不想包含过去的数据,可以使用高级设置中的一个选项来排除它们。

  1. 使用以下配置参数:

    • 将“维度名称”设置为“事务类型”,将“维度值”设置为“vaultoperation”。
    • 将“阈值”设置为“动态” 。
    • 将“运算符”设置为“大于” 。
    • 将“聚合类型”设置为“平均” 。
    • 将“阈值敏感度”设置为“中等” 。
    • 将“聚合粒度(时间范围)”设置为“5 分钟” 。
    • 将“评估频率”设置为“每 5 分钟” 。
    • 配置高级设置(可选)。

    显示动态警报阈值的配置逻辑的屏幕截图。

  2. 选择“完成”。

  3. 选择“添加”来添加已配置的操作组。

    显示用于添加操作组的按钮的屏幕截图。

  4. 在警报详细信息中,启用警报并分配严重性。

    屏幕截图,显示在何处启用警报并分配严重性。

  5. 创建警报。

示例电子邮件警报

完成上述所有步骤后,当密钥保管库满足配置的警报条件时,你就会收到电子邮件警报。 电子邮件警报示例如下。

此屏幕截图突出显示了配置电子邮件警报所需的信息。

示例:即将过期的证书的日志查询警报

你可以设置警报,让系统通知你证书即将过期。

注意

在过期前 30 天记录证书的即将过期事件。

  1. 转到“日志”,将以下查询粘贴到查询窗口中

    AzureDiagnostics
    | where OperationName =~ 'CertificateNearExpiryEventGridNotification'
    | extend CertExpire = unixtime_seconds_todatetime(eventGridEventProperties_data_EXP_d)
    | extend DaysTillExpire = datetime_diff("Day", CertExpire, now())
    | project ResourceId, CertName = eventGridEventProperties_subject_s, DaysTillExpire, CertExpire
    
    
  2. 选择“新建警报规则”

    屏幕截图显示带有所选的新预警规则的查询窗口。

  3. 在“条件”选项卡中使用以下配置:

    • 在“度量”中,将“聚合粒度”设置为“1 天”
    • 在“按维度拆分”中,将“资源 ID 列”设置为“ResourceId”。
    • 将“CertName”和“DayTillExpire”设置为维度。
    • 在“警报逻辑”中,将“阈值”设置为“0”,将“评估频率”设置为“1 天”

    屏幕截图显示警报条件配置。

  4. 在“操作”选项卡中,配置警报以发送电子邮件

    1. 选择“创建操作组”

      屏幕截图,显示如何创建操作组。

    2. 配置“创建操作组”

      屏幕截图,显示如何配置操作组。

    3. 配置“通知”以发送电子邮件

      屏幕截图,显示如何配置通知。

    4. 配置“详细信息”以触发“警告”警报

      屏幕截图,显示如何配置通知详细信息。

    5. 选择“查看 + 创建”

后续步骤

使用你在本文中设置的工具积极监视密钥保管库的运行状况: