配置 Azure Monitor 数据收集规则

已完成

规范化日志数据的另一种方法是在引入时转换数据。 这样可以以分析格式存储数据,以便在 Microsoft Sentinel 中使用。

Azure Monitor 中的数据收集规则

数据收集规则 (DCR) 在 Azure Monitor 中提供一个类似 ETL 的管道,让你能够定义进入 Azure Monitor 的数据的处理方式。 根据工作流的类型,DCR 可以指定应将数据发送到的位置,并可以在数据存储到 Azure Monitor 日志之前进行筛选转换。 某些数据收集规则将由 Azure Monitor 创建和管理,而你可以创建其他规则来自定义数据收集以满足你的要求。

数据收集规则的类型

目前,Azure Monitor 中有两种数据收集规则:

  • 标准 DCR。 用于将数据发送到 Azure Monitor 的不同工作流。 当前支持的工作流是 Azure Monitor 代理和自定义日志。

  • 工作区转换 DCR。 在 Log Analytics 工作区中使用,以便对当前不支持 DCR 的工作流应用引入时转换。

转换

利用数据收集规则 (DCR) 中的转换,可以先筛选或修改传入的数据,然后再将这些数据存储在 Log Analytics 工作区中。 数据转换是使用某个 Kusto 查询语言 (KQL) 语句来定义的,该语句会单个地应用于数据源中的每个条目。 它必须了解传入数据的格式,并在目标表的结构中创建输出。

转换结构

输入流由名为源的虚拟表来表示,该表包含与输入数据流定义匹配的列。 下面是转换的典型示例。 此示例包括以下功能:

  • 通过 where 语句来筛选传入的数据
  • 使用 extend 运算符来添加新列
  • 使用 project 运算符将输出的格式设置为与目标表的列匹配
source  
| where severity == "Critical" 
| extend Properties = parse_json(properties)
| project
    TimeGenerated = todatetime(["time"]),
    Category = category,
    StatusDescription = StatusDescription,
    EventName = name,
    EventId = tostring(Properties.EventId)