logstash grok 自测实例+常用正则(grok-patterns)

一、背景


研究了grok一下整天,虽然知识还是很浅薄,但还是在这里做个总结。

二、自测示例


下一章罗列了常用的一些正则,规则详情也有;在进行记忆学习前,我先展示下我自己的自测学习示例。

日志

我这边有一个log4j的日志,部分展示如下

[2018-07-10T16:22:30,001] AbstractBeanFactory(doGetBean:248): Returning cached instance of singleton bean 'mainCtl'
[2018-07-10T16:22:30,007] MainCtl(doControl:52): current tradecode:trigger_timer,flowsn:1
[2018-07-10T16:22:30,008] FlowParser(getFlowInfo:462): debugow:C:\Users\61661\Downloads\tinyWebDemo\tinyWebDemo1\src\main\resources\flow\trigger_timer.flow
[2018-07-10T16:22:30,009] MainCtl(doControl:60): flowInfos:{
  1=id:1,name:script}
[2018-07-10T16:22:30,011] AbstractBeanFactory(doGetBean:248): Returning cached instance of singleton bean 'enumTools'
[2018-07-10T16:22:30,013] AbstractBeanFactory(doGetBean:248): Returning cached instance of singleton bean 'jsDemo'
[2018-07-10T16:22:30,013] JsDemo(init:18): js demo init
[2018-07-10T16:22:30,019] TinyLog(debug:17): [null-trigger_timer] do function trigger_timer_1
[2018-07-10T16:22:30,019] TinyLog(info:21): [null-trigger_timer] start timer......
[2018-07-10T16:22:30,020] MainCtl(doControl:103): :2ms
grok配置

grok的编写配置虽然不难,但是很容易出错,要善于学会使用grok debugger来测试。
这边给一个中文版的测试网站(英文的要翻墙):http://grok.qiexun.net/

测试结果如下图,表达式为:

\[%{TIMESTAMP_ISO8601:logdate}\] %{
    WORD:AA}\(%{
    WORD:BB}:%{
    WORD:BB}\): %{
    GREEDYDATA:C}

这里写图片描述

编写conf文件

说明:以下命令根据自己的路径进行调整

当前目录下编写conf文件

input {
    file {
         #日志所在目录
        path => ["/opt/data/test.log"]
        type => "system"
        #从文件开始的地方读
        start_position => "beginning"
        #这个是我爬过的坑 T.T ,写上下面的这段,反复重启的时候,才会从文件开始的地方读
        sincedb_path => "/dev/null"
    }
}
filter {
    grok {
      match => { "message" => "\[%{TIMESTAMP_ISO8601:logdate}\] %{WORD:AA}\(%{WORD:BB}:%{WORD:BB}\): %{GREEDYDATA:C}" }
    }
    date {
      match => [ "logdate", "MMM  d HH:mm:ss", "MMM dd HH:mm:ss" ]
    }
}
output{
     stdout{
       codec=>rubydebug{}
    }
}
logstash 解析

执行命令

/opt/elk/logstash-6.2.2/bin/logstash -f test.conf  

最后结果如下(截取了一部分):

{
          "host" => "hadoop02",
       "message" => "[2018-07-10T16:22:30,019] TinyLog(debug:17): [null-trigger_timer] do function trigger_timer_1",
      "@version" => "1",
       "logdate" => "2018-07-10T16:22:30,019",
          
  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值