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

Azure Monitor 中数据收集规则的结构

数据收集规则 (DCR) 是一组说明,用于确定如何收集和处理发送到 Azure Monitor 的遥测数据。 某些 DCR 将由 Azure Monitor 创建和管理。 本文介绍在需要直接使用 DCR 的情况下,用于创建和编辑 DCR 的 JSON 属性。

dataCollectionEndpointId

指定 DCR 使用的数据收集终结点 (DCE)

方案

  • Azure Monitor 代理
  • 日志引入 API
  • 事件中心

streamDeclarations

向 Log Analytics 工作区发送不同类型的数据的声明。 每个流都是一个对象,其键表示流名称,该名称必须以 Custom- 开头。 流包含要发送的 JSON 数据中包含的顶级属性的完整列表。 发送到终结点的数据的形状不需要与目标表的形状匹配。 但是,输入数据之上的转换输出需要与目标形状匹配。

此部分不用于发送已知数据类型的数据源,例如从 Azure Monitor 代理发送的事件和性能数据。

可以分配给属性的可能数据类型包括:

  • string
  • int
  • long
  • real
  • boolean
  • dynamic
  • datetime

方案

  • Azure Monitor 代理(仅文本日志)
  • 日志引入 API
  • 事件中心

destinations

数据发送到的所有目标的声明。 目前仅支持 logAnalytics 作为目标,但 Azure Monitor 代理也可以使用 azureMonitorMetrics。 每个 Log Analytics 目标都需要完整的工作区资源 ID 和一个友好名称(用于在 DCR 中的其他位置引用此工作区)。

方案

  • Azure Monitor 代理(仅文本日志)
  • 日志引入 API
  • 事件中心
  • 工作区转换 DCR

dataSources

监视数据的唯一源,具有自己的格式和数据公开方法。 每个数据源都有一种数据源类型,每种类型将定义必须为每个数据源指定的唯一属性集。 下表列出了当前可用的数据源类型。

数据源类型 说明
eventHub 来自 Azure 事件中心的数据
扩展 基于 VM 扩展的数据源,以独占方式用于 Log Analytics 解决方案和 Azure 服务(查看代理支持的服务和解决方案
logFiles 虚拟机上的文本日志
performanceCounters Windows 和 Linux 虚拟机的性能计数器
syslog Linux 虚拟机上的 Syslog 事件
windowsEventLogs 虚拟机上的 Windows 事件日志

方案

  • Azure Monitor 代理
  • 事件中心

dataFlows

将流与目标匹配,并选择性地指定转换。

dataFlows/Streams

上述部分中定义的一个或多个流。 如果要将多个数据源发送到同一目标,可以在单个数据流中包含多个流。 不过,仅当数据流包含转换时,才使用单个流。 如果你要将特定数据源发送到同一 Log Analytics 工作区中的多个表,则多个数据流也可以使用一个流。

dataFlows/destinations

上述 destinations 部分中的一个或多个目标。 多宿主方案允许多个目标。

dataFlows/transformKql

应用于传入流的可选转换。 转换必须了解目标表架构中传入数据和输出数据的架构。 如果使用转换,数据流应仅使用单个流。

dataFlows/outputStream

描述在要将数据发送到 destination 属性下指定的工作区中的哪个表。 数据被引入到标准 Log Analytics 表中时,outputStream 的值采用 Microsoft-[tableName] 格式;将数据引入自定义表时采用 Custom-[tableName] 格式。 每个流只允许有一个目标。

此属性不用于 Azure Monitor 中的已知数据源,例如事件和性能数据,因为这些数据源会发送到预定义表。 |

方案

  • Azure Monitor 代理
  • 日志引入 API
  • 事件中心
  • 工作区转换 DCR

后续步骤

数据收集规则以及创建这些规则的方法的概述