LINUX.ORG.RU

Анализ и визуализация логов для отладки

 , , ,


0

3

Шалом, ЛОР.

Есть несколько разных серверов, написанных на разных языках, выполняющих функции, но работающих заодно. Сервера шлют друг другу запросы, обмениваются данными.

Предположим что этих серверов пока немного, 3-5 и шлют они не так уж много событий, скажем суммарно около ста в секунду.

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

Таким образом, чтобы я мог проследить историю одного клиентского запроса, увидеть все запросы к базе, к другим серверам. Т.е. нужно на каждый внешний запрос вешать id, и его прокидывать req-id как тег во все события которые он породил.

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

Часть приложений с которых мы собираем события написаны на эрланге, поэтому id-процесса мы также берём как тег. Тогда каждое событие принадлежит к какому-то процессу, который рождается и умирает.

--------------

Я погуглил, но не нашёл того чего бы мне хотелось. Есть множество анализаторов логов, которые собирают статистику по ошибкам, ещё каким-то аномалиям, в основном это логи HTTP запросов. А анализ логов для отладки — что-то не видел такого.

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

Какой сделать интерфейс? Как его сделать удобным и понятным? Есть какие-то хорошие примеры, какой-то софт из которого можно повзаимствовать идеи?

★★

Последнее исправление: vladimir-vg (всего исправлений: 1)

Скрипт, который мёрджит все логи в один текстовый файл, emacs, occur-mode, font-lock и ~300 строк на elisp для навигации по всему этому.

Можете смеяться и тыкать пальцами, но мне этого вполне достаточно для разбора логов с эрланговского кластера c типичным SAU от 2e6.

GoodRiddance
()

Какой сделать интерфейс? Как его сделать удобным и понятным? Есть какие-то хорошие примеры, какой-то софт из которого можно повзаимствовать идеи?

Не морочь голову, используй Splunk Light.

blexey ★★★★★
()
Ответ на: комментарий от blexey

Не морочь голову, используй Splunk Light.

Посмотрел скриншоты — это не то что я ищу. Мне нужно не статистику и алерты. Это другая задача.

vladimir-vg ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.