Шалом, ЛОР.
Есть несколько разных серверов, написанных на разных языках, выполняющих функции, но работающих заодно. Сервера шлют друг другу запросы, обмениваются данными.
Предположим что этих серверов пока немного, 3-5 и шлют они не так уж много событий, скажем суммарно около ста в секунду.
Я хочу собирать логи с этих серверов, и видеть их на едином таймлайне. Мне нужна эта фича для отладки, для понимания что именно произошло в тестах (поднимаются несколько серверов и обмениваются запросами), либо на продакшен сервере.
Таким образом, чтобы я мог проследить историю одного клиентского запроса, увидеть все запросы к базе, к другим серверам. Т.е. нужно на каждый внешний запрос вешать id, и его прокидывать req-id как тег во все события которые он породил.
Кроме того на сервисах есть воркеры, которые живут отдельно, у этих событий тоже есть теги. Я тоже хочу видеть на таймлайне их старт и смерть, сколько времени это занимало, как влияло на другие процессы.
Часть приложений с которых мы собираем события написаны на эрланге, поэтому id-процесса мы также берём как тег. Тогда каждое событие принадлежит к какому-то процессу, который рождается и умирает.
--------------
Я погуглил, но не нашёл того чего бы мне хотелось. Есть множество анализаторов логов, которые собирают статистику по ошибкам, ещё каким-то аномалиям, в основном это логи HTTP запросов. А анализ логов для отладки — что-то не видел такого.
Допустим, что сбор, хранение а также развешивание тегов я решил, задача понятная. Допустим я собрал всю эту информацию, и она уже лежит у меня в базе в кликхаусе. Для каждого процесса есть событие старта и событие смерти, а также куча разных событий между ними.
Какой сделать интерфейс? Как его сделать удобным и понятным? Есть какие-то хорошие примеры, какой-то софт из которого можно повзаимствовать идеи?