将自定义数据映射到 ECS

编辑

通用架构有助于您关联和使用来自各种来源的数据。

大多数 Elastic 模块和解决方案(7.0 及更高版本)的字段都映射到 Elastic 通用架构。您可能希望将来自其他实现的数据映射到 ECS,以帮助您关联所有产品和解决方案中的数据。

开始之前

编辑

在开始转换之前,请确保您了解以下基本知识。

核心级别和扩展级别
编辑

请确保您了解核心字段和扩展字段之间的区别,如指南和最佳实践中所述。

核心字段和扩展字段在ECS 字段参考中进行了记录,或者,要查看所有字段的单页表示形式,请参阅生成的字段 CSV 文件

映射现有实现的方法
编辑

以下是将现有实现转换为 ECS 的推荐方法。

  1. 查看原始事件中的每个字段,并将其映射到相关的 ECS 字段。

    • 首先将您的字段映射到相关的 ECS 核心字段。
    • 如果不存在相关的 ECS 核心字段,则将您的字段映射到相关的 ECS 扩展字段。
    • 如果不存在相关的 ECS 扩展字段,请考虑保留原始详细信息的字段,或者可能使用 ECS 命名指南对其进行重命名,并尝试将原始事件字段中的一个或多个映射到它。
  2. 查看每个 ECS 核心字段,并尝试填充它。

    • 再次查看原始事件数据
    • 考虑根据其他元数据(例如静态信息)填充字段(例如,即使您的身份验证事件未提及“身份验证”一词,也添加event.category:authentication
    • 考虑捕获其他环境元数据,例如有关主机、容器或云实例的信息。
  3. 查看您已使用的任何字段集中其他扩展字段,并尝试填充它。
  4. ecs.version设置为要符合的架构版本。这将使您能够在将来平滑地升级您的源、管道和内容(如仪表板)。
使用电子表格规划迁移
编辑

使用电子表格规划从预先存在的源字段到 ECS 的迁移是一种常见做法。这是在同事之间系统地处理每个字段的好方法。

为了帮助您规划迁移,Elastic 提供了一个电子表格模板。您可以使用此电子表格的 CSV 版本自动创建 Elasticsearch 摄取管道。无论您的摄取方法如何,这都是将自定义数据映射到 ECS 的最简单、最一致的方法。

使用 Elasticsearch 摄取管道将自定义数据映射到 ECS

编辑

使用 Kibana 的从 CSV 创建管道功能从将自定义数据映射到 ECS 字段的 CSV 文件创建 Elasticsearch 摄取管道。

在开始之前,请确保您满足在 Kibana 中创建摄取管道的先决条件

  1. 下载或复制电子表格模板
  2. 使用电子表格将您的自定义数据映射到 ECS 字段。虽然您可以包含其他列,但 Kibana 仅处理以下支持的列。其他列将被忽略。

    支持的列
    source_field
    (必填)来自自定义数据的 JSON 字段键。支持点表示法。具有空source_field的行将被跳过。
    destination_field

    (必填)ECS 字段名称。支持点表示法。要执行不重命名字段的format_action,请将destination_field保留为空。

    如果destination field@timestamp,则无论提供什么值,都会使用format_actionparse_timestamptimestamp_formatUNIX_MS。这有助于防止下游转换问题。

    format_action

    (可选)要应用于字段值的转换。

    有效值
    (空)
    不进行转换。
    parse_timestamp
    格式化日期或时间值。要指定格式,请使用timestamp_format
    to_array
    转换为数组。
    to_boolean
    转换为布尔值。
    to_float
    转换为浮点数。
    to_integer
    转换为整数
    to_string
    转换为字符串。
    lowercase
    转换为小写。
    uppercase
    转换为大写。
    timestamp_format
    (可选)与parse_timestamp格式操作一起使用的日期和时间格式。有效值为UNIXUNIX_MSISO8601TAI64NJava 时间模式。默认为UNIX_MS
    copy_action

    (可选)对source_field采取的操作。有效值为

    有效值
    (空)
    (默认)使用默认操作。您将在 Kibana 的从 CSV 创建管道页面上稍后指定默认操作。
    copy
    复制source_field以用作destination_field。最终文档包含这两个字段。
    rename
    source_field重命名为destination_field。最终文档仅包含destination_field
  3. 保存并以 CSV 文件格式导出电子表格。

    Kibana 的从 CSV 创建管道功能仅支持最大 100 MB 的 CSV 文件。

  4. 在 Kibana 中,打开主菜单并点击堆栈管理 > 摄取管道 > 创建管道 > 从 CSV 创建新管道

    Create Pipeline from CSV in Kibana
  5. 从 CSV 创建管道页面上,上传您的 CSV 文件。
  6. 默认操作下,选择复制字段名称重命名字段选项。

    对于复制字段名称选项,Kibana 默认情况下会复制source_field以用作destination_field。最终文档包含这两个字段。

    对于重命名字段选项,默认情况下会将source_field重命名为destination_field。最终文档仅包含destination_field

    您可以使用 CSV 的copy_action列覆盖此默认值。

  7. 点击处理 CSV

    Kibana 显示从您的 CSV 文件生成的摄取管道的 JSON 预览。

    Preview pipeline from CSV in Kibana
  8. 要创建管道,请点击继续创建管道
  9. 创建管道页面上,您可以向管道添加其他摄取处理器。

    完成后,点击创建管道