我对Logstash无法将事件发送到输出目标(例如,发送给Kafka主题)时发生的事情感兴趣。
单个事件是否会丢失?万一出现转基因,如何预防损失?
答案 0 :(得分:1)
听起来像您对Persistent Queues感兴趣。
想突出显示其中的一部分,这看起来很极端
为了防止异常终止期间的数据丢失,Logstash具有持久队列功能,该功能将消息队列存储在磁盘上。持久队列提供Logstash中数据的持久性。
持久队列对于需要大缓冲区的Logstash部署也很有用。您可以启用持久性队列来缓冲磁盘上的事件并删除消息代理,而不是部署和管理消息代理(例如Redis,RabbitMQ或Apache Kafka)来促进缓冲的发布-订阅者模型。
但是,我假设一旦队列已满,则可能会丢弃消息。
另一种方法是从图片中删除Logstash,并使用Kafka Connect框架将外部系统连接到Kafka,使用Filebeat / Fluentbit监视文件本地更改,并使用Metricbeat / Telegraf进行系统度量监视。