移动字段

编辑

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."