在 Elastic Security 中使用 logsdb 索引模式

编辑

在 Elastic Security 中使用 logsdb 索引模式

编辑

要使用 合成 _source 功能,您必须拥有相应的订阅。请参阅 Elastic CloudElastic Stack/自管理 的订阅页面,了解可用功能及其相关订阅级别的详细信息。

本主题解释了在 Elastic Security 中使用 logsdb 索引模式的影响。

使用 logsdb 索引模式,原始的 _source 字段不会存储在索引中,但可以使用 合成 _source 进行重建。

_source 被重建时,可以进行修改。因此,用户的期望与字段的格式化方式之间可能存在不匹配。

继续阅读以了解这如何影响特定的 Elastic Security 组件。

警报

编辑

当生成警报时,_source 事件会被复制到警报中以保留原始数据。当应用 logsdb 索引模式时,存储在警报中的 _source 事件将使用合成 _source 进行重建。

如果您正在切换以使用 logsdb 索引模式,则在某些情况下,存储在警报中的 _source 字段可能看起来不同

以下规则类型生成的警报可能会受到影响

  • 自定义查询
  • 事件关联(仅限非序列)
  • 非聚合规则类型(例如,使用非聚合查询的 ES|QL 规则)

由阈值、机器学习和事件关联序列规则生成的警报不受影响,因为它们不包含原始源的副本。

规则操作

编辑

虽然我们不建议将 _source 用于操作,但在操作依赖于 _source 的情况下,同样的限制和更改也适用。

如果您通过启用 操作 将警报通知发送到外部系统,而这些外部系统具有基于原始源格式化的字段的工作流或自动化,则它们可能会受到影响。特别是,当使用的字段是对象数组时,可能会发生这种情况。

我们建议在切换到 logsdb 索引模式之前,检查并调整使用 _source 的规则操作。

运行时字段

编辑

引用 _source 的运行时字段可能会受到影响。某些运行时字段可能无法工作,需要进行调整。例如,如果一个事件以点表示法的形式索引了 agent.name 的值,则它将以嵌套形式返回,并且可能无法工作。

以下是访问 _source 的示例,该示例在使用 logsdb 索引模式启用的情况下有效

"source": """  emit(params._source.agent.name + "_____" + doc['agent.name'].value ); """
"source": """  emit(params._source['agent']['name'] + "_____" + doc['agent.name'].value );  """
"source": """  emit(field('agent.name').get(null) + "_____" + doc['agent.name'].value ); """
"source": """  emit($('agent.name', null) + "_____" + doc['agent.name'].value ); """

以下示例在使用合成源时无效(已启用 logsdb 索引模式)

"source": """  emit(params._source['agent.name'] + "_____" + doc['agent.name'].value );  """