Drop-Protokollnachrichten mit einer bestimmten Zeichenfolge
So habe ich Logmeldungen im Format:
[INFO] <blah.blah> 2016-06-27 21:41:38,263 some text
[INFO] <blah.blah> 2016-06-28 18:41:38,262 some other text
Now Ich möchte alle Protokolle löschen, die keine bestimmte Zeichenfolge "xyz" enthalten, und den Rest behalten. Ich möchte auch den Zeitstempel indizieren.
grokdebug hilft nicht viel.
Dies ist mein Versuch:
input {
file {
path => "/Users/username/Desktop/validateLogconf/logs/*"
start_position => "beginning"
}
}
filter {
grok {
match => {
"message" => '%{SYSLOG5424SD:loglevel} <%{JAVACLASS:job}> %{GREEDYDATA:content}'
}
}
date {
match => [ "Date", "YYYY-mm-dd HH:mm:ss" ]
locale => en
}
}
output {
stdout {
codec => plain {
charset => "ISO-8859-1"
}
}
elasticsearch {
hosts => "http://localhost:9201"
index => "hello"
}
}
Ich bin neu in Grok, sodass die obigen Muster möglicherweise keinen Sinn ergeben. Bitte helfen Sie.