用于星号的 logstash 多行过滤器

logstash multiline filter for asterisk

# Logstash 配置问题

我的实际日志文件如下所示:

INFO - 2015-06-22 06:55:11 - \n**********************************************************************************\n********* XXXXXXXXXXXXXXXXXXXXX 2015-06-22 06:55:11\n********** Time zone is Pacific Standard Time or America/Los_Angeles\n**********************************************************************************\n\n\nINFO - 2015-06-22 06:55:32 - Finished loading connector modules

在 logstash 上我应用了多行过滤器

 multiline {
        pattern => "%{LOGLEVEL}"
        what => "next"
        negate => true
        }

我期望输出

1.

INFO - 2015-06-22 06:55:11 - \n**********************************************************************************\n********* XXXXXXXXXXXXXXXXXXXXX 2015-06-22 06:55:11\n********** Time zone is Pacific Standard Time or America/Los_Angeles\n**********************************************************************************

2.

INFO - 2015-06-22 06:55:32 - Finished loading connector modules

但我得到的结果是

  1. INFO - 2015-06-22 06:55:11 -

2.

\n**********************************************************************************\n********* XXXXXXXXXXXXXXXXXXXXX 2015-06-22 06:55:11\n********** Time zone is Pacific Standard Time or America/Los_Angeles

3.

\n**********************************************************************************\n\n\nINFO - 2015-06-22 06:55:32 - Finished loading connector modules

谁能告诉我多行模式哪里出了问题?

您的配置显示,"unless the line contains LOGLEVEL, keep it with the next line"。

你需要 "previous","starts with LOGLEVEL" 不会有什么坏处。