TeamLead
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Логирование

Логирование — важная часть любого приложения. Если логирование хорошо организовано, то позволяет понимать, что, когда и как идет не так, как задумано, и передавать нужную информацию людям, которым предстоит эти ошибки исправлять. Для системы, в которой каждую секунду отправляется 100 тысяч сообщений в 10 дата-центрах на 190 стран, а 350 инженеров каждый день что-то деплоят, система логирования особенно важна.

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

После перехода в продакшен, работу приложения нужно постоянно мониторить, чтобы предотвращать и быстро реагировать на потенциальные ЧП. Анализ логов — один из базовых инструментов в работе ИТ-специалистов. Он помогает обнаружить источники многих проблем, выявить конфликты в конфигурационных файлах, отследить события, связанные с ИБ. А главное, благодаря логам найденные ошибки можно быстро исправить. Поэтому логирование так важно при отладке программ, поиске источников проблем с прикладным программным обеспечением и базами данных.

Логи должны записываться во время работы каждого ИТ-компонента.

Несколько типичных случаев, в которых применяются логи:

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

Типы логов

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

Для удобной работы с логами их делят на типы. Это помогает быстрее находить нужные и выбирать правильные инструменты для работы с ними. Например, выделяют:

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

Также логи можно типизировать по степени их важности:

  • Fatal/critical error — то, что нужно срочно исправить.
  • Not critical error — ошибки, которые не влияют на пользователя.
  • Warning — предупреждения, то, на что нужно обратить внимание.
  • Initial information — информация о вызовах API сервиса, запросах в БД, вызовах других сервисов.