大型企业在现代化现有监视解决方案时需要考虑许多因素。 企业可以使用 Azure Monitor 的功能进行集中化监视管理。 此示例方案演示了使用 Azure Monitor 的企业级监视。
体系结构
下载此体系结构的 Visio 文件。
工作流
此体系结构遵循资源上下文日志模型。 Azure 资源发出的每个日志记录会自动关联到资源。 此模型有助于分离从不同应用所有者收集和引入的工作区。
企业的不同工作负载具有不同的工作区。 配置不同的工作区可为团队提供对其自己数据的自主性,并针对每个工作区提供单独的成本概述。
平台即服务 (PaaS) 服务(例如 Azure Web 应用和 Azure Functions 应用)会在其工作区中添加对 Application Insights 的配置。
对于标识,本地 Active Directory 标识提供者和云标识提供者都有其各自的工作区。
Azure 虚拟桌面、Azure Pipelines、SQL 工作负载、Azure Kubernetes 服务 (AKS) 和 Azure Web 应用中的应用以及其他 PaaS 服务都拥有各自的工作区。
每个工作区都有自己已配置的一组警报。 Azure 逻辑应用和 Azure 自动化会提供提前警报和修正。 逻辑应用提供与 IT 服务管理 (ITSM) 工具的集成。
一组本地虚拟机 (VM) 通过 Azure Arc 进行连接,从而提供端到端 Azure 管理平面。 此外,还可使用 Azure Arc 连接到第三方云中运行的基础结构即服务 (IaaS) 资源。
自定义日志记录可捕获有关第三方虚拟化环境的信息,并收集自定义操作系统、软件和应用程序日志。
Log Analytics 工作区见解提供全面的工作区监视。 使用单个工作区存储从所有资源收集的数据可与 IT 组织的操作模型保持一致。 此工作区为中心团队提供所有工作区的使用情况、成本和性能的概述。 中央工作区根据资源考虑范围和基于角色的访问控制 (RBAC)。 Log Analytics 工作区见解有自己的一组单独的警报。
Log Analytics 通过导出要存档或分析的工作区数据,提供了进一步的集成。 将数据存档到冷层存储可节省成本。 可以通过创建馈送到机器学习模型的数据集,使用存档数据进行进一步分析。
Monitor 连接到安全信息和事件管理 (SIEM) 工具(例如 Microsoft Sentinel (SIEM)),以创建更大的企业安全数据存储。
Power BI 和 Azure 工作簿(适用于 Azure Monitor)提供数据可视化和仪表板功能。
组件
此体系结构包括以下组件:
Monitor 组件
Azure Monitor 可收集、分析和响应来自云和本地环境的遥测数据。 此解决方案使用以下 Monitor 组件和功能:
- Monitor 指标将受监视资源中的数值数据存储到时序数据库中。 Monitor 中的指标是轻型指标,支持准实时方案,这使得它们有助于发出问题警报和快速检测问题。
- Monitor 日志从受监视资源收集并组织日志和性能数据。 你可以将来自多个源(包括 Azure 平台日志)的数据合并到单个工作区中。 可以使用 Log Analytics 中的复杂查询语言来分析数据。
- Azure Monitor 代理可以将数据发送到 Monitor 日志和 Monitor 指标。 Azure Monitor 代理使用可配置的数据收集规则 (DCR),并且不需要工作区密钥即可进行连接。
- Application Insights 跨云、混合环境和本地环境监视各种平台上的实时应用程序。 Application Insights 会自动检测性能异常。 Application Insights 包括功能强大的分析工具,可帮助你了解使用情况和诊断问题。
- Azure 虚拟桌面见解使用适用于 Azure 虚拟桌面的 Monitor 来帮助 IT 专业人员了解其 Azure 虚拟桌面环境。
- 容器见解用于监视 Kubernetes 群集和其他基于容器的工作负载的性能和运行状况。
- 网络见解提供所有已部署网络资源的运行状况和指标的综合视图。
- SQL 见解(预览版)用于监视 Azure SQL 系列中产品的运行状况,并帮助诊断问题和优化性能。
- VM 见解用于监视 VM 和虚拟机规模集的性能和运行状况。 VM 见解包括正在运行的进程和对其他资源的依赖关系。
- IT 服务管理连接器 (ITSMC) 在 Azure 和支持的 ITSM 工具之间提供双向连接,以帮助你更快地完成工作项。
- 适用于 Azure Monitor 的 Azure 工作簿提供了一个灵活的画布,可分析多个 Azure 数据源,并将其组合成交互式视觉对象报表。
- Log Analytics 在 Log Analytics 工作区中创建并运行针对 Monitor 日志数据的查询。 此解决方案使用以下 Log Analytics 功能:
- Log Analytics 代理从云和本地操作系统以及 VM 工作负载收集监视数据,并将其发送到 Log Analytics 工作区。
- Microsoft Entra 监视可将 Microsoft Entra 活动日志路由到 Log Analytics 工作区。
- Log Analytics 网关为无法直接连接到 Internet 的计算机将数据发送到 Azure 自动化和 Log Analytics 工作区。
- 服务映射使用 Log Analytics 代理自动发现 Windows 和 Linux 系统上的应用程序组件,并映射服务之间的通信。
- 警报管理可帮助分析 Log Analytics 工作区中的所有警报。
- Log Analytics 数据导出(预览版)从 Log Analytics 工作区中的选定表连续导出数据。 数据可以导出到 Azure 存储帐户或 Azure 事件中心。
- Log Analytics 工作区见解全面监视所有 Log Analytics 工作区。 工作区见解提供工作区使用情况、性能、运行状况、代理、查询和更改日志的统一视图。
其他组件
在此解决方案中,Monitor 支持或集成以下 Azure 和 Microsoft 服务:
- Azure Arc 通过提供一致的多云和本地管理平台,简化了治理和管理工作。
- Azure 自动化提供基于云的自动化、操作系统更新和配置,以支持跨环境的一致管理。 更改跟踪用于跟踪云和本地 VM 中的更改,以帮助识别软件问题。 更改跟踪将数据转发到 Monitor 日志,然后将数据存储在 Log Analytics 工作区中。
- Azure ExpressRoute 将本地网络扩展到 Microsoft 云。 ExpressRoute 在连接提供商的帮助下使用专用连接。
- Azure Data Lake Storage 为大数据分析提供安全、可缩放且经济高效的云存储。
- Azure Functions 是一种无服务器解决方案,用于实现随时可用的代码块,称为“函数”。 函数按需运行并自动纵向扩展。
- Azure Kubernetes 服务 (AKS) 是一项完全托管的 Kubernetes 服务,用于轻松部署和管理容器化应用程序。
- Azure 负载均衡器在后端资源或服务器之间平均分配传入网络流量。
- Azure 逻辑应用是一个基于云的平台,用于创建和运行自动化工作流。 逻辑应用可以集成应用、数据、服务和系统。
- Azure 资源管理器提供管理层和模板,用于创建、更新和删除 Azure 帐户中的资源。
- Microsoft Defender for Cloud 是 Microsoft Defender for Cloud 的一部分,后者是一个统一基础结构安全管理系统。
- Microsoft Sentinel 是一个可缩放的云原生安全信息与事件管理 (SIEM) 和安全业务流程自动响应 (SOAR) 解决方案。
- Azure SQL 系列的 SQL 数据库服务提供一致、统一的 Azure SQL 体验。 Azure SQL 提供各种部署选项(从边缘到云)。
- Power BI 是一个软件服务、应用程序和连接器的集合,可将数据源转换为一致的、直观逼真的交互式见解。
备选方法
可以使用某些替代监视方法,与 Monitor 搭配使用或者取代 Monitor。
System Center Operations Manager
System Center Operations Manager 提供灵活、经济高效的基础结构监视。 Operations Manager 提供对专用和公共数据中心和云的全面监视。 Operations Manager 有助于确保重要应用程序的可预测性能和可用性。
若要维护现有 Operations Manager 投资,可以将 Operations Manager 与 Log Analytics 工作区集成。 可以使用 Monitor 日志和扩展功能,同时仍然为这些函数使用 Operations Manager:
- 监视 IT 服务的运行状况
- 保持与 ITSM 解决方案的集成以进行事件和问题管理
- 管理部署到本地和公有云 IaaS VM 的代理的生命周期。
有关详细信息,请参阅 将 Operations Manager 连接到 Azure Monitor。
Grafana
Grafana 是一个开放且可组合的可观测性和数据可视化平台。 Grafana 可帮助你在存储数据的任何位置对其进行查询、可视化、发出警报和了解。 可以构建灵活的仪表板来浏览和共享数据。
方案详细信息
企业的各个团队具有不同的工作负载,例如 Windows、Linux、SQL、基于标识的工作负载、虚拟桌面基础结构 (VDI)、容器和 Web 应用。 这些工作负载可以在任何云提供商、本地或组合环境中运行。 由于在不同环境中有如此大量的工作负载,因此基于云的监视非常复杂。
企业级监视还必须涵盖治理、操作最佳做法、有效的成本管理和工作区安全性。 监视必须提供足够的灵活性来设置和管理团队环境,让团队通过一定程度的控制权进行自我管理。
其他一些关键监视设计因素包括:
- 如何将 Log Analytics 工作区分散到不同的地理区域或团队。
- 监视工作区本身及其工作负载。
- 如何向不同的团队收费以优化总成本。
- 如何可视化收集的数据,可能还要进行存档。
- 为操作、应用和不同团队创建单独的仪表板。
- 为领导层提供对正确信息集的足够可见性。
可能的用例
此解决方案可帮助解决以下用例:
- 针对不同云和本地工作负载进行合并监视。
- 监视容器、Azure SQL 和 Azure 虚拟桌面工作负载。
- 扩大监视范围,例如将 Monitor 连接到 Microsoft Sentinel。
- 跨网络、标识提供者、操作系统和其他域进行混合和异质云监视。
注意事项
此解决方案具有以下注意事项。
可用性
Azure 可用性区域依赖于区域中的其他区域的可用性,来保护应用程序和数据免受数据中心故障的影响。 可用性区域有助于为 Monitor 功能提供复原能力,如依赖于 Log Analytics 工作区的 Application Insights。 链接到可用性区域的工作区仍保持活动状态,即使特定数据中心不可用也是如此。
如需了解支持可用性区域的 Azure 区域,请参阅 Azure 中的区域和可用性区域。 Monitor 监视器目前在美国东部 2 和美国西部 2 区域支持可用性区域。
若要 Azure Monitor 支持可用性区域,需要有链接到 Azure Monitor 专用群集的 Log Analytics 工作区。 专用群集作为部署选项,可为包含可用性区域的 Monitor 日志启用高级功能。 默认情况下,在 2020 年 10 月后创建的专用群集可以使用 Monitor 支持它们的可用性区域。
逻辑应用业务连续性灾难恢复 (BCDR) 工作流
逻辑应用工作流可帮助你在应用、云服务和本地系统之间集成和协调数据。 在规划业务连续性灾难恢复 (BCDR) 时,请确保不只考虑逻辑应用,也要考虑它们使用的 Azure 资源。 有关自动化逻辑应用工作流的 BCDR 指导和策略,请参阅 Azure 逻辑应用的业务连续性和灾难恢复。
操作
请务必使用策略来处理个人数据。 若要了解详细信息,请访问存储在 Log Analytics 和 Application Insights 中的个人数据指南。
请确保遵守以下法规符合性准则:
在 Azure 中运行的 Azure 自动化 runbook 可能无权访问其他云中或本地的资源。 可以使用 Azure 自动化混合 runbook 辅助角色直接在托管角色的计算机上运行 runbook。 你可以对环境中的资源运行 runbook 以管理本地资源。 有关详细信息,请参阅自动化混合 Runbook 辅助角色概述。
请考虑以下操作最佳做法,以帮助控制成本:
- 仅在数据收集成本很高时启用警报。
- 在实现之前审查 Monitor 监视解决方案。 例如,启用 Defender for Cloud 来收集和审核安全事件数据可能会以指数方式增加数据收集成本。
- 全面地合理化警报创建。 请考虑创建单个警报,而不是每个工作区或团队具有同一个警报。
- 将警报、逻辑应用和工作区等资源分组到不同的资源组中,并使用标记进行标识。
- 使用 Log Analytics 工作区见解来查看跨不同工作区的总体成本。
- 使用 Azure Monitor 代理精确地收集数据,精确到从系统事件日志中收集单个事件 ID。 精细的数据收集可提供成本效益。
- 使用 Monitor 数据导出将数据存档到低成本存储。
- 遵循 Application Insights 工作区中遥测数据的最佳做法。 有关详细信息,请参阅管理 Application Insights 的使用情况和成本。
性能效率
此解决方案具有以下性能注意事项:
延迟
延迟是指在监视的系统上创建数据与可在 Monitor 中进行分析之间的时间量。 引入日志数据时的典型延迟时间介于 20 秒到 3 分钟之间。 任何数据的具体延迟取决于各种因素。
特定数据集的总引入时间包含以下部分:
- 代理时间:发现事件、收集事件,以及将其作为日志记录发送到 Monitor 日志引入点的时间。 在大多数情况下,代理会处理此过程。 网络可能会带来额外的延迟。
- 管道时间 - 引入管道以处理日志记录的时间。 此时间包括分析事件属性的时间,还可能包括添加计算的信息的时间。
- 索引时间:将日志记录引入到 Monitor 大数据存储所花费的时间。
为了确保最短的延迟,请将 Monitor 工作区、逻辑应用和相关基础结构放置在与它们监视或控制的工作负载相同的 Azure 区域中。 但是,可能仍然存在延迟问题。 有关详细信息,请参阅 Azure Monitor 中的日志数据引入时间。
日志警报与指标警报
指标警报会定期检查检查一个或多个指标时序的条件是否属实,并在符合评估条件时发出通知。 默认情况下,指标警报是有状态的,仅当状态发生更改时才发送通知,例如,更改为“已触发”或“已解决”。
日志警报使用 Log Analytics 查询按照设置的频率评估资源日志,并根据结果触发警报。 基于指标的警报比日志警报发送通知的速度要快。
可伸缩性
对于警报、操作组、工作区和 Application Insights,监视器针对每个订阅都有服务限制。 有关详细信息,请参阅 Azure Monitor 服务限制。
查看并了解 Azure 订阅服务限制,尤其是逻辑应用和 Azure 自动化的限制。
安全性
此解决方案使用以下安全机制:
访问控制
Azure RBAC 会锁定托管每个团队或应用所有者的警报和逻辑应用的资源组。 使用 Azure RBAC,可以仅向用户和组授予其在工作区中处理监视数据所需的访问级别。 例如,你可以向负责 Azure VM 托管的基础结构服务的团队授予访问权限,仅允许其访问这些 VM 生成的日志。
用户可以访问的数据是由一系列因素共同决定的。
因子 | 说明 |
---|---|
访问模式 | 用户访问工作区的方法。 定义可用数据的范围,以及应用的访问控制模式。 |
访问控制模式 | 工作区中的设置,用于定义是要在工作区级别还是资源级别应用权限。 |
权限 | 应用到工作区或资源的个人用户或组的权限。 定义用户可以访问的数据。 |
表级别 Azure RBAC | 应用到所有用户(无论他们使用的是访问模式还是访问控制模式)的可选精细权限。 定义用户可以访问哪些数据类型。 |
有关详细信息,请参阅访问控制概述。
通过 ExpressRoute 的专用终结点连接
Monitor 是不同互连服务的集合,它们相互协同,共同监视你的工作负载。 可以使用 Azure 专用链接将 Azure PaaS 资源安全地链接到具有专用终结点的虚拟网络。 Azure Monitor 专用链接作用域提供在虚拟网络和 Monitor 资源中部署的应用程序之间的专用连接性,从而定义监视网络的边界。 有关详细信息,请参阅使用 Azure 专用链接将网络连接到 Azure Monitor。
逻辑应用集成服务环境 (ISE)
集成服务环境 (ISE) 环境将专用存储和其他资源与全局多客户逻辑应用服务分开。 有关详细信息,请参阅使用集成服务环境 (ISE) 从 Azure 逻辑应用连接到 Azure 虚拟网络。
Log Analytics 网关
Log Analytics 网关为无法直接连接到 Internet 的计算机将数据发送到 Azure 自动化和 Monitor Log Analytics 工作区。 有关详细信息,请参阅在 Azure Monitor 中使用 Log Analytics 网关连接无法访问 Internet 的计算机。
成本优化
Azure Monitor 包含用于收集和分析日志数据的功能。 通过数据引入、保留和导出来监视帐单。 可能影响定价的其他因素包括警报、通知和短信或语音呼叫。 有关详细信息,请参阅 Azure Monitor 定价。
Application Insights 和 Log Analytics 的默认定价采用即用即付模型,该模型基于数据引入量,有时还基于长期数据保留策略。 Log Analytics 还具有承诺层级,与即用即付价格相比,让你能够节省多达 30% 的成本。
查看逻辑应用定价和 Azure 自动化定价。
使用 Azure 定价计算器进一步深入了解定价。
注意事项清单
- 逐步启用 Monitor 解决方案,以最大程度地降低对环境和成本的影响。
- 参考所有体系结构组件的 Azure 服务限制。
- 设置有关成本限制的警报。 添加新的解决方案会成倍增加所收集的数据,从而增加成本。
- 在所有资源组和资源中使用标记,有助于在必要时向下钻取成本。
- 通过基础结构即代码 (IaC) 自动完成工作区部署来实现一致性。
- 在运行工作负载的同一区域中创建工作区,以提供较低的引入延迟。
- 对于没有 Internet 连接的本地计算机,通过 Log Analytics 网关使用 Azure Arc。
- 对于配置为使用 Azure Arc 的具有 Internet 连接的本地计算机,按项目将 VM 分组到单独的资源中,并使用 DCR。
- 跨资源组分散警报,以避免达到每个资源组 800 个部署的订阅限制。
- 合理化警报,以便在不同团队之间使用单个警报。
- 查看网络、用户和总体云服务的安全要求。
- 为每个工作区创建一个单独的资源组,有助于有效地应用 RBAC 规则。
- 将 RBAC 应用到用户帐户和其他对象以进行 Log Analytics 工作区访问。
- 使用 Microsoft Sentinel 引入标识和安全相关的日志。
- 利用 Application Insights 监视实时应用程序,以自动检测性能异常。
- 使用 Application Insights 分析工具来帮助诊断问题并了解应用的使用情况。
- 全面使用 Log Analytics 工作区 Insights 来监视和设置以下度量值的警报:
- 引入延迟
- 数据引入量
- 引入异常
- 代理运行状况
- 使用 Azure Monitor 代理精细化数据收集。
- 考虑将数据存档到冷存储层。 可以将冷数据存储与数据湖服务集成。
后续步骤
- Azure Monitor 监视哪些内容?
- Azure Monitor 数据平台
- Microsoft Azure 中的警报概述
- Azure Monitor 最佳做法 - 分析和可视化数据
- Azure Monitor 学习路径