Logstash 자세히 보기 - Filter 모듈

5002 단어 logstashkafka
자세히 보기
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 플러그인은 데이터를 처리하는 형식입니다. 시간 형식을 처리하거나 문자열을 숫자 형식으로 바꾸려면 선택할 수 있습니다. (당연히 합법적이어야 합니다) 마찬가지로 되돌아갈 수도 있습니다.설정할 수 있는 변환 형식은 "인덱스", "float","string"입니다.
filter {
    mutate {
        #      ,    value,type
        #      ,             ,        ‘abc’       123 。
        convert => [
                    # request_time        
                    "request_time", "float",
                    #costTime       
                    "costTime", "integer"
                    ]
    }
}

3. 루비 플러그인에 대한 공식적인 소개는 못하는 것이 없다.루비 플러그인은 논리적 판단, 조건문, 순환문, 문자열에 대한 조작, 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"
        "
    }
}

4.date 플러그인은 앞에 있는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 플러그인, 이 플러그인도 매우 유용한 플러그인입니다. 현재 우리의 로그 정보는 기본적으로 고정된 양식으로 구성되어 있습니다. 우리는 json 플러그인을 사용하여 이를 분석하고 각 필드에 대응하는 값을 얻을 수 있습니다.
filter{
    #source        json  。
    json {
         source => "value"
    }
    #  :    json      ,                   ,     ruby        ,              。

}

json 플러그인은 사용하는 방법을 주의해야 한다. 다음은 다층 구조의 폐단이다. 대응하는 해결 방안은 다음과 같다.
ruby{
                code=>"
                  kv=event.get('content')[0]
                  kv.each do |k,v|
                  event.set(k,v)
                  end"
                  remove_field => ['content','value','receiptNo','channelId','status']
            }

Logstash Filter 구성 요소의 플러그인은 기본적으로 여기에 소개되어 있습니다. 여기서 알아야 할 것은:addfield、remove_field、add_tag、remove_tag 는 모든 Logstash 플러그인이 있습니다.관련 사용 반법은 필드 이름을 보면 알 수 있다.차라리 너도 해봐...

좋은 웹페이지 즐겨찾기