Платформа 3V/Логирование

Материал из 3v-wiki
Перейти к навигации Перейти к поиску

Общие сведения

Логирование в 3v-platform осуществляется через Nlog, который позволяет сохранять логи в различные места: БД, файлы, Elastic Search, Graylog и проч. Подробнее см. здесь.

Cхема логирования через nlog на примере записи в graylog:

схема логирования через nlog на примере записи в graylog.

Что логируется

В обязательном порядке логируются:

  • Все сообщения об ошибках и предупреждениях
  • Начало и окончание выполнения http-запросов; для сообщений окончания заполняется время выполнения запроса

Примечание: в зависимости от запроса в сообщения начала/окончания выполнения http-запроса может записываться дополнительная информация, например, идентификатор открываемого отчета и его параметры.

Graylog

Основная работа с Graylog происходит на вкладке Search. Здесь задаются поисковые запросы, время и выводятся сообщения (логи).

Область поиска

Graylog: область поиска
  • Здесь задается интервал времени: абсолютный или относительный, - за который мы хотим найти сообщения.
  • Для поиска необходимо использовать синтаксис поискового запроса graylog (в котором важен регистр к примеру: and и AND, statuscode и StatusCode для грейлога это разные поля), к примеру если мы хотим найти логи которые приходят из сервиса cards-1, то должны указать в строку: source: cards-1 и нажать enter.
  • Поисковый запрос строится по типу Поле : значение, поля можно посмотреть на вкладке Fields

Область сообщений

  • Область сообщений отображает все логи, удовлетворяющие критериям поиска. Если сообщений много, то они выводятся постранично.
  • Для каждого сообщения по умолчанию отображается поле Message
  • По умолчанию сообщения показываются от самых последних (свежих) к самым старым.
  • Кликом на сообщение можно открыть и увидеть детали сообщения.
  • В таблицу можно добавить столбцы. Это можно сделать, либо нажав на карандашик в правом верхнем углу окна, либо выбрав в деталях сообщения нужное поле и через контекстное меню выбрать Add to all tables.


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

Graylog: область сообщений

Поиск сообщений об ошибках

Поиск по уровню ошибок

Можно использовать поле level, его значения

  • 0 - Emergency
  • 1 - Alert
  • 2 - Critical
  • 3 - Error
  • 4 - Warning
  • 5 - Notice
  • 6 - Informational
  • 7 - Debug

Если мы хотим найти все ошибки, то должны написать условие в строке поиска: level:<4

Поиск по ошибок прав доступа

Для поиска ошибок прав доступа удобно искать по http-статусу запроса. Для этого в строке поиска нужно написать: status:403
Пример поиска и отображения сообщений с нарушением прав доступа с детализацией сообщения:

2022-05-24-graylog-status.png