输出不可用时,Logstash会丢失消息?

时间:2019-01-12 16:14:31

标签: apache-kafka logstash

我对Logstash无法将事件发送到输出目标(例如,发送给Kafka主题)时发生的事情感兴趣。

单个事件是否会丢失?万一出现转基因,如何预防损失?

1 个答案:

答案 0 :(得分:1)

听起来像您对Persistent Queues感兴趣。

想突出显示其中的一部分,这看起来很极端

  

为了防止异常终止期间的数据丢失,Logstash具有持久队列功能,该功能将消息队列存储在磁盘上。持久队列提供Logstash中数据的持久性。

     

持久队列对于需要大缓冲区的Logstash部署也很有用。您可以启用持久性队列来缓冲磁盘上的事件并删除消息代理,而不是部署和管理消息代理(例如Redis,RabbitMQ或Apache Kafka)来促进缓冲的发布-订阅者模型。

但是,我假设一旦队列已满,则可能会丢弃消息。


另一种方法是从图片中删除Logstash,并使用Kafka Connect框架将外部系统连接到Kafka,使用Filebeat / Fluentbit监视文件本地更改,并使用Metricbeat / Telegraf进行系统度量监视。