Future_By_Now 于 2023-03-01 17:41:40 发布

问题:在使用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转义的问题,最好加上单引号