即使是不成熟的尝试,也胜于胎死腹中的策略。

filebeat配置多行合并不起作用

Beats | 作者 PhoebM | 发布于2018年04月29日 | 阅读数:7219

filebeat的配置文件如下:
- type: log
paths:
/usr/local/tomcat-basicInfo-8081/logs/*.log
tags: ["basic_log"]

multiline.pattern: '^at'
multiline.negate: false
multiline.match: after
kibana界面展示:没有合并

TIM截图20180429092912.png

 
已邀请:

shitangjiejie

赞同来自:

multiline.negate: true 改成true试试
 

imagechange

赞同来自:

你的配置的意思是 at开头的数据为一条数。所以每个at开头的都会是一条数据。
正确的方式是^加你日志格式开始的规律,如你每一条日志是以日期开头,
如:2018-08-30 18:53:03.751
那就是'^[0-9]{4}-[0-9]{2}-[0-9]{2}',
如果是:[2018-08-30 18:53:03.751]
那就是'^\['    \是用于转义的,表示[是一个字符。

doom

赞同来自:

JAVA的错误日期可以这样写:
multiline.pattern: '^\[[0-9]{4}-[0-9]{2}-[0-9]{2}'
multiline.negate: true
multiline.match: after
日志的格式是这样的:
[2019-09-30T19:45:18,279][WARN ][r.suppressed             ] [n0] path: /bank/_search, params: {pretty=, index=bank}
com.fasterxml.jackson.core.JsonParseException: Unexpected character ('"' (code 34)): was expecting comma to separate Object entries
 at [Source: org.elasticsearch.transport.netty4.ByteBufStreamInput@5fa748f8; line: 20, column: 8]
        at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1702) ~[jackson-core-2.8.11.jar:2.8.11]
multiline.pattern: '^at'的意思是以at 开头的,你的那个前面的空格,所以匹配不上;结合上面的示例,匹配自己的日志格式,灵活处理

要回复问题请先登录注册