你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
云部署模型的监视策略
本文是云监视指南系列教程的一部分。
确定 云监视策略(包括要运行的云部署模型)时,需要适应监视策略。
要监视的典型云部署模型是公有云,用于部署到全球 Azure 云、在本地和公有云资源以及私有云(例如 Azure Stack)时混合的公有云。
在实施云部署模型监视策略期间,评估以下几点:
- 现有承诺:评估是否保持对现有企业监视平台(如 System Center Operations Manager)的承诺。 你可能在其他平台上有现有承诺,因为它们已经与 IT 运营流程、知识和专业知识集成,因此更改成本更高。
- 监视需求:是否仅监视本地和公有云中的工作负载和基础结构,还是仅监视云中?
- 现代化 IT 操作:监视策略是否包括现代化 IT 操作并迁移到我们的云监视服务和解决方案?
- 关键系统:是否有空气隔离或物理隔离的系统? 你是否在私有云中托管系统,或者托管在需要监视的物理硬件上?
本文档中讨论的策略提供了完整的面向服务的监视视角,其中包括支持监视以下各项:
- 基础结构:计算、存储和服务器工作负荷。
- 应用程序:最终用户、异常和客户端。
- 网络:网络资源。
监视应基于了解操作员和应用程序所有者需要可视化哪些信息。 根据该信息,你可以确定要收集的数据,并选择相应的工具。 如果环境包含多个服务,则应单独评估每个服务。 应在管理基线监视的基础上启用特定于工作负荷的监视。
Azure 云监视
Azure Monitor 是一个全面的解决方案,用于从 Azure 和本地环境收集、分析和操作信号。 Azure Monitor 包含许多功能,包括但不限于网络监视、SCOM 托管实例、VM Insights 和 Application Insights。
下表总结了推荐的用于监视堆栈的每一层的方法:
层 | 资源 | 范围 | 方法 |
---|---|---|---|
应用程序监视 | 基于 Web 的应用程序,在 Azure VM、Azure App 服务、Azure Service Fabric、Azure Functions 或 Azure 云服务上运行的 .NET、.NET Core、Java、JavaScript 或 Node.js。 | 监视实时 Web 应用程序以自动检测性能异常、识别代码异常和问题以及收集用户行为分析。 | Application Insights,Azure Monitor 的一项功能。 |
Azure 资源 | 例如,Azure 网站、Azure 密钥保管库或网络安全组。 此外,Azure 数据库服务(如 SQL 或 MySQL)。 | 可用性、性能和操作监视。 | |
来宾内操作系统组件 | 例如,Windows 服务器、容器或 Linux 服务器 | 容量、可用性、性能、日志、事件和服务 | |
网络 | 虚拟机与一个或多个终结点之间的通信。 | 监视 VM 与终结点之间的可访问性、延迟和网络拓扑更改。 | Azure Monitor 网络见解 和 Azure 网络监视解决方案。 |
Azure 订阅 | Azure 服务运行状况和基本资源运行状况(从 Azure 服务的角度来看)。 | 使用 Azure Monitor 在监视和警报活动日志中传递。 | |
Azure 租户 | Microsoft Entra ID | Microsoft Entra 审核和登录日志。 | 启用诊断日志记录,并配置到 Azure Monitor 日志的流式传输。 |
安全性 | 所有类型的资源 | 安全审核 |
混合云监视
Microsoft 提供了多个支持此云模型的监视平台,IT 决策者可能需要澄清哪些平台最适合其业务和 IT 运营目标。
本部分比较了 Azure Monitor、System Center Operations Manager(Operations Manager)和 System Center Operations Manager 托管实例(SCOM 托管实例)的多个平台和基础结构因素。
要求 | Azure Monitor (没有 Azure Monitor SCOM 托管实例功能) |
Operations Manager | SCOM 托管实例 |
---|---|---|---|
常规目标环境 | 大多数 IT 资源都是 Azure PaaS 资源。 客户有一个明确的策略,用于实现 IT 运营现代化并迁移到 Azure。 |
Azure 中资源有限或无资源的客户。 监视侧重于本地数据中心。 可以使用 Azure 和 Microsoft 365 的管理包实现 Azure 监视。 | Azure 中同时具有本地数据中心和资源的客户。 希望保持对 System Center Operations Manager 的承诺的客户,因为它与 IT 运营流程、知识和专业知识集成,或者由于某些功能在 Azure Monitor 中不可用。 |
基础结构要求 | 否 | 是 需要至少一个管理服务器和一个 SQL Server 实例,来托管操作数据库和报表数据仓库数据库。 如果需要高可用性和进行灾难恢复,并且存在位于多个站点的计算机、不受信任的系统和其他复杂设计注意事项,那么复杂性会增加。 |
是,有限 要求至少连接到 azure SQL 托管Active Directory 域的可用性。 |
有限连接:无 Internet 或隔离网络 | 否 | 是 | 否 |
有限连接:受控 Internet 访问 | 是 | 是 | 是 |
有限连接:频繁断开连接 | 是 | 是 | 是 |
可配置的运行状况监视 | 是,使用 Application Insights | 是 | 是 |
Web 应用可用性测试(网络隔离) | 是,受限。 Azure Monitor 在此领域的支持受限,需要自定义防火墙例外情况。 |
是 | 是,受限。 SCOM 托管实例支持从代理或管理服务器资源池执行此操作。 |
Web 应用可用性测试(全球分布) | 否 | 是 | 否 |
监视 VM 工作负载 | 是,受限。 可收集 IIS 和 SQL Server 错误日志、Windows 事件和性能计数器。 需要创建自定义查询、警报和可视化效果。 请参阅 Azure Monitor 中的日志查询入门 |
是的。 支持使用可用管理包监视大多数服务器工作负荷。 需要 VM 上的 Log Analytics Windows 代理或 Operations Manager 代理,从而向公司网络上的管理组报告。 |
是的。 支持使用可用的管理包监视大多数服务器工作负载。 需要 VM 上的 Operations Manager 代理,并报告回托管实例。 |
监视 Azure IaaS | 是 | 是的。 支持通过企业网络监视大部分基础结构。 通过 Azure 管理包跟踪 Azure VM、SQL 和存储的可用性状态、指标和警报。 |
是的。 支持监视大部分基础结构。 通过 Azure 管理包跟踪 Azure VM、SQL 和存储的可用性状态、指标和警报。 |
监视 Azure PaaS | 是 | 是,受限。 基于 Azure 和 Microsoft 365 管理包中支持的内容。 有关 Azure 管理包的详细信息,请参阅 下载适用于 Microsoft Azure 的 Microsoft System Center Operations Manager 管理包。 |
是,受限。 基于 Azure 管理包中支持的内容。 有关 Azure 管理包的详细信息,请参阅 下载适用于 Microsoft Azure 的 Microsoft System Center Operations Manager 管理包。 |
Azure 服务监视 | 是 | 是的。 尽管目前无法通过管理包实现对 Azure 服务运行状况的本机监视,但可以创建自定义工作流来查询服务运行状况警报。 使用 Azure REST API 通过现有通知获取警报。 |
是的。 尽管目前无法通过管理包实现对 Azure 服务运行状况的本机监视,但可以创建自定义工作流来查询服务运行状况警报。 使用 Azure REST API 通过现有通知获取警报。 |
新式 Web 应用程序监视 | 是 | 否 | 否 |
旧版 Web 应用程序监视 | 是,受限。 它因 SDK 而异。 支持监视旧版 .NET 和 Java Web 应用程序。 |
是,受限。 | 是,受限 |
监视 Azure Kubernetes 服务容器 | 是 | 是的,具有来自 Microsoft 合作伙伴的管理包。 | 是的,具有来自 Microsoft 合作伙伴的管理包。 |
监视 Docker 或 Windows 容器 | 是 | 否 | 否 |
网络性能监视 | 是的。 支持使用 Azure Monitor 网络见解监视网络。 通过 SNMP 代理服务器支持 SNMP 监视。 |
是的。 支持可用性检查,并使用公司网络中的简单网络管理协议(SNMP)从网络设备收集基本统计信息。 支持基本网络连接。 |
是的。 支持可用性检查,并使用公司网络中的简单网络管理协议(SNMP)从网络设备收集基本统计信息。 支持基本网络连接。 |
交互式数据分析 | 是 | 错误。 依赖 SQL Server Reporting Services 预制或自定义报告、第三方可视化解决方案或自定义 Power BI 实现。 Operations Manager 数据仓库存在规模和性能限制。 与 Azure Monitor 日志集成,作为数据聚合要求的替代方案。 可以通过配置 Log Analytics 连接器来实现集成。 |
是,受限。 依赖于 Power BI 实现或第三方可视化解决方案。 |
端到端诊断、根本原因分析和及时故障排除 | 是的。 可能需要自定义脚本或集成到其他服务中,例如Azure 自动化。 |
是的。 可能需要自定义脚本或与其他服务集成,例如Azure 自动化或 System Center Orchestrator。 |
是的。 可能需要自定义脚本或与其他服务集成,例如Azure 自动化或 System Center Orchestrator。 |
交互式可视化效果 | 是 | 是,受限。 通过 HTML5 Web 控制台或合作伙伴解决方案的高级体验提供基本仪表板。 |
是,受限。 通过 HTML5 Web 控制台或合作伙伴解决方案的高级体验提供基本仪表板。 |
与 IT 或 DevOps 工具集成 | 是 | 是,受限。 | 是,受限。 |
混合监视注意事项
下面是混合监视的一些注意事项。
- 将监视数据流式传输到第三方或本地系统:若要将从 Azure 资源发出的诊断数据转发到本地工具或托管服务提供商,请将Azure 事件中心配置为将数据流式传输到其中。
仅使用 Operations Manager 的权衡
临时数据分析不可用:通常使用从控制台访问的管理包、SQL Server Reporting Services (SSRS) 报表或已创建的自定义视图分析 Operations Manager 中的监视数据。 即席数据分析并不是现成可用的。
不灵活且有点复杂的报告:提供监视数据长期保留的数据仓库无法缩放或性能良好。 要支持 IT 组织中各种角色的需求,还需在编写 T-SQL 语句、开发 Power BI 解决方案或使用第三方解决方案方面具备专业知识。
警报:Operations Manager 中的警报不支持复杂的表达式或包含相关逻辑。 为了帮助减少噪音,警报分组以显示其关系并识别其原因。
将 Operations Manager 与 Azure Monitor 配合使用的好处
更好的分析、性能和保留:Azure Monitor 通过收集重要的性能和日志数据来补充 Operations Manager 数据仓库数据库。 Azure Monitor 提供更好的分析,在查询大量数据时性能更高,保留期优于 Operations Manager 数据仓库。
复杂查询和数据可视化:可以使用 Kusto 查询语言 (KQL) 创建更复杂的复杂查询。 只需几秒即可对 TB 级数据运行查询。 可将数据快速转换为饼图、时间图表和许多其他可视化效果。 若要分析此数据,不再受到基于 SQL Server Reporting Services、自定义 SQL 查询或其他解决方法使用 Operations Manager 报表的约束。
警报:可以通过实现 Azure Monitor 警报管理解决方案来提供改进的警报体验。 在 Operations Manager 管理组中生成的警报可转发到 Azure Monitor Log Analytics 工作区。 可以配置负责将警报从 Operations Manager 转发到 Azure Monitor 日志的订阅,以便仅转发特定警报。 例如,可以只转发满足查询条件的警报来支持管理趋势问题,并通过单一虚拟管理平台调查故障或问题的根本原因。 还可以关联 Application Insights 或其他源中的其他日志数据,以获取改进用户体验、增加运行时间以及缩短事件解决时间的见解。
跨环境监视:可以使用 Azure Monitor 从 Azure 中的简单或多层体系结构监视云原生基础结构和应用程序,还可以使用 Operations Manager 监视本地基础结构。 此监视包括一个或多个 VM、放置在可用性集或虚拟机规模集中的多个 VM,或部署到在 Windows Server 或 Linux 容器上运行的Azure Kubernetes 服务(AKS)的容器化应用程序。
如果需要全面监视在 Azure VM 上运行的 Microsoft 或第三方工作负荷,并且具有无法单独基于日志或性能数据评估的高级方案,请使用 System Center Operations Manager。 其管理包提供高级逻辑,其中包括服务和运行状况模型,以确定工作负载的操作运行状况。
Azure VM 与本地 VM 之间的网络连接监视:使用 Azure VM 见解的映射功能,可以从 Azure VM 与本地 VM 之间的网络连接监视标准连接指标。 这些指标包括响应时间、每分钟请求数、流量吞吐量和链接。 你可标识失败的连接、进行排除故障、执行迁移验证和安全分析,并可验证服务的整体体系结构。 映射可以自动发现 Windows 和 Linux 系统上的应用程序组件,并映射服务之间的通信。 这种自动化可帮助标识你之前不知道的连接和依赖关系,规划和验证向 Azure 的迁移,并在事件解决期间尽量减少推测。
环境之间的网络连接监视:通过使用网络性能监视器,可以在以下两者之间监视网络连接:
企业网络和 Azure。
任务关键型多层应用程序和微服务。
用户位置和基于 Web 的应用程序 (HTTP/HTTPS)。
此策略提供网络层可见性,而无需 SNMP。 在交互式拓扑映射中,它还可以提供源终结点和目标终结点之间路由的逐跃点拓扑。 这比尝试在 Operations Manager 中或通过环境中当前使用的其他网络监视工具实现相同的结果。
使用 Azure Monitor 的好处
检查监视和警报要求、现有监视工具和迁移到云的工作负载的配置。 完成计划后,请配置 Azure Monitor。
混合基础结构和应用程序监视:从简单或多层体系结构监视混合基础结构和应用程序,其中组件托管在 Azure、其他云提供商和企业网络之间。 这些组件可能包括一个或多个 VM、放置在可用性集或虚拟机规模集中的多个 VM,或部署到 Windows Server 或 Linux 容器上运行的Azure Kubernetes 服务(AKS)的容器化应用程序。
使用 Azure Arc 监视本地资源:利用 Azure Arc 来准备本地服务器、虚拟机、Kubernetes 群集和整个环境中的数据库,以便进行管理,就像在 Azure 中运行一样。 凭借熟悉的 Azure 服务和管理功能,Azure Arc 将提供一致的清单、管理、治理和安全性。
检测和诊断基础结构与应用程序之间的问题:启用 Azure VM 见解、Azure 容器见解和 Application Insights 来检测和诊断基础结构与应用程序之间的问题。 若要更彻底地分析和关联从支持应用程序的多个组件或依赖项收集的数据,需要使用 Azure Monitor 日志。
创建智能警报:设计适用于一组核心应用程序和服务组件的智能警报,这有助于通过复杂信号的动态阈值减少警报噪音,并使用基于机器学习算法的警报聚合来帮助快速识别问题。
知识库:定义查询库和仪表板,以支持 IT 组织中的各种角色的要求。 例如,可以从 Azure Monitor 访问这些内容,并快速获取日常业务所需的见解。
定义监视基线:定义用于跨混合和云资源启用监视的标准和方法、每个资源的监视基线和警报阈值。
配置所需的最低访问权限:使用 Azure 基于角色的访问控制(Azure RBAC)仅向用户和组授予监视其管理资源中的数据所需的访问权限。
私有云监视
许多客户依赖于 Azure Stack 来获取其私有云。 可以使用 Operations Manager 全面监视 Azure Stack。 具体而言,可以监视租户中运行的工作负荷、资源级别、虚拟机和托管 Azure Stack 的物理基础结构,例如服务器和网络交换机。
私有云监视注意事项
监视运行状况和警报:若要了解包含的基础结构监视功能,可帮助查看 Azure Stack Hub 区域的运行状况和警报,请参阅 Azure Stack Hub 中的“监视运行状况和警报”。
使用 Azure Stack Hub 上的 Azure Monitor:若要获得 Azure Monitor 的集成体验,并获取大多数服务的基级基础结构指标和日志,请使用 Azure Stack Hub 上的 Azure Monitor。
使用 Azure Stack 管理包:如果已投资 Operations Manager,请使用 Azure Stack 管理包监视 Azure Stack 部署的可用性和运行状况,包括区域、资源提供程序、更新、更新运行、缩放单元、单元节点、基础结构角色及其实例。 此管理包使用运行状况和更新资源提供程序 REST API 来与 Azure Stack 进行通信。 若要监视物理服务器和存储设备,请使用 OEM 供应商的管理包(例如,由 Lenovo、HPE 或 Dell 提供)。
监视网络交换机:Operations Manager 可以本机监视网络交换机,以使用 SNMP 收集基本统计信息。 Azure 管理包可以遵循两个基本步骤来监视租户工作负荷。 配置要监视的订阅,然后添加该订阅的监视器。