有关 Azure Monitor 警报的最佳实践

本文提供了有关Azure Monitor警报、警报处理规则和操作组的体系结构最佳做法。 本指南基于 Azure Well-Architected Framework 中所述的体系结构卓越五大支柱。

有关警报和通知的详细信息,请参阅 Azure Monitor 警报概述。 有关大规模警报解决方案的详细信息,请参阅 大规模警报

可靠性

在云端,我们承认故障总会发生。 我们的目标不是试图防止各种故障,而是最大程度地减轻单个组件故障造成的影响。 使用以下信息将Azure Monitor警报规则组件的故障降到最低。

Azure Monitor警报提供较高的可靠性,无需做出任何设计决策。 其他Azure Monitor组件的功能通常会缓解出现暂时性警报数据丢失的情况。

设计清单

  • 配置服务运行状况警报规则。
  • 设置资源健康状态警报规则。
  • 避免对生成大规模通知的警报规则的服务限制。

配置建议

建议 益处
配置服务运行状况警报规则。 服务运行状况警报会向你发送有关中断、服务中断、计划内维护和安全公告的通知。 为了获得最佳覆盖范围,请同时配置订阅级别和租户级服务运行状况警报规则,因为事件可以限定在任一级别。 有关详细信息,请参阅 “创建服务运行状况警报”。
设置资源健康状态警报规则。 资源运行状况警报可以在这些资源的健康状态发生变化时几乎实时地通知您。 有关详细信息,请参阅 Azure 门户中创建资源运行状况警报
避免对生成大规模通知的警报规则的服务限制。 如果有发送大量通知的警报规则,可能会达到用于发送电子邮件或短信通知的服务的服务限制。 配置编程操作或选择备用通知方法或提供程序来处理大规模通知。 有关详细信息,请参阅 通知的服务限制

安全性

安全性是任何体系结构最为重视的方面之一。 Azure Monitor提供了使用最低特权原则和深度防御原则的功能。 使用以下信息最大程度地提高Azure Monitor警报的安全性。

使用托管标识来控制日志搜索警报规则的权限

开发人员面临的一个常见挑战是管理用于保护服务之间通信的机密、凭据、证书和密钥。 托管标识使开发人员无需管理这些凭据。 为日志搜索警报规则设置托管标识可让你控制和了解警报规则的确切权限。 可以随时查看规则的查询权限,并直接从其托管标识添加或删除权限。

如果规则的查询访问Azure 数据资源管理器(ADX)或Azure Resource Graph(ARG),则需要使用托管标识。

说明创建或编辑日志搜索警报规则

将“监视读取者”角色分配给不需要配置特权的所有用户

通过向用户授予其角色所需的最低权限来提高安全性。

Instructions在 Azure Monitor 中的角色、权限和安全性

尽可能使用安全的 Webhook 操作

如果警报规则包含使用 Webhook 操作的操作组,则建议优先使用安全 Webhook 操作以进行更强的身份验证。

说明为安全 Webhook 配置身份验证

如果需要使用自己的加密密钥来保护工作区中的数据和保存的查询,请使用客户管理的密钥

Azure Monitor使用Azure托管密钥(MMK)加密所有数据和保存的静态查询。 如果需要使用自己的加密密钥,并为专用群集收集足够的数据,请使用客户管理的密钥以提高灵活性和密钥生命周期控制。

说明客户管理的密钥

如果使用 Microsoft Sentinel,请参阅 Microsoft Sentinel 客户管理的密钥设置

成本优化

成本优化是指可以减少不必要的费用以及提高运营效率的方法。 可以通过了解不同的配置选项和机会来大幅降低Azure Monitor的成本,以减少其收集的数据量。 请参阅 Azure Monitor 成本和使用情况以了解Azure Monitor费用的不同方式以及如何查看每月帐单。

设计清单

  • 活动日志警报、服务运行状况警报和资源运行状况警报是免费的。
  • 使用日志搜索警报时,请尽量降低日志搜索警报频率。
  • 使用指标警报时,请尽量减少要监视的资源数。

配置建议

建议 益处
请记住,活动日志警报、服务运行状况警报和资源运行状况警报是免费的。 Azure Monitor活动警报、服务运行状况警报和资源运行状况警报是免费的。 如果想要监控的内容可以通过这些警报类型实现,请使用它们。
使用日志搜索警报时,请尽量降低日志搜索警报频率。 配置日志搜索警报时,请记住,规则评估越频繁,成本就越高。 相应地配置规则。
使用指标警报时,请尽量减少要监视的资源数。 某些资源类型支持指标警报规则,这些规则可以监视同一类型的多个资源。 对于这些资源类型,请记住,如果规则监视许多资源,则成本可能会变得较高。 若要降低成本,可以降低指标警报规则的范围。 您还可以使用日志搜索警报规则来监视大量资源,这种方法成本较低。

卓越运营

卓越运营是指使服务在生产环境中可靠运行所需的操作流程。 使用以下信息将支持Azure Monitor警报的操作要求降到最低。

设计清单

  • 在适当的情况下,在指标警报规则中使用动态阈值。
  • 尽可能使用一个警报规则来监控多个资源。
  • 若要大规模控制行为,请使用警报处理规则。
  • 利用自定义属性增强诊断
  • 利用逻辑应用自定义、扩充和集成各种系统

配置建议

建议 益处
在适当情况下,在指标警报规则中使用 动态阈值 你可能不确定要用作警报规则阈值的正确数字。 动态阈值使用机器学习和一组算法和方法来确定基于趋势的正确阈值。 这意味着无需提前知道正确的预定义阈值。 动态阈值也可用于监视多个资源的规则,并且无法为所有资源配置单个阈值。 有关详细信息,请参阅 指标警报中的动态阈值
尽可能使用一个警报规则来监控多个资源。 使用监视多个资源的警报规则可减少管理开销,方法是允许管理一个规则来监视大量资源。
若要大规模控制行为,请使用 警报处理规则 警报处理规则可用于减少需要创建和管理的警报规则数。
使用 指标警报规则日志搜索警报规则 的自定义属性增强诊断。 如果警报规则使用操作组,你可以添加自己的属性以包含在警报通知负载中。 可以在操作组调用的操作(如 webhook、Azure 函数或逻辑应用操作)中使用这些属性。

性能效率

性能效率是指工作负荷能够以高效的方式扩展以满足用户对它的需求。 警报可提供高效的性能,无需任何设计决策。

后续步骤