grok match:仅使用模式或匹配解析日志文件的时间
我想从日志文件中解析下面提到的行。grok match:仅使用模式或匹配解析日志文件的时间
03:34:19491 INFO [:SM-二次-17]:DBBACKUP:106 - 中所定义的值的max_allowed_packet [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位数字)。
Grok filter config应该像这样解析提到的日志。
...
filter {
grok {
match => {"message" => "%{TIME:Time},%{NUMBER:ms} %{WORD:LogType} %{GREEDYDATA:Message}"}
remove_field => [ "ms" ]
}
}
...
这是工作,我还发现一个更多的解决方案:%{TIME:time}%{LOGLEVEL:loglevel}%{GREEDYDATA:message} – vijay
这很好。就我的知识而言,让我知道毫秒是否在时间字段中被捕获? –
@HatimStovewala,TIME使用HOUR,MINUTE和SECOND定义,SECOND定义为应包含毫秒。 –
向我们展示一些努力。 –