提取数组

编辑

此功能处于技术预览阶段,可能会在将来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览中的功能不受官方 GA 功能的支持 SLA 的约束。

extract_array 处理器使用从数组字段读取的值填充字段。以下示例将使用 my_array 字段的第一个元素填充 source.ip,使用第二个元素填充 destination.ip,并使用第三个元素填充 network.transport

processors:
  - extract_array:
      field: my_array
      mappings:
        source.ip: 0
        destination.ip: 1
        network.transport: 2

支持以下设置

field
要提取其元素的数组字段。
mappings
将每个字段名称映射到数组索引。使用 0 表示数组中的第一个元素。多个字段可以映射到同一个数组元素。
ignore_missing
(可选) 是否忽略数组字段缺失的事件。默认值为 false,如果指定字段不存在,则处理事件将失败。将其设置为 true 以忽略此条件。
overwrite_keys
如果目标字段已存在,则是否覆盖映射中指定的字段。默认值为 false,如果目标字段已存在,则处理将失败。
fail_on_error
(可选) 如果设置为 true 并且发生错误,则会撤消对事件的更改,并返回原始事件。如果设置为 false,则即使发生错误,处理也会继续。默认值为 true
omit_empty
(可选) 是否从数组中提取空值。如果设置为 true,则目标字段不会设置为空值,而是保持未设置状态。空字符串 ("")、空数组 ([]) 或空对象 ({}) 被视为空值。默认值为 false