logstash区分不同数据源并输出到不同的地方

半兽人 发表于: 2016-12-08   最后更新时间: 2016-12-08  
  •   0 订阅,309 游览

场景,logstash采集2个数据源A和B,A数据源的入kafka,B数据源的都入es。

语法
Input{ 
  file { path => a  type => A }
  file { path => b  type => B }
}

output {
  if [type] == "A" {
    kafka {...}
  }
  if [type] == "B" {
    es {...}
  }
}

我的实现的场景:

bin/logstash -e 'input{
   file{
    type => "normal"
    path => "/data/log/test/abc*.log"
    start_position => beginning
    exclude => "*abc*.log"
  }

  file{
    type => "error"
    path => "/data/log/test/*error*.log"
    start_position => beginning
  }
}
output{
if [type] == "error" {
    kafka{
       bootstrap_servers => "127.0.0.1:9092,127.0.0.1:9092"
       topic_id => "loga"
      }
}
    stdout{codec=>rubydebug}
}'

ok,完美解决。







发表于: 6月前   最后更新时间: 6月前   游览量:309
上一条: ElasticSearch定时删除数据
下一条: logstash的type用法
评论…

  • 评论…
    • in this conversation
      提问