你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

有关设计可靠监视和警报策略的建议

适用于此 Azure 架构良好的框架可靠性清单建议:

RE:10 测量并发布解决方案的运行状况指标。 从整个工作负荷以及单个组件和密钥流中持续捕获运行时间和其他可靠性数据。

本指南介绍了设计可靠监视和警报策略的建议。 实施此策略,使运营团队随时了解环境的运行状况,并确保满足工作负荷的既定可靠性目标。

定义

术语 定义
指标 定期收集的数值。 指标描述特定时间系统的某些方面。
资源日志 系统生成的数据。 它提供有关系统状态的信息。
Traces 提供有关请求通过服务和组件传输的路径的信息的数据。

关键设计策略

在创建监视和警报策略之前,请在可靠性规划过程中为工作负荷执行以下任务:

创建监视和警报策略,确保工作负荷可靠运行。 监视和警报策略为运营团队提供感知,以便他们收到工作负载状况更改的通知,并可以快速解决问题。 通过为关键流和这些关键流构成的组件创建 运行状况模型 来构建可靠可靠的监视策略。 运行状况模型定义正常、降级和不正常状态。 设计操作状态以立即捕获这些状态中的更改。 当运行状况状态从正常更改为降级或不正常时,警报机制会触发 自动纠正措施 ,并通知相应的团队。

实施以下建议,设计满足业务需求的监视和警报策略。

实施总体监视策略

  • 了解指标日志跟踪之间的差异。

  • 为所有云资源启用 日志记录 。 在部署中使用自动化和治理,在整个环境中启用诊断日志记录。

  • 将所有诊断日志转发到集中式数据接收器和分析平台,例如 Log Analytics 工作区。 如果有区域数据主权要求,则必须在受这些要求影响的区域中使用本地数据接收器。

权衡:存储和查询日志会产生成本影响。 请注意日志分析和保留如何影响预算,并确定满足需求的最佳利用率平衡。 有关详细信息,请参阅 成本优化最佳做法。

  • 如果工作负载受一个或多个符合性框架的约束,则处理敏感信息的一些组件日志也受这些框架的约束。 将相关组件日志发送到安全信息和事件管理(SIEM)系统,例如 Microsoft Sentinel

  • 创建日志 保留策略 ,其中包含符合性框架对工作负荷施加的长期保留要求。

  • 对所有日志消息使用 结构化日志记录 来优化查询日志数据。

  • 将警报配置为在值通过与运行状况模型状态更改相关的关键阈值(如绿色到黄色或红色)时触发。

    阈值配置是持续改进的一种做法。 随着工作负荷的发展,定义的阈值可能会更改。 在某些情况下, 动态阈值 是监视策略的一个不错的选择。

  • 考虑在状态改进时使用警报,例如红色到黄色或红色到绿色,以便运营团队可以跟踪这些事件以供将来参考。

  • 可视化环境的实时运行状况。

  • 使用事件期间收集的数据来持续改善运行状况模型和监视和警报策略。

  • 合并云平台监视和警报服务,包括:

  • 合并云提供商提供的专用高级监视和分析,例如 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 服务 群集的基线体系结构。

可靠性清单

请参阅完整的建议集。