Как изменить logstash, чтобы отправить сообщение о сбое в SQS DLQ

#elasticsearch #logstash #amazon-sqs

#elasticsearch #logstash #amazon-sqs

Вопрос:

Я пытаюсь изменить Logstash 7.6, чтобы отправлять сообщения о сбое в SQS DLQ [1]. В частности, мне нужна эта модификация, когда Logstash использует плагин ввода SQS и плагин вывода elasticsearch. Я ничего не использую в части фильтра. То есть у меня есть две очереди: основная очередь и ее SQS DLQ. Файл, который я пытаюсь изменить, — это [2]. Только для того, чтобы проверить, работает ли это, я пытаюсь добавить прерывание после строки 325, но SQS DLQ, связанный с основным SQS, не получил никакого сообщения. Не могли бы вы дать несколько советов, пожалуйста?

[1] https://github.com/logstash-plugins/logstash-output-elasticsearch/blob/8804933e2b15d867a049319e52ee61223552b6be/lib/logstash/outputs/elasticsearch/common.rb

[2] https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html

PDTA: Я знаю, что у logstash есть свой собственный dlq, но я хочу SQS DLQ.

Ответ №1:

вы хотели бы изменить операцию записи в DLQ, чтобы использовать свою собственную логику.

где action это кортеж, специфичный для ES, например ['update', { ... }, event] action[2] возвращает вам исходное событие Logstash.