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"
            }
        }
    

      

  • 相关阅读:
    vivado工程移植
    Search Everything 多项查找
    RTL_代码覆盖率
    在ARTIX-7上实现摄像头视频通路
    转:自动生成testbench
    转:winedt中显示中文
    Zynq和microblaze的区别
    转:找不到include xgpio.h;Unresolved include xgpio.h
    DHTMLX 常用技术
    Ubuntu中安装 mercurial – TortoiseHG
  • 原文地址:https://www.cnblogs.com/xzlive/p/9407216.html
Copyright © 2011-2022 走看看