首页 > 解决方案 > Logstash - Dissect 的映射是否支持多重匹配?

问题描述

由于我的日志有多个模式,我需要使用多个剖析模式,以便如果一个模式无法识别其他模式可以捕获的日志。以下伪配置工作,

"message" => "pattern1"

或者

"message" => "pattern2"

但是以下配置不起作用,

"message" => ["pattern1", "pattern2"]

dissect 支持这种匹配吗?

标签: elasticsearchlogstashlogstash-groklogstash-configurationlogstash-filter

解决方案


不,dissect每个字段只支持一个映射。

如果您的日志有多种模式,您将需要使用grok,它支持多种匹配模式。

根据您的日志消息的方式,您可以使用条件组合来过滤您的消息并将每条消息发送到匹配的dissect,或组合grokdissect解析消息的常见部分。

您还可以按_dissectfailure标签过滤,如果您的第二个模式与 不匹配dissect,它将收到此标签,然后您可以应用匹配dissect


推荐阅读