监视是收集、分析和处理指标、日志和事务的过程,这些指标、日志和事务指示平台、资源和应用程序的运行状况。 有效的监视环境包括整个云资产,这些资产可能包括跨多个云和本地的资源。
此体系结构介绍使用 Azure Monitor 监视企业环境的灵活策略。 将此体系结构用作实现满足组织各种独特要求的监视解决方案的起点。
建筑
工作流
以下工作流对应于上图:
数据采集。 Azure Monitor 的数据存储在 Log Analytics 工作区 (日志和指标)、 Azure Monitor 工作区 (Prometheus 指标)和 Azure Monitor 指标 (平台指标)中。 不同订阅中的数据源将数据发送到管理订阅中的 Log Analytics 工作区和 Azure Monitor 工作区。 平台指标存储在与 Azure 资源相同的订阅中,并发送到 Log Analytics 工作区,以便它们可以与其他数据源相关联。
警报。 日志查询和 Prometheus 警报规则是在管理订阅中创建的,这些规则会访问 Log Analytics 工作区和 Azure Monitor 工作区。 每个工作区集都有自己的警报规则集,这些规则在工作区所在的资源组中创建。 指标警报规则是在管理订阅中创建的,并访问资源订阅中的平台指标。
集成。 Microsoft Sentinel 使用与 Azure Monitor 相同的 Log Analytics 工作区和 Azure Monitor 代理(AMA),因此可以将同一体系结构用于 SIEM 功能。 ITSM 集成是在 Azure Monitor 中使用 ITSM 连接器响应 Azure Monitor 警报时执行的。 生成警报时,会在 ITSM 系统中创建票证。
组件
-
Azure Monitor 是 Azure 的主要监视解决方案,提供全面的解决方案,用于从云和本地环境收集、分析和处理遥测数据。 除了为应用程序和基础结构提供完整的堆栈监视解决方案外,Azure Monitor 还包括 Azure 可观测性生态系统中其他服务利用的数据平台和其他核心功能。
- Azure Monitor 日志 是一个集中式平台,用于收集、分析和处理 Azure Monitor 收集的遥测数据。
- 适用于 Prometheus 的 Azure Monitor 托管服务 是基于 Azure Monitor 构建的可缩放且高度可用的 Prometheus 服务。 它提供完全托管、可缩放且安全的服务,用于引入 Prometheus 指标并将其存储在 Azure Monitor 工作区中。
- Azure Monitor 代理 从虚拟机的来宾操作系统和工作负载中收集监视数据,并将其发送到 Azure Monitor。 Kubernetes 群集还使用它来收集容器日志和 Prometheus 指标。
- Application Insights 是适用于多个平台上的 Web 应用程序的可扩展应用程序性能管理(APM)服务。 它将自动检测性能异常,并包括强大的分析工具,帮助您诊断问题和了解用户实际如何使用您的应用。
- 日志引入 API 允许使用 REST API 调用或客户端库将数据发送到 Log Analytics 工作区。 这对于从自定义应用程序或其他解决方案发送数据非常有用。
- Azure Monitor 中的工作簿提供了一个灵活的画布,用于数据分析和在 Azure 门户中创建丰富的视觉报表。 他们从 Azure Monitor 数据平台访问数据。
- Azure Arc 扩展了 Azure 平台,用于跨本地、多云和边缘环境管理和管理基础结构和应用程序。 它允许你通过单个控制平面管理混合资源与云资源。 使用 Azure Arc 使混合虚拟机和群集可供 Azure Monitor 使用。
- Microsoft Sentinel 是一种云原生安全信息和事件管理(SIEM),它从 Azure 服务和其他资源(包括 Microsoft Defender)引入遥测数据。 它为 SIEM 和安全业务流程、自动化和响应(SOAR)提供智能且全面的解决方案。 它利用与 Azure Monitor 相同的 Log Analytics 工作区和 Azure Monitor 代理。
- Azure 托管 Grafana 是完全托管的 Azure 服务,它提供基于 Grafana 软件由 Grafana Labs 构建的数据可视化平台。
- Key Vault 是一种云服务,用于安全地存储和访问机密。 使用 Key Vault 存储应用程序和服务使用的连接字符串、密码和证书等机密。
替代方案
此体系结构遵循 适用于 Azure 的云采用框架中的指导原则。 有关每个 登陆区域的详细信息,请参阅 Azure 登陆区域设计原则 。
订阅。 遵循订阅民主化的设计原则,为管理组件创建单独的订阅。 这包括 Log Analytics 工作区、Azure Monitor 工作区、支持诊断和审核的存储帐户以及警报规则。
工作区。 Log Analytics 工作区和 Azure Monitor 工作区为 Azure Monitor 提供数据平台。 Log Analytics 工作区存储日志和跟踪数据,而 Azure Monitor 工作区存储 Prometheus 指标。 平台指标存储在订阅级别的 Azure Monitor 中,因此此数据的设计要求最低。 每个工作区的数量和区域将取决于你的特定要求。 有关特定设计条件,请参阅 设计 Log Analytics 工作区体系结构 和 Azure Monitor 工作区 。 如果在特定区域中的 Log Analytics 工作区中生成足够的数据,请将它们链接到专用群集,以利用成本奖励和附加功能,如 在 Azure Monitor 日志中创建和管理专用群集中所述。
可视化。 可以使用 Azure Monitor 中的工作簿或使用 Azure 管理的 Grafana 对 Azure Monitor 收集的数据进行可视化。 这两者都包含在此体系结构中,尽管可以选择使用一种或另一种。 由于没有其他组件需要安装,并且没有额外的成本,因此工作簿始终可用作可视化选项。 Azure 托管 Grafana 具有额外的成本,因此,如果你对 Grafana 有现有投资,请使用它。
方案详细信息
企业环境具有不同的工作负载,例如 Web 应用程序、虚拟机、数据服务、基于标识的工作负载和容器。 这些工作负载可以在 Azure、其他云提供商或本地运行,使基于云的监视变得复杂。 需要通过监视来掌握工作负荷的运行状况和性能,并在问题出现时立即收到通知。 基于 Azure Monitor 的解决方案除了支持安全监视、审核和成本管理外,还提供这些要求。
可能的用例
此解决方案可帮助解决以下用例:
- 使用 Azure Monitor 合并了对不同云和本地工作负荷的运行状况和性能监视。
- 使用 Microsoft Sentinel 和 Microsoft Defender XDR 进行安全监视和威胁检测的平台。
- 将监视环境与 ITSM 系统集成。
- 集中实现可视化,依据资源的访问控制对数据进行筛选。
建议
以下建议适用于大多数方案。 除非有优先于这些建议的特定要求,否则请遵循这些建议。
- 使用 Azure Policy 为大多数用户禁用工作区创建,以便维护工作区策略。 这将防止数据意外碎片化,并可能导致监视成本增加。
- 使用 Azure Policy 为基础结构资源(例如网络、PIP、快速路由线路)配置诊断设置,以始终将资源日志发送到集中式 Log Analytics 工作区。
- 将 Log Analytics 工作区权限限制为监视解决方案管理员。 所有其他角色都应使用基于资源的访问控制。
- 围绕中央企业监视体系结构定期审查治理策略对于适应不断发展的技术格局至关重要。
注意事项
这些注意事项实现 Azure Well-Architected 框架的支柱,这是一组指导原则,可用于提高工作负荷的质量。 有关这些原则的详细信息,请参阅 Microsoft Azure Well-Architected Framework。
有关实现 Azure Monitor 的特定注意事项,请参阅以下最佳做法文章:
- 可靠性 - 确保应用程序能够履行对客户的承诺。
- 安全性 - 提供针对故意攻击和滥用宝贵数据和系统的保证。
- 成本优化 - 查看减少不必要的开支和提高运营效率的方法。
- 卓越运营 - 涵盖部署应用程序并使其在生产环境中运行的作流程。
- 性能效率 - 工作负荷的扩展能力,以高效地满足用户的需求。