0

analysieren Ich möchte die unten erwähnte Zeile aus der Protokolldatei analysieren.grok Übereinstimmung: Log-Datei für die Zeit nur mit Muster oder Match

03: 34: 19.491 INFO [: SM-Secondary-17]: DBBackup: 106 - Der Wert max_allowed_packet definiert [16M] entspricht nicht den Wert von /etc/mysql/my.cnf [24M] . Der Wert wird verwendet.

Nach parst, muss der Ausgang sein:

Time : 03:34:19 
LogType : INOF 
Message : [:sm-secondary-17]: DBBackup:106 - The max_allowed_packet value defined in [16M] does not match the value from /etc/mysql/my.cnf [24M]. The value will be used. 

Ignorieren: 491 (comma und 3-stellige Zahl).

+0

Zeigen Sie uns einige Bemühungen. –

Antwort

0

Grok-Filter-Konfiguration sollte so für die Analyse der genannten Protokoll sein.

... 
filter { 
    grok { 
     match => {"message" => "%{TIME:Time},%{NUMBER:ms} %{WORD:LogType} %{GREEDYDATA:Message}"} 
     remove_field => [ "ms" ] 
    } 
} 
... 
+0

Das funktioniert und ich fand eine weitere Lösung:% {TIME: Zeit}% {LOGLEVEL: Loglevel}% {GREEDYDATA: Nachricht} – vijay

+0

Das ist gut. Nur für mein Wissen, lass mich wissen, ob die Millisekunden im Zeitfeld erfasst werden? –

+1

@HatimStovewala, TIME wird mit HOUR, MINUTE und SECOND definiert, und SECOND ist so definiert, dass es Millisekunden enthalten soll. –