移动字段编辑

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
}

表 2. 移动字段选项

名称 必需 默认 描述

from

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

fields

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

ignore_missing

false

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

exclude

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

to

from 中提取的这些字段的目的地字段前缀 to 将基于字段根目录。

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