Grok正则

13 篇文章 0 订阅
12 篇文章 0 订阅

Grok正则简介

  • 日志源提供的日志格式可能并不是我们想要插入存储介质里的格式,Logstash里提供了一系列的filter来让我们转换日志。Grok就是这些filters里最重要的一个插件,(==简单来说就是过滤日志数据==)。而且后期你还会使用Grok正则里定义的field来进行相关指标的分析。

语法解释:

  • %{TIMESTAMP_ISO8601:time},代表时间戳
  • %{LOGLEVEL},代表日志级别
  • %{DATA},代表任意数据
  • (?([\S+]*)),自定义正则
  • \s*或者\s+,代表多个空格
  • \S+或者\S*,代表多个字符
  • 大括号里面:xxx,相当于起别名

Grok正则调试地址:https://grokdebug.herokuapp.com/

demo

日志数据:

2018-03-12 10:18:09,797 DEBUG [http-bio-8083-exec-10] DEBUG c.b.e.c.repository.PmtcrMapper.selectByPrimaryKey

Grok正则:

\s*%{TIMESTAMP_ISO8601:time}\s*%{LOGLEVEL:level}\s*\[%{DATA:current_thread}\]\s*%{LOGLEVEL:level1}\s*(?<class_info>([\S+]*))

结果:

{
  "time": [
    [
      "2018-03-12 10:18:09,797"
    ]
  ],
  "YEAR": [
    [
      "2018"
    ]
  ],
  "MONTHNUM": [
    [
      "03"
    ]
  ],
  "MONTHDAY": [
    [
      "12"
    ]
  ],
  "HOUR": [
    [
      "10",
      null
    ]
  ],
  "MINUTE": [
    [
      "18",
      null
    ]
  ],
  "SECOND": [
    [
      "09,797"
    ]
  ],
  "ISO8601_TIMEZONE": [
    [
      null
    ]
  ],
  "level": [
    [
      "DEBUG"
    ]
  ],
  "current_thread": [
    [
      "http-bio-8083-exec-10"
    ]
  ],
  "level1": [
    [
      "DEBUG"
    ]
  ],
  "class_info": [
    [
      "c.b.e.c.repository.PmtcrMapper.selectByPrimaryKey"
    ]
  ]
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值