2017-05-09 2 views
0

ich mehrzeilige Codec in filebeat.yml wie unten definiert habenFilebeat mehrzeilige Codec in meinem Fall nicht funktioniert

multiline.pattern: '^%{TIMESTAMP_ISO8601} ' 
multiline.negate: true 
multiline.match: after 

Aber es scheint nicht, als mehrere Zeilen von Log zu arbeiten wie erhalten beigefügten zusammen unter

einzige Zeile log

2017-05-07 22:29:43 [0] [pool-2-thread-1] INFO c.app.task.ChannelActiveCheckTask - ---- 
Inside checkIfChannelActive execution ---- 

Die entsprechende Login Elasticsearch gespeichert, nachdem mehrzeiligen Parsen

---- Inside checkIfChannelActive execution ---- 2017-05-09 08:16:13 [0] [pool-2-thread-1] INFO 
    XYZZ - XYZ :: XYZ 2017-05-09 08:16:13 [0] [pool-2-thread-1] INFO XYZ - XYZYZZ 

Da die oben nicht funktioniert hat, habe ich versucht, auch die folgenden Multi-Muster verwenden, aber es ist nicht funktioniert

multiline.pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}' 

Unten ist mein logstash.conf

input { 
beats { 
port => 5044 
} 
} 

filter { 
mutate { 
gsub => ["message", "\n", " "] 
} 
grok { 
match => [ "message", "%{TIMESTAMP_ISO8601:timestamp} [%{NOTSPACE:uid}] [% 
{NOTSPACE:thread}] %{LOGLEVEL:loglevel} %{DATA:class}-%{GREEDYDATA:message}" ] 
overwrite => [ "message" ] 
} 
date { 
match => [ "timestamp" , "yyyy-MM-dd HH:mm:ss" ] 
target => "@timestamp" 
} 
if "_grokparsefailure" in [tags] { 
drop { } 
} 
} 

output { 
elasticsearch { 
hosts => localhost 
index => "%{type}-%{+YYYY.MM.dd}" 
} 
} 

kann jemand helfen ich repariere das?

Antwort

Verwandte Themen