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.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage