Drop log-Meldungen mit einer bestimmten Zeichenfolge

Also ich habe log-Nachrichten 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

Möchte ich nun löschen Sie alle Protokolle, die nicht einen bestimmten string enthalten "xyz" und alle halten den rest. Ich will auch index timestamp.

grokdebug nicht viel helfen.

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 grok, so Muster oben ist vielleicht nicht Sinn macht. Bitte helfen Sie.

Sollten Sie Fragen zwei Frage, statt nur einer.

InformationsquelleAutor Purak | 2016-06-28

Schreibe einen Kommentar