Mutliple配置文件导致重复消息

时间:2017-05-04 11:43:38

标签: elasticsearch logstash kibana filebeat

我在AWS中运行了一台Logstash机器。在Logstash中,我有3个配置文件,每个配置文件都有1个输入。这些输入是从以下来源读取日志

  • 来自s3
  • 来自http输入
  • 来自filebeat

问题是我在Kibana中收到重复的邮件。因此,对于Filebeat生成的1条消息,我在Kibana中看到3条消息。我试图删除1个配置文件,计数减少到2.所以我很确定这是由于这些配置文件。

令我困惑的是,为什么会这样。我在所有3个配置文件上定义了单独的输入,仍然收到重复的消息。这些是所有3个配置文件的输入部分。

s3输入

input {
  s3 {
     bucket => "elb-logs"
     region => "us-east-1"
     prefix => "demo/AWSLogs/792177735214/"
     type   => "elb-logs"
     delete => true
  }

}

Http输入

input {
  http {
     type   => "frontend-logs"
     codec  => "json"
  }
}

Filebeat

input {
  beats {
    port => "5043"
  }
}

对于所有3个配置文件,都有公共输出部分,即

output {
    elasticsearch { hosts => [ "10.0.0.1:9200" ] }
}

1 个答案:

答案 0 :(得分:3)

Logstash将三个配置文件连接在一起(s3输入,Http输入,Filebeat)并查看三个输出节。

三个输出部分与特定输入无关 - 而是Logstash将从三个源中的任何一个发送输入到所有已配置的输出。因此,您的消息将输出三次到同一目的地。

我会创建一个单独的单输出配置文件,并从3个输入配置文件中删除输出部分。