0

Ich habe Datum in meinen Protokollen wie:Grok Muster für Datum

08 Jul Jahr 2016 08: 58: 07.258 ...

Derzeit verwende ich:

%{MONTHDAY}[T ]%{MONTH}[T ]%{YEAR}[T ]%{HOUR}:?%{MINUTE}(?::?%{SECOND})[T ]... 

um es zu analysieren.

Wie kann ich dies in Datumstyp konvertieren. Ich weiß, wie man "date" benutzt, wenn wir ein existierendes Grok Pattern haben, aber wie geht das in meinem Fall?

Antwort

1

Sie können ein benutzerdefiniertes Muster haben:

(?<log_timestamp>%{MONTHDAY}[T ]%{MONTH}[T ]%{YEAR}[T ]%{HOUR}:?%{MINUTE}(?::?%{SECOND}[T ]) 

Damit haben Sie ein Feld log_timestamp Sie zum date Filter geben kann.

Oder Sie können den ruby Filter verwenden, um alle Felder in einem zu verketten, um den date Filter zu geben.

+0

Nimmt den Datum Teil meiner Log-Nachricht in ein Feld "Date" mit GREEDYDATA und dann mit diesem "Date" -Feld in "Datum" -Filter wie 'match => [" Date "," TT MMM JJJJ HH: mm : ss, SSS "]' Arbeit? – PuRaK

+0

@PuRaK Wenn der Inhalt des Feldes "Datum" mit dem Muster "dd MMM yyyy HH: mm: ss, SSS" übereinstimmt, funktioniert es unabhängig von der Methode, mit der das Feld erstellt wurde. – baudsp