我已經閱讀過關於filebeat的至少一次投遞的承諾,我的理解是,直到發送的logline的確認沒有被filebeat接收到,該行將被再次發送(在filebeat重新啓動的情況下)。 現在假設,在我的解決方案中,我使用了Filebeat,Logstash和logstash用於過濾的其他組件。過濾後,logstash將該行發送到elasticsearch。當Logstash發送ACK到輸入源
現在,這裏是下面的檢查站,我們可以損失數據:
- Filebeat關閉了未經logstash收到ACK - 在這種情況下,我們知道,生產線將再次filebeat發送。
- 假設Filebeat發送一行,並且logstash對外部組件應用過濾,然後當它嘗試發送給elasticsearch並且同時logstash/elasticsearch崩潰時,我們將丟失該數據。
我的問題是:在下面的序列
基本上logstash處理數據:
INPUT --> FILTER --> OUTPUT
所以我想知道,在該步驟中logstash將發送ACK給filebeat。我想基本瞭解ACKS如何發送以及何時發送。我試圖在谷歌和ELK官方網站上搜索它,但沒有得到詳細信息。
有人能幫助我理解這些細節嗎? 在此先感謝。