zoukankan      html  css  js  c++  java
  • logstash收集ngx日志

    if [type] =~ "ngx-" {
    		#去掉重复的行
            mutate { 
                add_field => {"line_message" => "%{message} %{offset}"}	
            }
            ruby {
    	    code => "
    		require 'digest/md5';
    		event.set('computed_id', Digest::MD5.hexdigest(event.get('line_message')))
                "
    	    }
    		#匹配nginx日志
        	grok {
                 match => { "message" => "%{IPORHOST:clientip} - %{NOTSPACE:remote_user} [%{HTTPDATE:timestamp}] "(?:%{WORD:method} %{NOTSPACE:request}(?: %{URIPROTO:proto}/%{NUMBER:httpversion})?|%{DATA:rawrequest})" %{NUMBER:status} (?:%{NUMBER:size}|-) "(?:%{DATA:referrer}|-)" "(?:%{DATA:agent}|-)" "(%{DATA:xforwardedfor}|-)" "(?:%{DATA:domain}|-)" "%{NUMBER:server_port}" %{NUMBER:reqtime} %{DATA:forward_ip}" }
                 remove_field => ["source","host","message","forward_ip","domain","beat.name","remote_user"]
            }
    		#设置日期格式
            date {
                match => ["timestamp", "dd/MMM/YYYY:HH:mm:ss +0800"]
                target => "@timestamp"
                "locale" => "en"
                timezone => "UTC"
                remove_field => ["timestamp"]
            }
    		#设置IP地址
            geoip {
                source => "clientip"
                target => "geoip"
            }
    		#删除[geoip][ip]以192.100.10.的IP地址
    	    if [geoip][ip] =~ "192.100.10." {
                drop {}
    	    }
    		#删除行信息
            mutate {
                remove_field => ["line_message"]
            }
            useragent {
                source => "agent"
            }
        }
    

      

  • 相关阅读:
    List集合
    ArrayList_toArray
    Collection集合基础知识
    Array类的使用
    16.10
    16.9
    16.8
    16.7
    16.6
    16.5
  • 原文地址:https://www.cnblogs.com/xzlive/p/9407216.html
Copyright © 2011-2022 走看看