FileBeat 中的多行模式

Multi-line pattern in FileBeat

我正在使用 Filbeat 进行日志聚合,它将日志带到 Kibana。以下是我需要定向到 Kibana 的错误消息:

    2017-04-17 15:45:47,154 [JCO.ServerThread-8] ERROR com.webservice.AxisWebServiceClient - Client error
    2017-04-17 15:45:47,154 [JCO.ServerThread-8] ERROR com.webservice.AxisWebServiceClient - The XML request is invalid. Fix the request and resend.
310,273,990
310,292,500
360,616,489
    2017-04-04 12:47:09,362 [JCO.ServerThread-3] INFO  com.app.Listener - End RFC_CALCULATE_TAXES_DOC
    2017-04-04 12:47:09,362 [JCO.ServerThread-3] DEBUG com.Time - RFC_CALCULATE_TAXES_DOC,DEC[2],Total Time,39

我只想让 2017-04-17 15:45:47,154 [JCO.ServerThread-8]ERROR 和要发送的错误下方的行到 Kibana,但我也得到了 INFO 部分

下面是filbeat.yml文件

filebeat:
  prospectors:
    -
      paths:
       - /apps/global/vertex/SIC_HOME_XEC/logs/sic.log
      input_type: log
      exclude_lines: ['^INFO']
      #include_lines: 'ERROR'
      multiline:
        pattern: '^\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2},\d{3}\s\[[A-Za-z0-9.-]*\]\s[E]RROR'
        negate: true
        match: after

请求退伍军人帮助 select 仅使用正则表达式的错误消息模式。

为了将错误消息提取为一个组,您需要按如下方式修改您的正则表达式:

^\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2},\d{3}\s\[[A-Za-z0-9.-]*\]\sERROR (\w.+)

解释:

(\w.+)

这将创建一个包含所有字符和捕获错误消息的点字符的组。