0

Je veux analyser la ligne ci-dessous du fichier journal.concordance de grok: analyser le fichier journal pour l'heure seulement en utilisant pattern ou match

03: 34: 19491 INFO [: SM-17-secondaire]: DBBackup: 106 - La valeur de max_allowed_packet défini dans [16M] ne correspond pas à la valeur de [24M] /etc/mysql/my.cnf . La valeur sera utilisée.

Après analyse syntaxique, la sortie doit être:

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. 

Ignorer:, 491 (virgule et 3 chiffres).

+0

Montrez-nous quelques efforts. –

Répondre

0

La configuration du filtre Grok doit être similaire à celle utilisée pour analyser le journal mentionné.

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

Cela fonctionne et j'ai aussi trouvé une autre solution:% {TIME: time}% {LOGLEVEL: loglevel}% {GREEDYDATA: message} – vijay

+0

C'est bon. Juste à ma connaissance, laissez-moi savoir si les millisecondes sont capturées dans le champ Time? –

+1

@HatimStovewala, TIME est défini en utilisant HOUR, MINUTE et SECOND, et SECOND est défini de telle sorte qu'il doit inclure des millisecondes. –