【发布时间】:2021-07-20 11:04:36
【问题描述】:
我有一个运行 Elasticsearch、Logstash 和 Kibana 的服务器。使用 Filebeat 将传入消息从大约 10 个远程服务器推送到此服务器。
来自 10 个主机的流量非常“突发”,在高峰期,我预计传入请求在 15 分钟内每分钟达到 10 万条记录。
我的问题是,如果 logstash 无法每分钟处理 10 万个请求,filebeat 会开始节流还是继续向远程 logstash 服务器发送请求?
另外,如果 ELK 服务器关闭或不可用,是消息丢失还是 Filebeat 等到 ELK 服务器再次可用才开始发送消息?
我查看了 Filebeat 文档,但似乎无法找到这些问题的答案。感谢您的任何指点。
【问题讨论】:
-
根据我的经验,您应该使用 Kafka 或 Redis 作为传输层,以确保在 Logstash 宕机的情况下您的数据不会丢失。
-
感谢您的评论,我已将我的单个 logstash 管道一分为二,Redis 充当两者之间的队列,以吸收请求中的任何峰值。