在 Mapping 里面,将 dynamic 参数设置成 strict 可以拒绝索引包含未知字段的文档。 此条 Tips 由 medcl 贡献。

关于logstash中过滤器的问题,如何分别过滤java的info与error级别日志

Logstash | 作者 hejidi | 发布于2019年05月30日 | 阅读数:4327

收集到的java的info、error级别的日志格式完全不一样。
例如info  2019-05-30 10:57:35.771  [restartedMain] INFO  com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
      error  2019-05-24 08:48:38.462  [Thread-10] ERROR o.a.e.i.a.AcquireAsyncJobsDueRunnable - exception during async job acquisition: Could not open JDBC Connection for transaction; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 44368117ms.
org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 44368117ms.
   我之前使用的dissect分段截取日志不适用于error级别的日志。拆分出来以后字段错乱。有没有合适的方法截取。
已邀请:

bellengao - 博客: https://www.jianshu.com/u/e0088e3e2127

赞同来自:

前缀是一样的,都是"时间戳 [类] 日志级别", 可以使用grok filter进行解析, 同时配置multiline把异常日志合并到上一行作为一整条输出

hejidi - 此人很懒。。。

赞同来自:

大佬还有一个问题问你,我在grokdebug里测试正常的正则语句,实际跑出来不是测试中的结果
1.PNG

测试
2.PNG

我的配置文件
3.PNG

运行结果
 

要回复问题请先登录注册