开始使用 Azure Key Vault 来存储生产机密后,请务必监视密钥保管库的运行状况,以确保服务按预期运行。
开始扩展服务时,发送到密钥库的请求数量将会增加。 这种上升可能会增加请求的延迟时间。 在极端情况下,它可能会导致请求受到限制,从而影响服务的性能。 还需要知道密钥保管库是否发送了异常数量的错误代码,以便快速处理访问策略或防火墙配置的任何问题。
本文将向您展示如何在指定的阈值下配置警报,这样如果您的密钥库处于不健康状态,您可以立即通知您的团队采取行动。 可以配置发送电子邮件的警报(最好是发送到团队通讯组),触发 Azure 事件网格通知,或者拨打电话号码/发短信。
可以选择以下警报类型:
- 基于固定值的静态警报
- 动态警报,在受监视的指标在定义的时间范围内超出密钥保管库的平均限制一定次数的情况下发出通知
重要
新配置的警报最长需要 10 分钟才会开始发送通知。
本文重点介绍 Key Vault 的警报。 有关 Key Vault 见解的信息(结合了日志和指标以提供全局监视解决方案),请参阅 使用 Key Vault 见解监视密钥保管库。
配置操作组
操作组是可配置的通知和属性列表。 配置警报的第一步是创建操作组并选择警报类型:
登录到 Azure 门户。
在搜索框中搜索 警报 。
选择“ 管理操作”。
选择 “+ 添加动作组”。
选择动作组的操作类型值。 在此示例中,我们将创建电子邮件和短信警报。 选择 “电子邮件/短信/推送/语音”。
在对话框中,输入电子邮件和短信详细信息,然后选择“确定”。
配置警报阈值
接下来,创建规则并配置将触发警报的阈值:
在 Azure 门户中选择密钥保管库资源,然后在“监视”下选择“警报”。
选择“新建警报规则”。
选择警报规则的作用域。 可以选择一个或多个保管库。
重要
如果选择多个保管库作为警报范围,则选定的所有保管库必须位于同一区域中。 不同区域中的保管库需要配置单独的警报规则。
选择定义警报逻辑的阈值,然后选择“ 添加”。 Key Vault 团队建议为大多数应用程序配置以下阈值,但可以根据应用程序需求调整这些阈值:
- Key Vault 可用性下降到 100% 以下(静态阈值)
重要
该警报目前错误地包含了长时间运行的操作,并将其报告为服务不可用。 可以监视密钥保管库日志,查看是否由于服务不可用而导致操作失败
- Key Vault 延迟大于 1000 毫秒(静态阈值)
注释
设置 1000 毫秒阈值的目的是通知该区域的 Key Vault 服务的工作负载高于平均水平。 当前,关于 Key Vault 操作的服务级别协议(SLA)要高出数倍,请参阅联机服务的服务级别协议了解详细信息。 若要在 Key Vault 操作超出服务级别协议时发出警报,请使用服务级别协议文档中的阈值。
- 保管库整体饱和度大于 75%(静态阈值)
- 保管库整体饱和度超过平均数(动态阈值)
- 错误代码总数高于平均值(动态阈值)
示例:为延迟配置静态警报阈值
选择 “整体服务 API 延迟 ”作为信号名称。
使用以下配置参数:
- 将“阈值”设置为“静态” 。
- 将“运算符”设置为“大于”。
- 将“聚合类型”设置为“平均” 。
- 将“阈值”设置为 1000 。
- 将 聚合粒度(时间段) 设置为 5 分钟。
- 将 评估频率 设置为 每 1 分钟一次。
选择“完成”。
示例:为保管库饱和度配置动态警报阈值
使用动态警报时,你将能够看到所选密钥保管库的历史数据。 蓝色区域表示密钥保管库的平均使用情况。 在红色区域中显示的峰值,会在满足警报配置中的其他条件时触发警报。 红点显示在聚合时间范围内满足警报条件的违规情况。
可以设置在一定时间内发生一定次数的冲突后触发警报。 如果不想包括过去的数据,可以选择将其排除在高级设置中。
使用以下配置参数:
- 将 维度名称 设置为 事务类型 ,将 维度值 设置为 Vaultoperation。
- 将 阈值 设置为 动态。
- 将“运算符”设置为“大于”。
- 将“聚合类型”设置为“平均” 。
- 将 阈值敏感度 设置为 中等。
- 将 聚合粒度(时间段) 设置为 5 分钟。
- 将 评估频率 设置为 每 5 分钟一次。
- 配置 高级设置 (可选)。
选择“完成”。
选择 “添加” 以添加已配置的作组。
在警报详细信息中,启用警报并分配严重性。
创建警报。
示例电子邮件警报
如果已执行上述所有步骤,则当密钥保管库满足配置的警报条件时,将收到电子邮件警报。 以下电子邮件警报是一个示例。
示例:有关即将过期证书的日志查询警报
您可以设置警报,以通知您即将过期的证书。
注释
在证书过期前 30 天,会记录接近过期的事件。
在“日志” 中打开查询窗口,然后粘贴以下查询。
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
选择“新建警报规则”
在 “条件 ”选项卡中使用以下配置:
- 在 度量 中将 聚合粒度 设置为 1 天
- 在 “按维度拆分 ”中,将 资源 ID 列 设置为 ResourceId。
- 将 CertName 和 DayTillExpire 设置为维度。
- 在 警报逻辑 中, 将阈值 设置为 0 , 评估频率 设置为 1 天。
在操作选项卡中配置警报以发送电子邮件
- 选择“创建操作组”
- 配置 创建动作组
- 配置 通知 以发送电子邮件
- 配置 详细信息 以触发 警告 警报
- 选择“ 查看 + 创建”
- 选择“创建操作组”
后续步骤
使用你在本文中设置的工具积极监视密钥保管库的运行状况: