Использование одного и того же идентификатора трассировки рентгеновских лучей для нескольких лямбда-функций

#node.js #amazon-web-services #aws-lambda #aws-xray

Вопрос:

Сценарий заключается в следующем:

Рабочий процесс Запроса

У меня есть функция lambda, которая прослушивает APIGateway и отправляет входящий запрос в две очереди RabbitMQ. Для каждой очереди RabbitMQ есть лямбда-прослушивание и выполнение некоторой работы.
так что теперь у меня есть 3 лямбда-функции.

Для начала я могу получить идентификатор трассировки из первого lambda и отправить его с заголовком сообщения в RabbitMQ, но для других функций lambda, которые прослушивают RabbitMQ, как я могу настроить их на использование того же идентификатора трассировки?

Ответ №1:

Amazon MQ не интегрирован с X-Ray, поэтому он не будет автоматически ретранслировать какие-либо заголовки трассировки.

Чтобы отслеживать запросы, у которых нет заголовка трассировки, необходимо включить активную трассировку в конфигурации функции. Это автоматически установит для вас неизменяемый идентификатор трассировки.

Вы не можете перезаписать этот идентификатор трассировки из лямбда-функции.

К сожалению, для этого нет решения, если вы не укажете свой собственный сегмент с помощью API X-Ray или SDK с заданным вручную идентификатором трассировки.