почему многострочный фильтр logstash работал неправильно?

Это мой файл конфигурации:

input{
 redis{
      data_type => "list"
      key => "aas-redis-logback"
      host => "my redis host"
      port => "6379"
      password => "my redis password"
    #  threads => 5
   }
 stdin{}    
}

filter{ 
    multiline{
          pattern => "^\[AAS\]" 
          negate => true  
          what => "previous"  
     }

}

output{
  elasticsearch{
      hosts  => "168.2.8.88:9200"
      index  => "0814-multi-test"
  }
  stdout{codec => rubydebug}
}

и это мой файл журнала: введите здесь описание изображения

И это мой вывод: введите здесь описание изображения

Похоже, что «шаблон» многострочного фильтра не работает, все сообщения журнала были собраны вместе. Почему?


person liyuhui    schedule 14.08.2017    source источник


Ответы (1)


Измените истинное на «истинное». Тогда это становится

multiline{
      pattern => "^\[AAS\]" 
      negate => "true" 
      what => "previous"  
 }

И работает корректно.

person liyuhui    schedule 14.08.2017