Elasticsearch分析器,用于解析应用程序日志

时间:2020-07-16 19:46:19

标签: elasticsearch elasticsearch-5 elasticsearch-aggregation

  1. 我正在使用文件拍子,并且能够成功地将日志推送到特定索引中的elasticsearch。

  2. 我有一个用例,我需要在日志中查找重复项,我尝试使用聚合,并且能够在日志中找到与以下项完全匹配的重复项,

    2019-07-23 11:38:17,401警告[org.amazon.events](默认任务3)type = LOGIN_ERROR,realmId = amazon,clientId = angular-cors,userId = 209fd7db-6964-41ff-bffd -3975ccbc03bb,ipAddress = 44.44.44.44,error = invalid_user_credentials,auth_method = openid-connect,grant_type = password,client_auth_method = client-secret,username=testuser@amazon.com

    2019-07-23 11:38:17,401警告[org.amazon.events](默认任务3)type = LOGIN_ERROR,realmId = amazon,clientId = angular-cors,userId = 209fd7db-6964-41ff-bffd -3975ccbc03bb,ipAddress = 44.44.44.44,error = invalid_user_credentials,auth_method = openid-connect,grant_type = password,client_auth_method = client-secret,username=testuser@amazon.com

  3. 但是说时间和任务ID像下面这样改变,但是我还是想像上面一样将其视为重复日志

    2019-07-23 11:38:18,401警告[org.amazon.events](默认任务4)type = LOGIN_ERROR,realmId = amazon,clientId = angular-cors,userId = 209fd7db-6964-41ff-bffd -3975ccbc03bb,ipAddress = 44.44.44.44,error = invalid_user_credentials,auth_method = openid-connect,grant_type = password,client_auth_method = client-secret,username=testuser@amazon.com

我有一种方法,

解决方案
i)如果我将标准分析器与停用词配合使用,则可以将其作为令牌分开
ii)跳过令牌中的和仅获取令牌
iii)然后使用“多次匹配/最相似”查询来检查是否已存在任何日志。

到目前为止,该功能正在运行。 但是是否有更好的方法使用分析器从日志中仅获取“关键字”,这样我就不会得到大量关键字。

感谢任何帮助。

谢谢,
哈里

0 个答案:

没有答案