将自定义数据映射到 ECS

编辑

一个通用的模式有助于您关联和使用来自各种来源的数据。

大多数 Elastic 模块和解决方案(7.0 及更高版本)的字段都已映射到 Elastic Common Schema。您可能希望将其他实现的数据映射到 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,则使用 parse_timestampformat_actionUNIX_MStimestamp_format,而不管提供的任何值。这有助于防止下游转换问题。

    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. 创建管道页面上,您可以向管道添加其他摄取处理器。

    完成后,单击 创建管道