前言
今天看到有人问logstash往es里面塞日志数据时,配置文件应该怎么写,并贴了一段日志记录和想保留的字段,这里简单介绍下配置文件里grok里自定义正则相关。
正文
首先,grok本身就以为预定义了很多正则表达式提供使用,附上链接:
https://github.com/logstash-plugins/logstash-patterns-core/blob/master/patterns/grok-patterns
确实需要自定义的可以按照
(?<>()) 的格式自己写正则,举例:
匹配时间 04-19-22,如下:
(?<time>(?:%{HOUR}-%{MINUTE}-%{SECOND}))
也可以
(?<time>(?:2[0123]|[01]?[0-9])-(?:[0-5][0-9])-(?:(?:[0-5]?[0-9]|60)(?:[:.,][0-9]+)?))
这里time是正则匹配到值的名字。
完整示例如下(中括号圆括号等特殊符号需要转义):
input {
file {
path => ["/opt/test/log.log"