Опыт использования GrayLog в наших проектах и как это повлияло на качество продуктов.


Эта статья рассказывает не о возможностях GrayLog, а о том как он помог нашей компании.


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


Когда мы начали год назад новый проект по интеграции с CRM системами решили попробовать GrayLog.


Логи как часть продукта


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


Сотрудники стали постоянно пользоваться GrayLog и сообщать где логи непонятные. Мы начали улучшать сообщения в логах и исправлять ошибки в сообщениях, как это делаем с кодом программы. Логи стали частью продукта, а мы стали следить за их качеством.


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



Сообщения на русском языке


Анализ проблем


В GrayLog можно наглядно увидеть проблему. Ниже показан всплеск запросов от Bitrix24, который создал большую нагрузку на сервер. Видно когда это началось и когда закончилось.



Всплеск сообщений в логах


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


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



Пример сводки с графиками ошибок


Уведомления о проблемах


GrayLog умеет уведомлять о проблемах. Можно отправлять уведомление в следующих случаях:


  • если в поле появилось определенное значение;
  • если превышено или слишком низкое значение числового поля;
  • следить за количеством сообщений.


Настройка условий уведомления


Уведомления отправляются на почту или вызывается callback url. Второй способ позволяет отправлять SMS, сообщение в мессанджер или автоматически масштабировать приложение.


Использование логов сотрудниками компании


В GrayLog можно создавать потоки — именованные фильтры. Для потоков задаются права доступа. Это делает доступными только некоторые логи для сотрудников. Например, создать поток с фильтром по имени сервера, чтобы в него попадали только логи с тестового сервера, и сделать доступ к потоку тестировщику.



Список потоков


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


Заключение


GrayLog не просто облегчил поиск в логах, а изменил процесс работы с логами. Логи стали частью продукта. Теперь мы следим за качеством логов наравне с качеством продукта. Логи стали доступны всем разработчикам и коллегам из технической поддержки. Стало возможным обнаруживать проблемы до того как о них сообщат пользователи.

Комментарии (7)