移动字段

编辑

move_fields 处理器将事件字段从一个对象移动到另一个对象。它还可以重新排列字段或向字段添加前缀。

该处理器从 from 中提取字段,然后使用 fieldsexclude 作为过滤器来选择要移动到 to 字段的字段。

例如,给定以下事件

{
  "app": {
    "method": "a",
    "elapsed_time": 100,
    "user_id": 100,
    "message": "i'm a message"
  }
}

要将 methodelapsed_time 移动到另一个对象,请使用以下配置

processors:
  - move_fields:
      from: "app"
      fields: ["method", "elapsed_time"],
      to: "rpc."

您的最终事件将是

{
  "app": {
    "user_id": 100,
    "message": "i'm a message",
    "rpc": {
      "method": "a",
      "elapsed_time": 100
    }
  }
}

要为整个事件添加前缀

{
  "app": { "method": "a"},
  "cost": 100
}

请使用以下配置

processors:
  - move_fields:
      to: "my_prefix_"

您的最终事件将是

{
  "my_prefix_app": { "method": "a"},
  "my_prefix_cost": 100
}

表 3. 移动字段选项

名称 必需 默认值 描述

from

要提取的字段。此字段和任何嵌套字段将移动到 to,除非它们被过滤掉。如果为空,则表示事件根。

fields

要从 from 中提取并移动到 to 的字段。空列表表示所有字段。

ignore_missing

false

提取字段时忽略“未找到”错误。

exclude

要排除且不移动的字段列表。

to

这些字段从 from 提取,目标字段的前缀 to 将基于字段根。

processors:
  - move_fields:
      from: "app"
      fields: [ "method", "elapsed_time" ]
      to: "rpc."