【发布时间】:2017-05-04 21:41:14
【问题描述】:
我有一台在 AWS 中运行的 Logstash 机器。在 Logstash 中,我有 3 个配置文件,每个配置文件都定义了 1 个输入。这些输入正在从以下来源读取日志
- 来自 s3
- 来自 http 输入
- 来自文件节拍
问题是我在 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"
}
}
文件节拍
input {
beats {
port => "5043"
}
}
对于所有 3 个配置文件,都有一个共同的输出部分,即
output {
elasticsearch { hosts => [ "10.0.0.1:9200" ] }
}
【问题讨论】:
-
你配置了多少个输出?
-
@OllyCruickshank 我已经用我配置的输出编辑了我的问题。
-
logstash 会将配置文件连接在一起并查看三个输出部分。因此,您的消息将被输出 3 次。我将创建一个单独的单一输出配置文件,并从您的 3 个输入配置文件中删除输出部分。
-
@OllyCruickshank 谢谢,它成功了。能否请您将此作为答案,以便我接受。
-
添加了答案,谢谢!
标签: elasticsearch logstash kibana filebeat