Статьи

Логи. Инструменты для работы с логами

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

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

Все эти инструменты появились для решения проблемы централизованного хранения логов, и для того, чтобы можно было смотреть логи одновременно с множества серверов, так как в эпоху микросервисной архитектуры (где один сервер выполняет одну функциональную задачу из множества серверов с другими задачами, или даже несколько одинаковых серверов, выполняющих одну и ту же задачу) стало необходимо прослеживать логи, трассировать их, сквозь всю систему, чтобы разобраться что не так. Трассировать - это прослеживать запрос сквозь всю систему, например с помощью специально вставленного дополнительного поля в запросе, которое будет идентифицировать его на всех серверах, через которые он проходит.  
Таких инструментов уже немало. Самый популярный это: 
  • стек ELK - Elastic Search(Хранение, индексирование и поиск данных) + Logstash(Обработка входящих данных из множественных источников и отправка в любую систему хранения логов) + Kibana (интерфейс для просмотра логов, позволяющий строить по ним графики, анализировать их и искать). Научиться с ним работать можно по официальной документации https://www.elastic.co/guide/en/kibana/current/index.html
Еще есть аналогичные инструменты:
  • Loki - проект Grafana Labs
  • Graylog - включает функциональность обработки и отображения данных, но не хранения

Также есть множество инструментов от клаудных провайдеров, таких как Google cloud, AWS (Amazon) и др.

Желаем вам удачи в освоении новых инструментов! 

Логи