在使用 Filebeat 采集 Tomcat 日志时,因为默认采集是按照行采集的,在统计的时候会不准确,因此采用 multiline 进行处理。
根据业务和日志级别情况,若日志级别是配成 ERROR ,只需要将错误日志进行合并处理,若日志级别低于 ERROR ,根据日志分析的要求,我这边会只将 带有 ERROR 或者 WARN 的日志提取出来,就需要和 include_lines 、exclude_lines配合使用效果更佳。废话不多说,上配置。
Tomcat 日志格式,每行是以固定格式的日期开头,包括错误日志都是一样。
多行日志合并处理,multiline.pattern 是正则匹配格式;multiline.negate(取值 true 或 false)默认是false,匹配pattern的行合并到上一行;true,不匹配pattern的行合并到上一行; multiline.match(取值 after 或before)合并到上一行的末尾或开头。
当需要提取日志只包含固定词汇时,比如说是 只包含 ERROR 和 WARN 的行会被提取
# 包含过滤字符
include_lines: ['ERROR', 'WARN']
# 不包含过滤字符
exclude_lines: ['DEBUG']