嗨,我对logstash和grok过滤很陌生,我有一个这样的样例日志:
1/11/2017 12:00:17 AM :引发的错误是:无错误
发送的请求是: webMethod:GetOSSUpdatedOrderHeader|appCode:OSS|regionCode:EMEA|orderKeyList:|lastModifedDateTime:1/10/2017 11:59:13下午1:13
当我希望能够在一个字段中捕获包括":“在内的整行时,我希望筛选出行分隔符,这是一条包含** (最后一行)的行。例如,在上面的日志中,必须在我的grok模式的一个字段中捕获webMethod:GetOSSUpdatedOrderHeader。有办法做到这一点吗?蒂娅。请参阅所附的样本日志消息图片
发布于 2017-01-23 15:53:53
以下是一些小窍门:
这对于粘贴在其中的样例日志行应该有效:
%{NOTSPACE:webMethod}\|%{NOTSPACE:appCode}\|%{NOTSPACE:regionCode}\|%{NOTSPACE:orderKeyList}\|%{NOTSPACE:lastModifedDateTime}但是,您所要求的可能并不完全是您想要的,因为您只是想要结果中的字段内容,而不是字段的名称。这应该会给你带来更明智的结果:
webMethod:%{NOTSPACE:webMethod}\|appCode:%{NOTSPACE:appCode}\|regionCode:%{NOTSPACE:regionCode}\|orderKeyList:(?:%{NOTSPACE:orderKeyList}|)\|lastModifedDateTime:%{NOTSPACE:lastModifedDateTime}然后,您将希望使用lastModifedDateTime筛选器处理日期字段,以获得logstash可以保存到的格式的日期标记。
https://stackoverflow.com/questions/41804330
复制相似问题