Я читал об обязательстве filebeat по крайней мере один раз доставить, и я понял, что до тех пор, пока подтверждение отправленной строки журнала не будет получено filebeat, эта строка будет отправлена снова (в случае перезапуска файла). Теперь предположим, что в моем решении я использую Filebeat, Logstash и еще один компонент, который logstash использует для фильтрации. И после фильтрации logstash отправляет строку в elasticsearch.
Теперь ниже контрольные точки, где мы можем потерять данные:
- Filebeat завершил работу, не получив подтверждения от logstash. В этом случае мы знаем, что строка будет снова отправлена filebeat.
- Предположим, Filebeat отправил строку, а logstash применяет к ней фильтрацию с помощью внешнего компонента, а затем, когда он пытается отправить в elasticsearch, и в то же время происходит сбой logstash/elasticsearch, мы потеряем эти данные.
Мой вопрос:
В основном logstash обрабатывает данные в следующей последовательности:
INPUT --> FILTER --> OUTPUT
Итак, я хочу знать, на каком этапе logstash отправит ACK в filebeat. Я хочу в основном понять, как и когда отправляются ACKS. Я попытался найти его на официальных сайтах Google и ELK, но не получил подробной информации.
Может ли кто-нибудь помочь мне понять эти детали? заранее спасибо.