elasticsearch - 忽略Logstash Dissect中字段周围的内容

标签 elasticsearch logstash

我是Elasticsearch和Logstash的新手。我写了下面的代码来解析类似于下面的日志数据。
记录日期:

[[[ LOGTS=2020-07-08 19:23:09, RESULT=P, DESTINATION=mb/cad/division/AB/type/ABCDEFG01, MSGTYPE=ABCDEFG01, MSGORIGIN=BCW1 ]]]
Logstash剖析代码:
mapping => {
          "message" => "[[[ LOGTS=%{LOGTS}, RESULT=%{RESULT}, DESTINATION=mb/cad/division/%{devision_id}/type/ABCDEFG01, MSGTYPE=%{MSGTYPE}, MSGORIGIN=%{MSGORIGIN} ]]]%{innerMessage}"
        }
通过上面的代码行,我得到了devision_id字段。但是如何忽略divide_id字段周围的内容,所以无论内容是什么,我只能获得divide_id。由于我无法指定每种类型的条目。
类似的样本日志日期:
[[[ LOGTS=2020-07-08 19:23:10, RESULT=P, DESTINATION=mb/cad/division/BC/type/BVCDEFG01, MSGTYPE=ABCDEFG01, MSGORIGIN=BCW3 ]]]
[[[ LOGTS=2020-07-08 19:23:11, RESULT=P, DESTINATION=mb/cad/division/CD/type/RTCDEFG01, MSGTYPE=ABCDEFG01, MSGORIGIN=BCW9 ]]]
[[[ LOGTS=2020-07-08 19:23:12, RESULT=P, DESTINATION=mb/cad/division/ZZ/type/BCCDEFG01, MSGTYPE=ABCDEFG01, MSGORIGIN=BCE2 ]]]
任何帮助都非常感谢。谢谢。

最佳答案

您可以使用一个空的跳过字段。
例如,如下所示:

DESTINATION=mb/cad/division/%{division_id}/type/%{},
您也可以使用命名的跳过字段。
DESTINATION=mb/cad/division/%{division_id}/type/%{?skipped_field},
两者都会做相同的事情,匹配字符串,但是忽略它,第二个字符串只是帮助您知道要给它命名的跳过内容。

关于elasticsearch - 忽略Logstash Dissect中字段周围的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62901008/

相关文章:

elasticsearch - not_analyzed 用于 ElasticSearch 上的嵌套类型?

具有模糊性 AUTO 的 Elasticsearch 查询无法按预期工作

elasticsearch - 在logstash文件中输出的max_value大小是多少?

elasticsearch - Elasticsearch:对_all查询有效,但对特定字段不查询

php - 如何在Elasticsearch索引中添加地理位置

logstash - 将 logstash 作为服务运行并查看标准输出

elasticsearch - 如何配置filebeat和logstash? 3个虚拟机

elasticsearch - Logstash:查询参数低于通过Elasticsearch插件的值

elasticsearch - 安装聚合插件(离线)Logstash

elasticsearch - 如何读取多面搜索查询的JSON输出?