zoukankan      html  css  js  c++  java
  • logstash filter plugin


    1. 基本语法
    %{NUMBER:duration} %{IP:client}  

    2. 支持的数据类型
    默认会把所有的匹配都当作字符串,比如0.043, 想要转成浮点数,可以%{NUMBER:num:float}匹配,目前只支持int和float两种。

    3. 举例说明
    有下面一段http日志:
    55.3.244.1 GET /index.html 15824 0.043

    匹配模式:
    %{IP:client} %{WORD:method} %{URIPATHPARAM:request} %{NUMBER:bytes} %{NUMBER:duration}

    在logstash中配置如下:
    input {
      file {
        path => "/var/log/http.log"
      }
    }
    filter {
      grok {
        match => { "message" => "%{IP:client} %{WORD:method} %{URIPATHPARAM:request} %{NUMBER:bytes} %{NUMBER:duration}" }
      }
    }

    这样匹配过滤后,将会额外增加下面的字段:
    client: 55.3.244.1
    method: GET
    request: /index.html
    bytes: 15824
    duration: 0.043

    4. 自定义模式
    有时候logstash没有适合的模式,就需要自定义如下,格式如下:
    (?<field_name>the pattern here)

    如匹配nginx中的访问时间:2017/07/29 12:12:04
    自定义模式:(?<DateTime>%{YEAR}[./]%{MONTHNUM}[./]%{MONTHDAY} %{TIME})
    匹配过滤后就会增加字段:DateTime: 2017/07/29 12:12:04

    5. 自定义pattern文件
    我们都知道logstash自带了许多匹配模式(/home/elk/logstash/vendor/bundle/jruby/1.9/gems/logstash-patterns-core-4.1.0/patterns/grok-patterns),
    但是我们也可以自定义自己的pattern模式
      5.1 创建目录patterns
      5.2 创建一个文件,名字随意,比如extra
      5.3 比如我们要匹配一个字段queue_id,那extra文件的内容如下
          POSTFIX_QUEUEID [0-9A-F]{10,11}
      5.4 然后我们在filter中就可以引用POSTFIX_QUEUEID模式来匹配了
          filter {
            grok {
                   patterns_dir => ["./patterns"]
                   match => { "message" => "%{SYSLOGBASE} %{POSTFIX_QUEUEID:queue_id}: %{GREEDYDATA:syslog_message}" }
                    }
          }
            
                日志:Jan  1 06:25:43 mailserver14 postfix/cleanup[21403]: BEF25A72965: message-id=<20130101142543.5828399CCAF@mailserver14.example.com>
                匹配过滤后将输出下面字段:
                timestamp: Jan 1 06:25:43
                logsource: mailserver14
                program: postfix/cleanup
                pid: 21403
                ueue_id: BEF25A72965
                syslog_message: message-id=<20130101142543.5828399CCAF@mailserver14.example.com>
       

  • 相关阅读:
    分布式任务调度 xxl-job
    【线上】 select * from xxoo where 1=1应用挂掉
    【死磕ES】七、基础检索
    【死磕ES】四、基本操作
    【死磕ES】三、基本概念
    【死磕ES】二、搭建环境
    Mac共享文件夹
    微信小程序下拉刷新,上拉加载
    微信小程序textarea输入框出现[object Object]
    微信小程序official-account的使用
  • 原文地址:https://www.cnblogs.com/zhaojonjon/p/7293818.html
Copyright © 2011-2022 走看看