elasticsearch grok模式解析logstash中的日志,elasticsearch,logstash,kibana,grok,elasticsearch,Logstash,Kibana,Grok" /> elasticsearch grok模式解析logstash中的日志,elasticsearch,logstash,kibana,grok,elasticsearch,Logstash,Kibana,Grok" />

elasticsearch grok模式解析logstash中的日志

elasticsearch grok模式解析logstash中的日志,elasticsearch,logstash,kibana,grok,elasticsearch,Logstash,Kibana,Grok,我正试图解析来自grok的各种日志,但这太难了,所以我请求您的帮助 我想分析日志中的url和映射信息,但由于其他日志的原因,它无法正常工作 我尝试过这种方法,但我认为它没有被正确解析 "\[%{TIMESTAMP_ISO8601:logtime}\]\[%{DATA:thead_id}\]\[%{DATA:level}\]\[%{DATA:method}\]%{SPACE}%{WORD:http}/%{WORD:https}%{SPACE}%{WORD:request}%{SPACE}

我正试图解析来自grok的各种日志,但这太难了,所以我请求您的帮助

我想分析日志中的url和映射信息,但由于其他日志的原因,它无法正常工作

我尝试过这种方法,但我认为它没有被正确解析

"\[%{TIMESTAMP_ISO8601:logtime}\]\[%{DATA:thead_id}\]\[%{DATA:level}\]\[%{DATA:method}\]%{SPACE}%{WORD:http}/%{WORD:https}%{SPACE}%{WORD:request}%{SPACE}:%{SPACE}%{WORD:aop}.RequestInfoModel\(url\=%{WORD:url}%{GREEDYDATA:param}"
请帮忙

日志示例:

[21-03-17 08:23:57][scheduled-task-1][DEBUG][c.f.a.b.CleanExpiredAccessInfo.cleanExpiredAccessInfo()] [batch] Clear expired accessInfoStore : store_size=0 (CleanExpiredAccessInfo.java:23)

[21-03-16 00:11:49][http-nio-0.0.0.0-8080-exec-10][INFO ][c.f.a.c.a.GuardianAOP.onAroundHandler()] HTTP/HTTPS Request : GuardianAOP.RequestInfoModel(url=/api/v3/me/extra/key, mapping=GET, parameter=AccessToken(userKey=test@mail.com, clientKey=da3ac9db59dfa32002e7fae6849d06, userType=User, accessibleClient={1daec78593214e6b53ce9803ded5916=Manager, da3ac9db59dfa32002e7fae6849d06=User})) (GuardianAOP.java:57)

[21-03-11 16:54:11][http-nio-18080-exec-8][ERROR][c.f.c.biz.v3.UserBiz.getValidMemberInfoVo()] BizException : [rt_code:9999] not found user (UserBiz.java:228)
对于上述日志

\[%{TIMESTAMP_ISO8601:logtime}\]\[%{DATA:thread_id}\]\[%{WORD:level}( )\]\[%{DATA:method}\]%{SPACE}%{WORD:HTTP}/%{WORD:HTTPS}%{SPACE}%{WORD:Request}%{SPACE}:%{SPACE}%{WORD:aop}.RequestInfoModel\(%{GREEDYDATA:api_info}\)%{SPACE}\(%{DATA:file_name}:%{NUMBER:line_number}\)
这很好用。如果你想把api_信息分成更多的部分,这取决于你自己,也取决于你的要求

请使用以进行更多调试

现在,您提供的其他两个日志示例是不同的。 要么您必须编写一个非常通用的模式,要么您可以编写多个模式并与之匹配

看看关于这个问题的公认答案。它解释得很清楚

对于上述日志

\[%{TIMESTAMP_ISO8601:logtime}\]\[%{DATA:thread_id}\]\[%{WORD:level}( )\]\[%{DATA:method}\]%{SPACE}%{WORD:HTTP}/%{WORD:HTTPS}%{SPACE}%{WORD:Request}%{SPACE}:%{SPACE}%{WORD:aop}.RequestInfoModel\(%{GREEDYDATA:api_info}\)%{SPACE}\(%{DATA:file_name}:%{NUMBER:line_number}\)
这很好用。如果你想把api_信息分成更多的部分,这取决于你自己,也取决于你的要求

请使用以进行更多调试

现在,您提供的其他两个日志示例是不同的。 要么您必须编写一个非常通用的模式,要么您可以编写多个模式并与之匹配


看看关于这个问题的公认答案。它非常简洁地解释了这一点。

使用JSON格式的数据是最好的。。!好的,我会试试的,谢谢使用JSON格式的数据是最好的哦。。!好的,我试试。谢谢