logstash 6.6.0 读取nginx日志 插入到elasticsearch中

logstash.conf

input {
     # For detail config for log4j as input,
     # See: https://www.elastic.co/guide/en/logstash/
     file {
           type => "log" # log 名
           path => "/home/wwwlogs/a.log" # log 路径
     }
 }

filter {
  grok {
    match => {
       "message" => "^%{IPORHOST:clientip} (?:-|%{USER:ident}) (?:-|%{USER:auth}) \[%{HTTPDATE:[@metadata]timestamp}\] %{NOTSPACE:method} %{NOTSPACE:url}" 
    }
    remove_field => ["message"]
  }
  mutate {
   split => ["url", "?"]
   add_field => ["url_params", "%{url[1]}"]
   remove_field => ["url"]
  }

  mutate {
   split => ["url_params","&"]
   add_field => ["cdid_info", "%{url_params[0]}"]
   add_field => ["elapsedTime_info", "%{url_params[1]}"]
   add_field => ["os_info", "%{url_params[2]}"]
   add_field => ["time_info", "%{url_params[3]}"]
   add_field => ["uid_info", "%{url_params[4]}"]
   add_field => ["wt_info", "%{url_params[5]}"]
   remove_field => ["url_params"]
  }
  
  mutate {
   split => ["cdid_info", "="]
   add_field => ["cdid", "%{cdid_info[1]}"]
   remove_field => ["cdid_info"]
  }

  mutate {
   split => ["elapsedTime_info", "="]
   add_field => ["elapsedTime", "%{elapsedTime_info[1]}"]
   remove_field => ["elapsedTime_info"]
  }

  mutate {
   split => ["os_info", "="]
   add_field => ["os", "%{os_info[1]}"]
   remove_field => ["os_info"]
  }

  mutate {
   split => ["time_info", "="]
   add_field => ["time", "%{time_info[1]}"]
   remove_field => ["time_info"]
  }

  mutate {
   split => ["uid_info", "="]
   add_field => ["uid", "%{uid_info[1]}"]
   remove_field => ["uid_info"]
  }

  mutate {
   split => ["wt_info", "="]
   add_field => ["wt", "%{wt_info[1]}"]
   remove_field => ["wt_info"]
  }

}
output {
   # For detail config for elasticsearch as output,
   # See: https://www.elastic.co/guide/en/logstash/current
   elasticsearch {
     hosts  => "39.100.100.100:9200"   #ElasticSearch host, can be array. # elasticseach 的 host 
     index  => "index_log"         #The index to write data to. 
   }
   # 该命令是将结果输出到控制台
   #stdout { codec => rubydebug } 
}

cd 到 conf 文件目录下 
 检查配置是否正确
../bin/logstash -f ./logstash.conf -t

有上面提示说明配置没有问题

启动

../bin/logstash -f ./logstash.conf

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值