코드 건조 | Logstash 상세 설명-Filter 모듈

7831 단어 코드 드라이
문장은 아리운-운서 지역사회에서 유래한 것으로 원문은 여기를 클릭하세요.
Logstash          ,    Logstash      ,        ,  ,           。
1、grok   grok          ,        ,                   。
filter{

    grok{
        #    match  ,      message           ,           logdate。
        #       ,         Logstash message     ,               message。
        #         grok              ,              TIMESTAMP_ISO8601        。
        #         ,grok            ,           ,                       
        #http://blog.csdn.net/liukuan73/article/details/52318243
        #  ,         ,              ,  ,          ,grok      。
        match => ['message','%{TIMESTAMP_ISO8601:logdate}']
    }
}
2、mutate   mutate             ,             ,                (      ),           。            : "integer""float"   "string"
filter {
    mutate {
        #      ,    value,type
        #      ,             ,        ‘abc’       123 。
        convert => [
                    # request_time        
                    "request_time", "float"#costTime       
                    "costTime", "integer"
                    ]
    }
}

3ruby      ruby      ——    。ruby         ruby  ,       ,    ,    ,         , EVENT     ,         。

filter {
    ruby {
        #ruby       ,  init     code
        #init           ,             ,           ,       ruby{}       。
        #           field hash  。      coed      。
        init => [field={}]
        #code            ,    ruby          。
        #            。
        #  ,     message        ,          “|”。            (ruby      )。
        #   ,                    (ruby    、    )
        #   ,              EVEVT  。
        #   ,     ,  MD5  
        #   event  ?event  Logstash  ,    ruby   code       ,        ,    ,    ,          。
        #  MD5     ,        。
        #      message    。
        code => "
            array=event。get('message').split('|')
            array.each do |value|
                if value.include? 'MD5_VALUE'
                    then 
                        require 'digest/md5'
                        md5=Digest::MD5.hexdigest(value)
                        event.set('md5',md5)
                end
                if value.include? 'DEFAULT_VALUE'
                    then
                        event.set('value',value)
                end
            end
             remove_field=>"message"
        "
    }
}

4date           grok        logdate    (        grok  )。
filter{
    date{
        #   grok         logdate ?        。             ,       。        。
        #        ?
        #            ,       @timestamp    ,      ,    ES           (+0  )
        #       ,     target      @timestamp,               ,                 。
        #  ,logdate    ,         ,              event     。
        match=>["logdate","dd/MMM/yyyy:HH:mm:ss Z"]
        target=>"@timestamp"
        remove_field => 'logdate'
        #       ,@timestamp    ,          ,                  ,
        #     ,   grok      ,      ,             ,   :"timeat", "%{TIMESTAMP_ISO8601:logdate}"
        #timeat                 。
        #          ,          。

    }
}

5、json  ,               ,         

>>> 전체 텍스트 확장

좋은 웹페이지 즐겨찾기