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

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

数据收集规则 (DCR) 是类似 ETL 的数据收集过程的一部分,可改进 Azure Monitor 的旧式数据收集方法。 此过程将常用数据引入管道 Azure Monitor 管道用于所有数据源,并使用相比其他方法更易于管理和可缩放的标准配置方法。 基于 DCR 的数据收集的具体优点包括:

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

下图显示了使用 Azure Monitor 管道的数据收集。 DCR 定义了指定应如何处理数据以及应将数据发送到何处的每个收集方案。 Azure Monitor 管道本身由两个组件组成:

  • 云管道是 Azure Monitor 的一个组件,在 Azure 订阅中自动提供。 它不需要任何配置,也不会显示在 Azure 门户中。 它表示发送到 Azure Monitor 的数据的处理路径。 DCR 提供了有关云管道应如何处理其接收数据的说明。
  • 边缘管道则是一个可选组件,可将 Azure Monitor 管道扩展到自己的数据中心。 它支持大规模收集,并可在将遥测数据发送到云管道之前对其进行路由。 有关此组件值的详细信息,请参阅边缘管道

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

使用数据收集规则

数据收集规则 (DCR) 存储在 Azure 中,因此可以像任何其他 Azure 资源一样集中部署和管理它们。 它们是使用 Azure Monitor 管道支持数据收集的指令集。 它们提供一致且集中的方式来定义和自定义不同的数据收集方案。 根据不同场景,DCR 指定应收集哪些数据、如何转换该数据以及将该数据发送到哪里。

可以通过两种基本方案来指定特定数据收集方案的 DCR,如以下部分所述。

数据收集规则关联 (DCRA)

数据收集规则关联 (DCRA) 用于将 DCR 与受监视的资源相关联。 这是一种多对多关系,其中单个 DCR 可以与多个资源关联,单个资源也可与多个 DCR 相关联。 借助此方式,可以制定一种策略跨不同要求的资源集保持监视。

显示连接到 DCR 的 DCRA 的示意图。

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

显示在 API 调用中指定 DCR 的应用程序的示意图。

直接引入

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

显示使用日志引入 API 的 DCR 的基本操作的关系图。

转换

转换让你可以在传入数据存储在 Azure Monitor 中之前对其进行修改。 可以筛选不需要的数据以降低引入成本、删除不应保留在 Log Analytics 工作区中的敏感数据,或设置数据格式,以确保其与目标架构匹配。 转换是在云管道中运行的 DCR 中定义的 KQL 查询

终结点

必须将发送到云管道的数据发送到特定终结点的 URL。 根据方案,这可能是公共终结点、DCR 本身提供的终结点或你在 Azure 订阅中创建的数据收集终结点 (DCE)。 有关不同数据收集方案中使用的终结点的详细信息,请参阅 Azure Monitor 中的数据收集终结点

边缘管道

边缘管道可将 Azure Monitor 管道扩展到你自己的数据中心。 在将遥测数据传送到 Azure 云中的 Azure Monitor 之前,它能够大规模收集和路由遥测数据。

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

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

数据收集方案

下表介绍了当前使用 DCR 和 Azure Monitor 管道所支持的数据收集方案。 有关其配置的详细信息,请参阅每个条目中的链接。

场景 说明
虚拟机 在 VM 上安装 Azure Monitor 代理,并将其与一个或多个 DCR 相关联,这些 DCR 定义了要从客户端操作系统收集的事件和性能数据。 你可以使用 Azure 门户执行此配置,因此不必直接编辑 DCR。

请参阅使用 Azure Monitor 代理收集数据
在虚拟机上启用 VM 见解时,它会部署 Azure Monitor 代理以从 VM 客户端进行遥测。 DCR 是为你自动创建的,用于收集一组预定义的性能数据。

请参阅启用 VM 见解概述
容器见解 在 Kubernetes 群集上启用容器见解时,它会部署 Azure Monitor 代理的容器化版本,以将日志从群集发送到 Log Analytics 工作区。 DCR 是自动为你创建的,但你可能需要修改它才能自定义收集设置。

请参阅使用数据收集规则在容器见解中配置数据收集
日志引入 API 日志引入 API 允许从任何 REST 客户端将数据发送到 Log Analytics 工作区。 API 调用指定 DCR 接受其数据并指定 DCR 的终结点。 DCR 了解传入数据的结构,它包含一个转换,可确保数据采用目标表的格式,并指定要发送转换后数据的工作区和表。

请参阅 Azure Monitor 中的日志引入 API
Azure 事件中心 Azure 事件中心将数据发送到 Log Analytics 工作区。 DCR 定义传入流,并定义转换以格式化其目标工作区和表的数据。

请参阅教程:将日志从 Azure 事件中心引入 Azure Monitor 日志(公共预览版)
工作区转换 DCR 工作区转换 DCR 是一种特殊的 DCR,它与 Log Analytics 工作区相关联,允许你对使用其他方法收集的数据执行转换。 为工作区创建单个 DCR 并向一个或多个表添加转换。 转换适用于通过某种不使用 DCR 的方法发送到这些表的任何数据。

请参阅 Azure Monitor 中的工作区转换 DCR

DCR 区域

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

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

后续步骤

请参阅以下文章,了解有关如何使用 DCR 的其他信息。