问题:在使用filebeat+elabscience或者filebeat+elk 又或者其他桥接器的时候,因为filbeat默认使用单行显示的原因,但日志出现堆栈错误或其他多行日志时会出现如下错误
处理办法:
1.固定日志格式 这里不展开说明
2.匹配日志
找到你的filebeat.yml
核心参数是上述参数,以下是参数说明:
multiline.pattern:希望匹配到的结果(正则表达式)
multiline.negate:值为 true 或 false。使用 false 代表匹配到的行合并到上一行;使用 true 代表不匹配的行合并到上一行
multiline.match:值为 after 或 before。after 代表合并到上一行的末尾;before 代表合并到下一行的开头
multiline.max_lines:合并的最大行数,默认 500
multiline.timeout:一次合并事件的超时时间,默认为 5s,防止合并消耗太多时间导致 filebeat 进程卡死
便于理解这里引用之https://blog.csdn.net/qq_34556414/article/details/112763654的一张图
注意事项:pattern这里因为yml转义的问题,最好加上单引号