Интеграция Jaeger для приложения с низкой задержкой Java - PullRequest
0 голосов
/ 03 августа 2020

Большинство интеграций, с которыми я столкнулся, используют java -агент для sh трассировки трассировок к центральному коллектору, и, в свою очередь, можно просматривать трассы в Jaeger. Однако в моем случае я не могу использовать агент java, поэтому я решил использовать go с настраиваемым api трассировки, который кажется прекрасным, и для этого есть много примеров.

По дизайну моего приложения с низкой задержкой ограничивает меня от создания каких-либо подключений к внешним компонентам / портам, поэтому я также стараюсь избегать проталкивания трассировок / диапазонов к локальному агенту Jaeger или конечной точке сборщика, а лучше записывать трассировки через LogReporter.

Помимо этого, я Мне интересно, как построить конвейер для передачи журналов трассировки в Jaeger. Сами журналы находятся в AWS cloudwatch как потоки, поэтому я думаю, что если я использую Serveless Lambda для подписки и анализа этих событий журнала трассировки, я мог бы сам отправить их в Jaeger, используя может быть конечная точка HTTP / api / traces (немного подробности, но где-то читал, что это существует в той или иной форме).

На данный момент у меня вопрос в том, правильный ли это путь или есть лучший механизм для этого. Поскольку я понятия не имею, могут ли сами следы быть воспроизведены таким образом Коллекционеру. Также не уверен, какой формат принимает конечная точка, так как я не вижу много документации или примеров по этому поводу. Если есть лучший способ интеграции Jaeger, я хотел бы услышать. Я также согласен, если какой-либо другой API в виде OpenTracing, OpenCensus или даже последняя версия OpenTelemetry могут помочь с этим.

Спасибо

1 Ответ

0 голосов
/ 18 августа 2020

Я не уверен, что то, что вы ищете, существует сегодня как таковое, но вы могли бы sh сделать это с помощью OpenTelemetry, записав трассировки через LogReporter, а затем используя бессерверную функцию для чтения потока облачных наблюдений и отправки его в Jaeger (или сборщику OpenTelemetry, который отправляет их Jaeger). Вы также можете написать собственный плагин для OpenTelemetry Collector, который считывает поток облачных наблюдений в OTLP, а затем экспортирует его в любую конечную точку, поддерживаемую сборщиком.

...