Meine Protokolldatei beginnt wie folgt:Logstash Basic Multiline Filter funktioniert nicht?
Node Name: StackOverflow
Node IP: 127.0.0.1
Logs: the name of my log
Logs Date: From 2016-06-12 To 2016-06-14
...
...
Ich versuche, alle diese Zeilen, indem Sie diese in meinem conf in einem Filter zu verbinden:
input {
file {
path => '[...]'
start_position => beginning
ignore_older => 0
codec => multiline {
pattern => "Log|Node"
negate => "false"
what => "previous"
}
}
}
output {
stdout { codec => rubydebug }
}
Dabei habe ich einfach das bekommen Nachricht "{: timestamp =>" 2016-06-29T12: 51: 28.876000-0700 ",: message =>" Hauptleitung der Pipeline gestartet "}" und nichts wird gedruckt. Wenn ich das Muster ändere, um nur "Log" oder "Node" zu sein, bekomme ich einige Ergebnisse, aber offensichtlich nicht genau das, was ich will. Das scheint sehr einfach zu sein, aber ich stecke fest. Alles was ich vermisse?
Ich bin immer noch nicht sicher, ob ich das Problem verstehe, ich möchte alle diese 4 Zeilen zusammenfügen. Ich denke nicht, dass das Hinzufügen von^zu diesem Thema beigetragen hat. Warum funktioniert das oder Statement nicht? – Stealthrider
Editiert für ein wenig mehr Klarheit, habe ich angegeben, warum Ihr Muster nicht am Anfang meiner Antwort funktioniert –
Auch es tut nicht weh, die vorgeschlagene Lösung zu versuchen, bevor Sie annehmen, es wird nicht funktionieren;) –