grok match:仅使用模式或匹配解析日志文件的时间

问题描述:

我想从日志文件中解析下面提到的行。grok match:仅使用模式或匹配解析日志文件的时间

03:34:19491 INFO [:SM-二次-17]:DBBACKUP:106 - 中所定义的值的max_allowed_pa​​cket [16M]不将值从/etc/mysql/my.cnf [24M]匹配。该值将被使用。

解析后,将输出必须是:

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. 

忽略:,491(逗号和3位数字)。

+0

向我们展示一些努力。 –

Grok filter config应该像这样解析提到的日志。

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

这是工作,我还发现一个更多的解决方案:%{TIME:time}%{LOGLEVEL:loglevel}%{GREEDYDATA:message} – vijay

+0

这很好。就我的知识而言,让我知道毫秒是否在时间字段中被捕获? –

+1

@HatimStovewala,TIME使用HOUR,MINUTE和SECOND定义,SECOND定义为应包含毫秒。 –