elasticsearch - Logstash - Dissect 的映射是否支持多重匹配?
问题描述
由于我的日志有多个模式,我需要使用多个剖析模式,以便如果一个模式无法识别其他模式可以捕获的日志。以下伪配置工作,
"message" => "pattern1"
或者
"message" => "pattern2"
但是以下配置不起作用,
"message" => ["pattern1", "pattern2"]
dissect 支持这种匹配吗?
解决方案
不,dissect
每个字段只支持一个映射。
如果您的日志有多种模式,您将需要使用grok
,它支持多种匹配模式。
根据您的日志消息的方式,您可以使用条件组合来过滤您的消息并将每条消息发送到匹配的dissect
,或组合grok
并dissect
解析消息的常见部分。
您还可以按_dissectfailure
标签过滤,如果您的第二个模式与 不匹配dissect
,它将收到此标签,然后您可以应用匹配dissect
推荐阅读
- java - 如何使 Spring Projections 与 @OneToOne 关系一起工作?
- react-native - 使用 React Navigation 防止在选项卡更改时重新渲染
- r - 在 R 中绘制 geom_line 和 geom_ribbon 时如何添加不连续性?
- regex - 修改 Go 正则表达式,使其不拾取最后一个字符
- amazon-web-services - 使用 aws cognito 链接/连接 Google oidc 外部提供商
- fetch - 来自 DOM 的代理 webpack-dev-server
- spring - 如何在 Spring 中为非安全端点传递 Authorizatoin 标头
- python - Catplot 与 Seaborn,并排
- linux - 如何使用awk从目录中的多个文件中查找文件内容中包含字符串“abcd”的文件名
- c# - 将单字符字符串转换为 char