Очередь сообщий в Logstash при заблокированной записи в Elasticsearch

Доброго дня уважаемые форумчане!
Моя схема передачи логов следующая:
App servers -> AWS SQS (очередь) -> Logstash (input => sqs, outsput => elasticsearch) -> AWS Elasticsearch

Иногда Elasticsearch блокируется на запись (например, из-за недостатка места) и отсюда у меня возникают вопросы.

Вопросы:

  1. Что при этом происходит в Logstash? Сообщения попадают в in-memory очередь?
  2. Есть предел этих сообщений (размер RAM)?
  3. Тогда почему при заблокированной записи в Elasticsearch я вижу, что очередь SQS растёт, Logstash не падает
  4. Если он не падает то может объем памяти выделенный под JVM heap заполняется и дальше Logstash перестаёт принимать сообщения?

Помогите узнать правду. Благодарю заранее за ответы :wink:

Я думаю, вы найдете ответы на эти вопросы тут

https://www.elastic.co/guide/en/logstash/current/deploying-and-scaling.html
https://www.elastic.co/guide/en/logstash/current/persistent-queues.html

1 Like