2017-08-14 1 views
0

Ceci est mon fichier de configuration:Pourquoi le filtre "multiligne" de logstash ne fonctionnait pas correctement?

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} 
} 

et ceci est mon fichier journal: enter image description here

Et voici ma sortie: enter image description here

Il semble que le "modèle" du filtre multiligne Ce n'est pas du travail, tous les messages du journal ont été mis ensemble. Pourquoi?

Répondre

0

Remplacez true par "true". Ensuite, il devient

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

Et cela fonctionne correctement.