执行模型
编辑执行模型
编辑Logstash 事件处理管道协调输入、过滤器和输出的执行。
Logstash 管道中的每个输入阶段都在自己的线程中运行。输入将事件写入中央队列,该队列可以位于内存中(默认)或磁盘上。每个管道工作线程从这个队列中获取一批事件,通过配置的过滤器运行这批事件,然后将过滤后的事件通过任何输出运行。批次的大小和管道工作线程的数量是可配置的(请参阅 调整和分析 Logstash 管道性能)。
默认情况下,Logstash 在管道阶段之间(输入 → 过滤器 和 过滤器 → 输出)使用内存中的有界队列来缓冲事件。如果 Logstash 非正常终止,则存储在内存中的任何事件都将丢失。为了帮助防止数据丢失,您可以启用 Logstash 将正在传输的事件持久化到磁盘。有关更多信息,请参阅 持久化队列 (PQ)。