我将配置为具有负载平衡 true 的 filebeat 和两个 logstash 主机,即 logstash1 和 logstash2,它们是 elasticsearch 的输入。logstash 的 filebeat 配置如下
prospectors:
-
paths:
- /home/testLogs/temp.log
spool_size: 1
publish_async: true
### Logstash as output
logstash:
hosts: ["10.186.187.44:5044", "10.186.187.6:5044"]
worker: 1
loadbalance: true
我设置的两个logstash上的logstash输入如下
input {
beats {
port => 5044
congestion_threshold => 100000
}
}
output {
stdout {codec => rubydebug}
elasticsearch {
hosts => "ipaddress:9200"
index => "testidx"
}
}
但是,当我将一些行回显到文件 temp.log 中时,我看到在弹性搜索中处理的行是重复的文档,在我看来,两个 logstash 都在处理所有行。在两个logstash的stdout上,有时我看到两个logstash处理的外汇line1和line2,或者有时由logstash1和line1、line2、line2处理的line1由logstash2处理但是即使使loadbalance = flase我仍然看到重复的文档。& 在标准输出中,我 sed line1 和 line2 由 logstash1 或 logstash2 处理了两次。
所以只是想知道我的配置是错误的,这些行没有分布在logstashes上,还是像它的行为或错误一样。