События системного журнала#

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

Журналирование в OneWork настроено по умолчанию следующим образом:

  • журналирование с суточной ротацией или по достижении предельного размера файла;

  • хранение журнала за 1 сутки.

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

Конфигурация журналирования происходит в секции logging общего для всех компонентов файла конфигурации application-<имя_профиля>.yml.

logging:
    level.root: info # уровень логирования по умолчанию
    file.path: ${SSD_LOGS_ROOT}/${spring.application.name} # директория хранения логов компонента 
    logback.rollingpolicy: 
        max-file-size: 5GB # лимит размера лог-файла
        max-history: 1     # лимит количества хранимых лог-файлов в истории

Структура файлов на хосте, на котором запущен компонент, выглядит следующим образом:

[root@pkles-gt0011484 service-adapter-sonar]$ pwd
/var/log/ssd-v2/service-adapter-sonar
[root@pkles-gt0011484 service-adapter-sonar]$ ls -la
итого 256
drwxr-xr-x  2 root root   4096 сен  6 00:01 .
drwxr-xr-x 18 root root   4096 сен  5 10:32 ..
-rw-r--r--  1 root root 224000 сен  6 11:38 spring.log                  # активный лог
-rw-r--r--  1 root root  21293 сен  6 00:01 spring.log.2022-09-05.0.gz  # архивный лог

Архивные лог-файлы содержат информацию, записанную ранее, их предельное количество будет определяться значением max-history. Общий шаблон именования архивных файлов: spring.log.<дата>.<порядковый_номер>.gz. Более ранний порядковый номер определяет наиболее релевантный по времени файл.

Полный путь к файлу системного журнала компонента в файловой системе хоста, на котором он развернут, формируется следующим образом:
${SSD_LOGS_ROOT}/${spring.application.name}/spring.log

Например: /var/log/ssd-v2/service-adapter-sonar/spring.log.

Интерактивный просмотр журналов#

Для интерактивного просмотра журнала через интерфейс Spring Boot Admin требуется перейти в раздел целевого компонента и выбрать раздел Журналирование | Лог-файл.

Раздел просмотра логов

Поддерживается поиск по содержимому логов (Win/Cmd + F). Также по нажатию кнопки Загрузить в новой вкладке откроется текстовое содержимое лога.

В интерактивном режиме можно просматривать только активный лог-файл. Для просмотра архивных файлов можно подключиться к хосту по SSH и просмотреть логи в терминале или скопировать архив с помощью scp и воспользоваться инструментами на локальной машине.

Помимо просмотра журнала имеется возможность настраивать уровень журналирования в компоненте. Для этого перейдите в раздел Журналирование | Журналы.

Конфигурирование уровней логирования

В этом разделе отображается список Spring-компонентов в контексте компонента OneWork и настроенный для них уровень журналирования. Он определяет уровень значимости сообщений, которые будут попадать в файлы журналов, соответственно насколько детально можно отследить поток выполнения операций.

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

Наиболее часто используемым (и уровнем логирования по умолчанию) является INFO — это сообщения о важных действиях в компоненте, ожидаемые действия системы.

Помимо этого могут встречаться события следующих уровней:

  • ERROR: ошибки, которые влияют на обработку запроса или функционирование внутреннего процесса. ERROR - неверный id проекта

  • WARN: логи, которые содержат предупреждение о неожиданном действии или некритичной ошибке, не повлиявших на поток выполнения. WARN - отсутствие доступа к API Keycloak

  • DEBUG: логи, необходимые для отладки приложения. DEBUG - обращение к API Kafka.png