Поделитесь опытом, кто внедрял у себя готовые решения для distributed tracing?



Коллеги, добрый день ! Поделитесь опытом, кто внедрял у себя готовые решения для distributed tracing? Zipkin, Jaeger, Appdash? OpenTrace, OpenCensus? Много ли сил потратили? Довольны ли результатом? Плюсы, минусы, подводные грабли?

Спасибо!

211   8  
  1. Alexey Rybak 10 месяцев назад
    Они разве на стэк технологий не завязаны? Зипкин и жагер у джавистов вроде (для примеру).
  2. Alexey Rybak 10 месяцев назад
    меня вот в связи с твоим вопросом другое интересует: не кажется ли тебе, что если назрела необходимость в подобном анализе, то архитектура стала чересчур сложной? в тех некоторых примерах, о которых я слышал, я рискнул бы предположить, что архитектура была подозрительно "микросервисной", может быть более "микросервисной", чем нужно.
  3. Константин Замякин 10 месяцев назад
    есть у нас егерь, показался наиболее удобным с точки зрения UI и производительности. но мы туда довольно мало пишем, поэтому, вряд ли наш опыт репрезентативен
  4. Николай Рыбин 10 месяцев назад
    Мы джагер используем в php и go, правда хранилище in memory, касандра и эластик не оч работали, когда мы их пробовали. Даже на небольшом количестве сервисов удобно смотреть сквозные трейсы и понимать кто вносит наибольший вклад в тормоза.
  5. Дмитрий Давыдов 10 месяцев назад
    Юзаем джагер(python/go/ruby), интегрируется довольно просто, удобно смотреть как конкретный запрос по микросервисам прошел(плюсом показывается время запросов в базу, и свои какие-то метрики).
    Но UI показался не очень - фильтровать запросы порой неудобно, общую статистику по запросам не посмотреть(например сколько запросов какого типа было, какой запрос тормознее всего).
  6. Sergey Orlov 10 месяцев назад
    Mike Kabischev
  7. Антон Герасимов 10 месяцев назад
    Используем егерь.
    В девел-среде in memory, в прод планируем эластику.

    Без егеря разбирать проблемы бекенда в SOA — адова Сатана. Trace-request-Id является обязательным для всех, кто приходит с вопросами в бекенд. Начинали мы без трассировки и достаточно быстро поняли, что это очень не удобно. Изобрели свой велосипед, но потом отказались от него в пользу стандартного opentracing

    Также во все логи пишется этот сквозной идентификатор, потому посмотрев в UI на проблемную точку, всегда можно найти детали в логах.

    Нужно понимать, что трассировка — не бесплатна, потому сервисы должны иметь возможность:
    1) отключать трассировку
    2) настраивать тротлинг
  8. Стас Щетинников 10 месяцев назад
    Во многом service-mesh может многие вопросы закрыть, при этом без инструментирования кода (это может быть проблемой в случае, если сервисов много и они на разных стеках).

Добавить ответ:
Отменить.