Создание единой сервисной карты в AWS X-Ray для лямбда-функции и микросервиса - PullRequest
0 голосов
/ 04 февраля 2019

У меня есть лямбда-функция AWS, которая имеет трассировку рентгеновских лучей (подсегменты), а изнутри происходит http-вызов микросервиса (выборка, используемая NodeJS), которая снова имеет реализованную трассировку рентгеновского излучения (подсегменты).Когда я нажимаю на служебный URL-адрес лямбда-функции, в X-Ray создаются две служебные карты: одна для лямбды, а другая для микросервиса.Есть ли в любом случае иметь одну карту услуг для обоих вместе?Можем ли мы передать идентификатор трассировки нижестоящему http-вызову (выборка, используемая NodeJS), чтобы получить одну карту сервиса?

1 Ответ

0 голосов
/ 04 февраля 2019

AWS X-Ray SDK может захватывать исходящие http-запросы.Когда это произойдет, он добавит заголовок X-Amzn-Trace-Id , который сообщит инструментированным нисходящим службам, чтобы они продолжали трассировку.

Вам потребуется исправить глобальный http /Модули https node.js с X-Ray для отправки этого заголовка.Вы можете использовать метод AWSXRay.captureHttpsGlobal, передавая в качестве аргумента либо require ('https'), либо require ('http').Причина, по которой вы хотите захватить модуль глобально, заключается в том, что вы используете fetch, который должен использовать http / https за кулисами.

...