Logstash - Dissect 的映射是否支持多重匹配?

Logstash - Does Dissect’s mapping support multiple match?

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

"message" => "pattern1"

或者

"message" => "pattern2"

但是下面的配置不起作用,

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

dissect 支持这些类型的匹配吗?

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

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

根据您的日志消息如何,您可以使用条件组合来过滤您的消息并将每条消息发送到匹配的 dissect,或者将 grokdissect 组合到解析邮件的公共部分。

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