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

日志记录和报告决策指南

所有组织都需要一些机制,以便在性能、运行时间和安全问题成为严重问题之前通知 IT 团队。 成功的监视策略可显示构成工作负荷和网络基础结构的各个组件的性能。 在公有云迁移的上下文中,将日志记录和报告与任何现有监视系统集成对于成功至关重要。 此外,向相应的 IT 人员显示重要事件和指标对于确保组织满足其运行时间、安全性和策略合规性目标至关重要。

显示从最低到最复杂的绘制日志记录、报告和监视选项的示意图,与下面的跳转链接保持一致。

跳转到:规划监视基础结构 | 云原生 | 本地扩展 | 网关聚合 | 混合监视(本地) | 混合监视(基于云) | 多云 | 了解详细信息

确定云日志记录和报告策略时的转折点主要基于:

  • 组织在运营流程中所做的现有投资。
  • 支持多云策略所需的任何要求。

云中的活动以多种方式进行记录和报告。 云原生日志记录和集中式日志记录是两个常见的托管服务选项,由订阅设计和订阅数驱动。

对监视基础结构进行计划

规划部署时,请考虑日志记录数据存储的位置,以及如何将基于云的报告和监视服务与现有流程和工具集成。

问题 云原生 本地扩展 混合监视 网关聚合
是否具有现有的本地监视基础结构?
是否具有阻止在外部存储位置存储日志数据的要求?
是否需要将云监视与本地系统集成?
是否需要在将遥测数据提交到监视系统之前进行处理或筛选?

云原生

在以下情况下,云原生 SaaS 解决方案(如 Azure Monitor)是更简单的选择:

  • 你的组织当前缺少已建立的日志记录和报告系统。
  • 计划的部署不需要与现有的本地或其他外部监视系统集成。

在此方案中,所有日志数据记录和存储在云中。 Azure 平台和 Azure Monitor 提供日志记录和报告工具,用于处理信息并将其呈现给 IT 员工。

根据需要,针对小型部署或试验部署中的每个订阅或工作负载实现基于 Azure Monitor 的自定义日志记录解决方案。 这些解决方案集中在一起,以监视整个云资产的日志数据。

云原生假设: 使用云原生日志记录和报告系统假定以下情况:

  • 无需将云工作负载中的日志数据集成到现有的本地系统中。
  • 不会使用基于云的报告系统来监视本地系统。

本地扩展

可能需要进行大量的重新开发工作,迁移到云的应用程序和服务才能使用 Azure Monitor 等基于云的日志记录和报告解决方案。 在这种情况下,请考虑允许工作负载继续向现有本地系统发送遥测数据。

若要支持这种方法,云资源必须通过混合网络云托管域服务的组合,直接与本地系统进行通信。 建立此通信后,云虚拟网络充当本地环境的网络扩展。 因此,云托管的工作负载可以直接与本地日志记录和报告系统通信。

此方法利用对监视工具的现有投资,只需对任何云部署的应用程序或服务进行有限修改。 此外,此方法通常是在直接迁移期间支持监视的最快方法。 但它不会捕获基于云的 PaaS 和 SaaS 资源生成的日志数据。 它还省略了云平台本身生成的任何与 VM 相关的日志,例如 VM 状态。 因此,在实现更全面的混合监视解决方案之前,此模式应是临时解决方案。

仅限本地的假设: 使用本地日志记录和报告系统需要以下情况:

  • 仅在本地环境中维护日志数据。 以这种方式维护日志数据,以支持技术要求或出于法规或策略要求。
  • 本地系统不支持混合日志记录和报告或网关聚合解决方案。
  • 基于云的应用程序可以直接将遥测数据提交到本地日志记录系统。 或者,提交到本地的监视代理可以部署到工作负荷 VM。
  • 工作负载不依赖于需要基于云的日志记录和报告的 PaaS 或 SaaS 服务。

网关聚合

在以下情况下,可能需要日志数据 网关聚合 服务:

  • 基于云的遥测数据量很大。
  • 现有的本地监视系统需要在处理之前修改日志数据。

网关服务部署到云提供商。 然后,配置相关应用程序和服务以将遥测数据提交到网关,而不是默认日志记录系统。 然后,网关处理数据:聚合、组合或以其他方式格式化数据,然后将数据提交到监视服务进行引入和分析。

此外,还可以使用网关来聚合和预处理绑定到云原生或混合系统的遥测数据。

网关聚合假设:

  • 预计会有大量遥测数据来自基于云的应用程序或服务。
  • 需要在将遥测数据提交到监视系统之前对其设置格式或以其他方式进行优化。
  • 监视系统具有可用于在网关进行处理之后引入日志数据的 API 或其他机制。

混合监视(本地)

混合监视解决方案来自本地和云资源的日常数据合并,以提供 IT 资产运营状态的集成视图。

如果已投资于难以替换或替换成本较高的本地监视系统,则可能需要将来自云工作负荷的遥测数据集成到预先存在的本地监视解决方案中。 在混合本地监视系统中,本地遥测数据会继续使用现有本地监视系统。 基于云的遥测数据会直接发送到本地监视系统,或者该数据会发送到 Azure Monitor,然后按固定间隔汇总并引入到本地系统。

本地混合监视假设: 使用本地日志记录和报告系统进行混合监视需要满足以下条件:

  • 必须使用现有的本地报告系统来监视云工作负载。
  • 在本地保留日志数据的所有权。
  • 本地管理系统具有可用于从基于云的系统引入日志数据的 API 或其他机制。

提示

鉴于云迁移的迭代性质,基于云的资源和服务与整体 IT 资产的集成已经成熟时,可能会从不同的云原生和本地监视转换到部分混合方法。

混合监视(基于云)

如果你对维护本地监视系统没有迫切需求,或者想要将本地监视系统替换为基于云的集中式解决方案,还可以将本地日志数据与 Azure Monitor 集成,以提供基于云的集中式监视系统。

镜像以本地为中心的方法,在此方案中,基于云的工作负载会将遥测数据直接提交到 Azure Monitor。 本地应用程序和服务将遥测数据直接提交到 Azure Monitor,或聚合本地数据,以便定期引入 Azure Monitor。 Azure Monitor 随后会充当整个 IT 资产的主要监视和报告系统。

基于云的混合监视假设: 使用基于云的日志记录和报告系统进行混合监视需要满足以下条件:

  • 不依赖于现有本地监视系统。
  • 工作负载没有将日志数据存储在本地的法规或策略要求。
  • 基于云的监视系统具有可用于从本地应用程序和服务引入日志数据的 API 或其他机制。

多云

跨多云平台集成日志记录和报告功能可能很复杂。 在平台之间提供的服务通常无法直接比较,这些服务提供的日志记录和遥测功能也有所不同。

多云日志记录支持通常需要先使用网关服务将日志数据处理为通用格式,然后再将数据提交到混合日志记录解决方案。

了解详细信息

Azure Monitor 是 Azure 中的默认报告和监视服务。 它提供:

  • 用于收集应用程序遥测数据、主机遥测数据(如 VM)、容器指标、Azure 平台指标和事件日志的统一平台。
  • 可视化效果、查询、警报和分析工具。 通过它可以了解虚拟机、来宾操作系统、虚拟网络和工作负荷应用程序事件。
  • REST API ,用于与外部服务集成并自动执行监视和警报服务。
  • 与许多常见第三方供应商的集成

后续步骤

日志记录和报告只是云采用过程中需要体系结构决策的核心基础结构组件之一。 请访问体系结构决策指南概述,了解在为其他类型的基础结构做出设计决策时要使用的替代模式或模型。