将nginx的日志通过logstash载入到ES中logstash.cnof配置

1、nginx日志格式化为json格式的配置(nginx日志json格式化请自行google):

input {  # 定义日志源
# file {   #从文件中拉取
   #    type => "log"
   #    path => "D:/log/academy_*.log"
   #    start_position => "beginning" 
   # }

   beats {  #从fileBeat中获取
          port => "5044"
   }

# kafka {  #从kafka中获取
#       bootstrap_servers => "127.0.0.1:9092"
#       topics => ["ecplogs"]
#   }

}


filter {

  json { #日志为json格式
       source => "message"
       #remove_field => ["message"]
  }
  date {  #日志中包括timestamp字段
       match => [ "timestamp", "UNIX", "ISO8601", "yyyy-MM-dd HH:mm:ss" ]
  }
 
}

output {  # 定义日志输出

    elasticsearch {

        hosts => ["localhost:9200"]       # 定义es服务器的ip
        index => "logstash-system-syslog-%{+YYYY.MM.dd}"   # 定义索引名称
    }

#    stdout {
#     codec => rubydebug { }
#    }

}

 

 

2、nginx使用默认格式化形式:

input {  # 定义日志源
  # file {
  #     type => "log"
  #     path => "D:/nginx-1.14.0/access.log"
  #     #start_position => "beginning" 
  #  }

   beats {
       port => "5044"
   }

#   stdin { }

#   kafka {
#       bootstrap_servers => "127.0.0.1:9092"
#       topics => ["ecplogs"]
#   }

}


filter {

  grok {
      match => { "message" => "%{IP:clientIp} - - \[%{HTTPDATE:logdate}\] \"%{WORD:verb} %{URIPATHPARAM:request} HTTP/%{NUMBER:httpversion}\" %{NUMBER:http_status_code} %{NUMBER:bytes} \"%{NOTSPACE:ref}\" \"%{DATA:user_agent}\"" }
      }
    
 

  date {
         match => [ "logdate", "UNIX", "ISO8601", "dd/MMM/yyyy:HH:mm:ss Z","yyyy-MM-dd HH:mm:ss" ]
  target => "@timestamp"
       }

   kv  {
          source => "request"
          field_split => "&?"
          value_split => "="

        }

   urldecode {

        all_fields => true

    }

   geoip { source => "clientIp" }

 
}

output {  # 定义日志输出

    elasticsearch {
        hosts => ["localhost:9200"]       # 定义es服务器的ip
        index => "logstash-nginx-%{+YYYY.MM.dd}"   # 定义索引名称
    }

    stdout {
        codec => json_lines
    }

}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值