且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

五分钟带你玩转Elasticsearch(十七)企业实战——logstash拆分message

更新时间:2022-01-23 11:21:19


楼主这有一个需求:搜索日志跟分为:接口名,入参,请求类型等字段返回

这里使用了grok

/logstash/bin下的配置文件

DATA:为文字类型 不包含_,:等特殊符号

GREEDYDATA:为文字类型 可以包含_,:等符号

注意:如果时间类型 如2021-01-19 17:28:41匹配不到 ,需要更改为GREEDYDATA

        grok {
                    match => {"message" => "\|%{DATA:userName}\|%{GREEDYDATA:operationName}\|%{DATA:timeFormat}\|%{DATA:ip}\|%{DATA:systemType}\|%{GREEDYDATA:logType}\|%{GREEDYDATA:method}\|%{GREEDYDATA:input}"}
                }

五分钟带你玩转Elasticsearch(十七)企业实战——logstash拆分message

springboot输出的message

|test|日志-日志|2021-01-19 17:31:06|192.168.xx.xx|信息平台|接口日志|/system/LoginLog/selectLog|{"beginTime":"2021-01-19 17:28:41","endTime":"2021-01-19 17:28:43"}

测试是否匹配

同时可以测试grok与输出是否能对应

五分钟带你玩转Elasticsearch(十七)企业实战——logstash拆分message

如果不匹配 会报错