Azure Monitor 警报的最佳做法

本文提供 Azure Monitor 警报、警报处理规则和操作组的体系结构最佳实践。 本指南基于 Azure 架构良好的框架中描述的卓越体系结构的五大支柱。

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

可靠性

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

Azure Monitor 警报无需任何设计决策即可提供高度可靠性。 其他 Azure Monitor 组件的功能通常可以缓解可能发生暂时丢失警报数据的情况。

设计清单

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

配置建议

建议 好处
配置服务运行状况警报规则。 服务运行状况警报会发送有关中断、服务中断、计划维护和安全建议的通知。 请参阅创建或编辑警报规则
配置资源运行状况警报规则。 资源运行状况警报会在这些资源的运行状况发生变化时几乎实时地发出通知。 请参阅创建或编辑警报规则
避免对生成大规模通知的警报规则的服务限制。 如果警报规则会发送大量通知,则可能会达到用于发送电子邮件或短信通知的服务的服务限制。 配置编程操作或选择备用通知方法或提供程序来处理大规模通知。 请参阅通知的服务限制

安全性

安全是体系结构的首要考虑因素之一。 Azure Monitor 提供了采用最低特权原则和深度防御原则的功能。 使用以下信息最大限度地提高 Azure Monitor 警报的安全性。

设计清单

  • 如果需要使用自己的加密密钥来保护工作区中的数据和保存的查询,请使用客户管理的密钥
  • 使用托管标识通过控制权限来提高安全性
  • 为不需要配置权限的所有用户分配监视读者角色
  • 使用安全 Webhook 操作
  • 使用采用专用链接的操作组时,请使用事件中心操作

配置建议

建议 好处
如果需要使用自己的加密密钥来保护工作区中的数据和保存的查询,请使用客户管理的密钥 Azure Monitor 确保使用 Azure 管理的密钥 (MMK) 静态加密所有数据和保存的查询。 如果需要使用自己的加密密钥,并为专用群集收集足够的数据,请使用客户管理的密钥以提高灵活性和密钥生命周期控制。 如果使用 Microsoft Sentinel,请确保熟悉设置 Microsoft Sentinel 客户管理的密钥中的注意事项。
若要控制日志搜索警报规则的权限,请使用日志搜索警报规则的托管标识 开发人员面临着一个共同的挑战,那就是如何管理用于保护服务之间通信安全的机密、凭据、证书和密钥。 托管标识使开发人员无需管理这些凭据。 为日志搜索警报规则设置托管标识可让你控制和了解警报规则的确切权限。 你可以随时查看规则的查询权限,并直接从其托管身份添加或删除权限。 此外,如果规则的查询正在访问 Azure 数据资源管理器 (ADX) 或 Azure 资源图 (ARG),则需要使用托管标识。 请参阅托管标识
为不需要配置权限的所有用户分配监视读者角色。 通过向用户授予其角色所需的最少权限来增强安全性。 请参阅 Azure Monitor 中的角色、权限和安全性
如果可能,请使用安全的 Webhook 操作。 如果警报规则包含使用 Webhook 操作的操作组,请优先使用安全 Webhook 操作进行额外身份验证。 请参阅为安全 Webhook 配置身份验证

成本优化

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

注意

有关 Azure Monitor 的所有功能的成本优化建议,请参阅优化 Azure Monitor 中的成本

设计清单

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

配置建议

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

卓越运营

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

设计清单

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

配置建议

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

性能效率

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

后续步骤