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

Azure Monitor 中的数据收集规则 (DCR)

数据收集规则(DCR)是 提取、转换和加载(ETL)类数据收集过程的一部分,可改进 Azure Monitor 的旧数据收集方法。 此过程对所有数据源使用通用数据引入策略,以及比以前的收集方法更具可管理性和可缩放性的标准配置方法。

对于许多监视方案,无需了解 DCR 的创建或分配方式。 只需在 Azure 门户中使用指南来启用和配置数据收集,而 Azure Monitor 会为你创建和配置 DCR。 本文详细介绍了 DCR 的工作原理,以帮助你开始手动创建和配置,从而自定义数据收集过程。

基于 DCR 的数据收集的具体优势包括:

  • 对不同的数据源配置使用一致的方法。
  • 能够在传入数据发送到目标之前应用转换来进行筛选或修改。
  • 支持基础结构即代码和 DevOps 进程的可缩放配置选项。
  • 在你自己的环境中选择 Azure Monitor 管道,以提供高端可伸缩性、分层网络配置和定期连接。

查看 DCR

数据收集规则 (DCR) 存储在 Azure 中,因此可以像任何其他 Azure 资源一样集中部署和管理它们。 它们提供一致且集中的方式来定义和自定义不同的数据收集方案。

通过 Azure 门户中的“监视”菜单,在“数据收集规则”选项中查看订阅中的所有 DCR。 无论用于创建 DCR 的方法和 DCR 本身的详细信息如何,订阅中的所有 DCR 都会在此屏幕中列出。

显示 Azure 门户中 DCR 的屏幕截图。

被替换的旧数据收集方法

DCR 收集过程已替换或正在替换 Azure Monitor 中的其他数据收集方法。 下表列出了旧方法及其基于 DCR 的替换项。 Azure Monitor 中的其他数据收集方法预计会在未来替换为 DCR。

旧方法 DCR 方法 DESCRIPTION
Log Analytics 代理 Azure Monitor 代理 Azure Monitor 代理现在用于监视支持 VM 见解容器见解的虚拟机(VM)和 Kubernetes 群集。
诊断设置
(仅限指标)
指标导出 诊断设置当前仍用于从 Azure 资源收集资源日志。 现在可以使用指标导出功能来收集平台指标。
数据收集器 API 日志引入 API 日志引入 API 用于从任何 REST 客户端将数据发送到 Log Analytics 工作区。 它替换了安全性更低、功能更少的数据收集器 API。

数据收集过程

DCR 支持的数据收集过程为传入数据提供了一个常见的处理路径。 每个数据收集方案都在 DCR 中定义。 DCR 提供有关 Azure Monitor 如何处理其接收数据的说明。 根据方案,DCR 指定以下所有或部分:

  • 要收集和发送到 Azure Monitor 的数据。
  • 传入数据的架构。
  • 在存储之前需对数据进行转换。
  • 应将数据发送到的目标。

显示 Azure Monitor 管道数据流的图。

数据收集规则关联(DCRA)

在资源与数据收集规则(DCR)之间创建数据收集规则关联(DCRA),以实现某些数据收集方案。 这是一个多对多关系,其中单个 DCR 可以与多个资源相关联,单个资源最多可以与 30 个 DCR 相关联。 这样,便可以制定一种策略来根据不同要求维护对资源集的监视。

使用 DCR

创建 DCR 后,根据数据收集方案使用不同的方法使用它。 下表列出了用于在每个情况下收集数据的常见方案和方法。 下面提供了有关每个的详细信息。

Scenario 方法
Azure Monitor 代理 (AMA) 数据收集规则关联(DCRA)
事件中心 数据收集规则关联(DCRA)
平台指标(预览版) 数据收集规则关联(DCRA)
直接引入 在向 Azure Monitor 发送数据的 API 调用中指定的 DCR。
工作区转型 DCR DCR 在创建工作区后立即处于活动状态。

Scenarios

以下部分介绍了使用 DCR 在 Azure Monitor 中收集数据的常见方案。 它们描述了 DCR 中包含的详细信息,以及用于确定在特定方案中使用哪个 DCR 的方法。

Azure Monitor代理 (AMA)

Azure Monitor 代理(AMA) 用于从虚拟机和 Kubernetes 群集收集数据。 下图演示了在虚拟机上运行的 AMA 的数据收集。 安装代理后,它会连接到 Azure Monitor 以检索与之关联的任何 DCR。 在此方案中,DCR 指定要收集的事件和性能数据。 对于 Kubernetes 群集,这还包括 Prometheus 指标。 代理使用该信息来确定从计算机收集哪些数据并发送到 Azure Monitor。 传递数据后,将运行 DCR 中指定的任何 转换 来筛选和修改数据,然后将数据发送到指定的工作区和表。

有关详细信息,请参阅 使用 Azure Monitor 从虚拟机客户端收集数据启用对 Kubernetes 群集的监视

显示使用 DCR 的 Azure Monitor 代理基本操作的图示。

事件中心(预览版)

下图演示了如何将数据直接从事件中心引入 Log Analytics 工作区。 事件中心收到数据后,会将其传递到 Azure Monitor,然后转换并发送到与它关联的任何 DCR 中指定的任何目标。

有关详细信息,请参阅将事件从 Azure 事件中心引入 Azure Monitor 日志(预览版)。

显示事件中心数据发送到 Azure Monitor 的基本操作关系图。

平台指标(预览版)

平台指标会自动从 Azure 资源收集并发送到 Azure Monitor 指标。 下图显示了使用 DCR 将此数据发送到 Log Analytics 工作区以使用日志查询进行分析的过程。 这将替换使用 诊断设置 执行此函数的当前方法。

创建 DCR 时,它指定应在其中发送数据的工作区和表。 DCR 还包括一个转换,用于确保数据采用正确的目标表格式。 然后,DCR 与从中收集平台指标的资源相关联。

有关详细信息 ,请参阅通过数据收集规则导出的指标

显示 DCR 收集平台指标的基本操作的示意图。

直接引入

通过直接引入,指定特定的 DCR 来处理传入数据。 例如,下图演示了使用日志引入 API 的自定义应用程序中的数据。 每个 API 调用指定处理其数据的 DCR。 DCR 了解传入数据的结构,包括一个 转换 ,确保数据采用目标表的格式,并指定用于发送转换数据的工作区和表。

有关详细信息 ,请参阅日志引入 API

展示使用日志摄取 API 的 DCR 基本操作的示意图。

工作区改造 DCR

工作区转换 DCR 为未使用 DCR 的数据集合提供转换。 它们直接应用于 Log Analytics 工作区,并在创建时自动激活。

有关详细信息,请参阅 工作区转换 DCR

显示工作区转换 DCR 的基本操作图示。

转换

转换 是 DCR 中包含的 KQL 查询 ,该查询针对收到的每个记录运行。 它们让你能够在传入数据存储在 Azure Monitor 中或发送到另一个目标之前对其进行修改。 可以筛选不需要的数据以降低引入成本、删除不应保留在 Log Analytics 工作区中的敏感数据,或设置数据格式,以确保其与目标架构匹配。 转换还支持高级方案,例如将数据发送到多个目标或使用其他信息扩充数据。

显示转换的基本概念的示意图。

Azure Monitor 管道

Azure Monitor 管道将数据收集过程扩展到自己的数据中心。 在将数据传送到云之前,它可实现大规模收集和路由遥测数据。

Azure Monitor 管道的特定用例包括:

  • 可伸缩性。 管道可以处理受监视资源中的大量数据,这些资源可能受其他收集方法(例如 Azure Monitor 代理)的限制。
  • 定期连接。 某些环境可能与云具有不可靠的连接,或者出现长时间意外的无连接期。 管道可以在本地缓存数据,并在还原连接时与云同步。
  • 分层网络。 在某些环境中,网络已分段,数据无法直接发送到云。 管道可用于从受监视的资源收集数据,而无需云访问和管理与云中的 Azure Monitor 的连接。

显示 Azure Monitor 边缘管道数据流的图示。

DCR 区域

数据收集规则可在支持 Log Analytics 工作区以及 Azure 政府和中国云的所有公共区域中使用。 目前尚不支持气隙云。 DCR 将创建并存储在特定区域中,并备份到同一地理位置中的 配对区域 。 该服务部署到该区域中的所有三个 可用性区域 。 因此,它是一项区域冗余服务,可进一步提高可用性。

“单一区域数据驻留”是允许在单一区域存储客户数据的预览功能,目前仅在亚太地区的东南亚区域(新加坡)和巴西地区的巴西南部(圣保罗州)区域提供。 “单一区域驻留”在这些区域默认启用。

后续步骤

有关如何使用 DCR 的详细信息,请参阅: