你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
有关设计可靠监视和警报策略的建议
适用于此 Azure Well-Architected 框架可靠性清单建议:
RE:10 | 衡量并发布解决方案的运行状况指标。 从整个工作负载以及单个组件和密钥流持续捕获运行时间和其他可靠性数据。 |
---|
本指南介绍有关设计可靠监视和警报策略的建议。 实施此策略,使运营团队随时了解环境的运行状况,并确保满足工作负载的既定可靠性目标。
定义
术语 | 定义 |
---|---|
指标 | 定期收集的数值。 指标描述特定时间系统的某些方面。 |
资源日志 | 系统生成的数据。 它提供有关系统状态的信息。 |
跟踪 | 提供有关请求通过服务和组件的路径的信息的数据。 |
关键设计策略
在创建监视和警报策略之前,请在可靠性规划过程中为工作负载执行以下任务:
创建监视和警报策略,以确保工作负荷可靠地运行。 监视和警报策略可让运营团队了解工作负载状况的变化,并快速解决问题。 通过为关键流和这些关键流构成的组件创建 运行状况模型 ,构建可靠可靠的监视策略。 运行状况模型定义正常、降级和不正常状态。 设计操作态势以立即捕获这些状态中的更改。 当运行状况状态从正常更改为降级或不正常时,警报机制会触发 自动纠正措施 ,并通知相应的团队。
实施以下建议,设计符合业务需求的监视和警报策略。
通用指南
为所有云资源启用 日志记录 。 在部署中使用自动化和治理,以在整个环境中启用诊断日志记录。
将所有诊断日志转发到集中式数据接收器和分析平台,例如 Log Analytics 工作区。 如果有区域数据主权要求,则必须在受这些要求约束的区域中使用本地数据接收器。
权衡:存储和查询日志会产生成本影响。 请注意日志分析和保留如何影响预算,并确定满足需求的最佳利用率平衡。 有关详细信息,请参阅 成本优化的最佳做法。
如果工作负载受一个或多个合规性框架的约束,则处理敏感信息的某些组件日志也受这些框架的约束。 将相关组件日志发送到安全信息和事件管理 (SIEM) 系统,例如 Microsoft Sentinel。
创建 日志保留策略 ,其中包含合规性框架对工作负载施加的长期保留要求。
对所有日志消息使用 结构化日志记录 来优化日志数据的查询。
配置警报,以在值传递与运行状况模型状态更改相关的关键阈值(如绿色到黄色或红色)时触发。
阈值配置是持续改进的做法。 随着工作负荷的发展,定义的阈值可能会更改。 在某些情况下, 动态阈值 是监视策略的不错选择。
请考虑在状态改善时使用警报,例如红色到黄色或红色到绿色,以便运营团队可以跟踪这些事件以供将来参考。
可视化环境的实时运行状况。
使用事件期间收集的数据来持续改进运行状况模型以及监视和警报策略。
整合云平台监视和警报服务,包括:
平台级运行状况,如 Azure 服务运行状况。
资源级别的运行状况,例如 Azure 资源运行状况。
整合云提供商提供的专用高级监视和分析,例如 Azure Monitor 见解工具。
实施备份和恢复监视以捕获:
数据复制状态,以确保工作负载在目标恢复点目标 (RPO) 实现恢复。
成功和失败的备份和恢复。
用于通知 灾难恢复计划的恢复持续时间。
监视应用程序
创建运行状况探测或检查函数,并从应用程序外部定期运行它们。 确保从地理位置上靠近客户的多个位置进行测试。
在生产环境中运行应用程序时记录数据。 需要足够的信息来诊断生产状态中问题的原因。
记录服务边界的事件。 包含跨服务边界流动的关联 ID。 如果事务流经多个服务,其中一个服务失败,则相关 ID 可帮助跟踪整个应用程序的请求,并查明事务失败的原因。
使用异步日志记录。 同步日志记录操作有时会阻止应用程序代码,这会导致请求在写入日志时备份。 使用异步日志记录来保持应用程序日志记录期间的可用性。
将应用程序日志记录与审核区分开来。 人们通常需要维护审核记录,以确保合规性或满足法规要求,并且审核记录必须完成。 若要避免删除事务,请独立于诊断日志维护审核日志。
使用 遥测关联 来确保可以通过端到端应用程序和关键系统流映射事务。 此过程对于对故障执行根本原因分析 (RCA) 至关重要。 从应用程序收集平台级指标和日志,例如 CPU 百分比、网络输入、网络输出和每秒磁盘操作数,以通知运行状况模型并检测和预测问题。 此方法有助于区分暂时性和非过渡性故障。
使用白盒监视,根据语义日志和指标来检测应用程序。 从应用程序收集应用程序级指标和日志,例如内存消耗量或请求延迟,以通知运行状况模型并检测和预测问题。
使用黑盒监视来衡量平台服务和生成的客户体验。 黑盒监视可在不知道系统内部情况的条件下测试外部可见的应用程序行为。 此方法很常见,用于衡量以客户为中心的服务级别指标 (SLI) 、服务级别目标 (SLO) ,以及服务级别协议 (SLA) 。
注意
有关应用程序监视的详细信息,请参阅 运行状况终结点监视模式。
监视数据和存储
监视存储容器的可用性指标。 如果此指标低于 100%,则表示写入失败。 当云提供商管理负载时,可能会出现暂时性的可用性下降。 跟踪可用性趋势,以确定工作负荷是否存在问题。
在某些情况下,存储容器的可用性指标下降表示与存储容器关联的计算层存在瓶颈。
有许多指标需要监视数据库。 在可靠性方面,要监视的重要指标包括:
查询持续时间
超时
等待时间
内存压力
锁
Azure 便利化
Azure Monitor 是一种全面的监视解决方案,用于从云和本地环境收集、分析和响应监视数据。
Log Analytics 是Azure 门户中的一种工具,用于编辑和运行针对 Log Analytics 工作区中的数据的日志查询。
Application Insights 是 Azure Monitor 的扩展。 它 (APM) 功能提供应用程序性能监视。
Azure Monitor 见解 是高级分析工具,可帮助监视 Azure 服务,例如虚拟机、应用程序服务和容器。 见解基于 Azure Monitor 和 Log Analytics 构建。
Azure Monitor for SAP Solutions 是一款 Azure 本机监视产品,适用于在 Azure 上运行的 SAP 环境。
Azure Policy 有助于强制实施组织标准以及大规模评估符合性。
Azure 业务连续性中心可让你深入了解业务连续性资产。 在应用 BCDR) (业务连续性和灾难恢复的方法时,请使用Azure 业务连续性中心跨 Azure 和混合工作负载集中管理业务连续性保护。 Azure 业务连续性中心通过备份或灾难恢复) 查明缺少适当保护 (的资源,并采取纠正措施。 该工具有助于进行统一监视,并允许你通过Azure Policy建立治理和审核合规性,所有这些都可以在一个位置方便地访问。
有关多个工作区的最佳做法,请参阅 设计 Log Analytics 工作区体系结构。
示例
有关实际监视解决方案的示例,请参阅 Azure 上的 Web 应用程序监视和Azure Kubernetes 服务群集的基线体系结构。
相关链接
社区链接
- Azure Monitor 基线警报 (AMBA) 是警报定义的中心存储库,客户和合作伙伴可以使用这些存储库通过采用 Azure Monitor 来改善其可观测性体验。
可靠性清单
请参阅完整的一组建议。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈