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

При работе Polymatica Analytics могут логироваться:

  • системные события;
  • пользовательские события;
  • события мультисфер;
  • события экспорта.

В этом разделе рассматривается конфигурирование соответствующих логгеров, а также получение системных и пользовательских логов через GET-запросы и отправка логов через POST-запросы.

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

Логгеры конфигурируются в общем файле конфигурации /etc/polymatica/polymatica.conf. Чтобы изменения в файле вступили в силу, необходимо перезапускать Polymatica Analytics командой

systemctl restart polymatica.service

Наименования логгеров:

  • main – логгер системных событий;
  • user_actions – логгер пользовательских событий;
  • export – логгер событий экспорта;
  • Import – логгер событий мультисфер.

Для конфигурирования логгера необходимо указать префикс «plm.log.», наименование логгера (кроме некоторых исключений, см. примечание в таблице) и наименование параметра:

Пример
plm.log.main.enabled

а также значение, если параметр принимает значение какого-либо типа:

Пример
plm.log.main.file.path = logs/main

Параметры логгеров

ПараметрТип значенияСостояние по умолчанию*ОписаниеПримечание
enabled
ВыключенВключает логирование
loglvl
int3

Определяет уровень логирования. В лог записываются события с указанным уровнем логирования и выше.

Принимаемые значения:

  • 6 – off;
  • 5 – critical;
  • 4 – error;
  • 3 – warning;
  • 2 – info;
  • 1 – debug;
  • 0 – trace

Чем выше уровень логирования, тем меньше событий регистрируется в логах. 

Поддерживаемые сообщения для логгеров user_actions и export — 2, для логгера main — 0–6.

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

  1. На уровне логирования info (plm.log.main.loglvl = 2) выводится следующая информация:
    1. Количество уже запущенных модулей импорта - при старте очередного импорта.
  2. На уровне логирования debug (plm.log.main.loglvl = 1) выводится следующая информация: 
    1. Количество ядер (потоков исполнения), доступных для использования - единожды при запуске, после вывода информации о версии Polymatica Analytics;
    2. Статистика по времени загрузки и обработки строк от БД - на каждый миллион строк при любом типе импорта.
  3. На уровне логирования trace (plm.log.main.loglvl = 0) выводится следующая информация:
    1. Время загрузки последних N строк из БД - для импортов JDBC и ODBC. Пример: [JDBC] Import progress: fetched [20460] rows in [500] ms

Любой более подробный уровень логирования включает сообщения менее подробных уровней.

file.path
stringСм. примечание

Для логгера main: директория размещения файлов логов.

Для прочих логгеров: размещение файла для записи логов

Путь указывается относительно корня репозитория /var/plmrepo/, например: logs/main

Значение по умолчанию для логгера main:

/var/plmrepo/logs/main

Значения по умолчанию для других логгеров, если параметр не задан:

  • для логгера user_actions:

/var/plmrepo/logs/user_actions/user_actions

  • для логгера Import:

/var/plmrepo/cubes/<cube_id>/log

  • для логгера export:

/var/plmrepo/logs/export/Userlog_export.csv

log_to_file
ВыключенВключает сохранение лога в файл

Логгер main ежедневно создает новый файл.

Прочие логгеры записывают события в постоянный файл

split
ВыключенВключает раздельную запись лога в различные файлы по модулям

Доступен только для логгера main.

В присутствии этого параметра отменяется ежедневное создание общего файла.

Файлы записываются в директорию, указанную параметром file.path

max_files
int30

Ротация файлов лога.

При превышении заданного количества удаляется самый старый файл

Доступен только для логгера main, который ежедневно создает новый файл.

Для конфигурирования параметра не требуется указывать имя логгера, используйте plm.log.max_files

log_to_stdout
ВыключенВключает вывод лога в stdoutИгнорируется, если выставлен параметр plm.daemon_mode
custom_file_formatting
stringСм. примечание

Определяет форматирование записи лога.

Для форматирования могут быть использованы обычные символы латиницы и флаги:

ФлагНазначение
%*Версия приложения
%<Хэш-коммит фронтенда
%>Хэш-коммит бэкенда

Значения по умолчанию, если параметр не задан:

  • форматирование записи лога пользовательских событий:

'%Y-%m-%d %H:%M:%S'; %v

  • форматирование записи остальных логов:

[%Y-%m-%d %X.%e %z][%8l][%n] %v

* Состояние по умолчанию – это значение параметра, когда он не задан в конфигурации.

** Специальные флаги возвращают информацию, которую можно найти в окне приложения «Администрирование», в верхнем углу, в поле «Версия», где слева направо даны: версия_приложения-коммит_фронтенда-коммит_бэкенда.

Параметры, связанные с логированием, также приводятся на странице Файл конфигурации, в разделе «Настройки логгеров».


Пример конфигурации логгера

Для примера сконфигурируем логгер user_actions.

Пример
plm.log.user_actions.enabled
plm.log.user_actions.loglvl = 1
plm.log.user_actions.log_to_file
plm.log.user_actions.file.path = logs/user_actions/user_actions
plm.log.user_actions.custom_file_formatting = '%Y-%m-%d %H:%M:%S'; '%*-%<-%>'; %v

Получение логов через GET-запросы

Через GET-запросы могут быть получены следующие логи.

  • GET //host/api/v2/logs – получение списка файлов лога системных событий при условии, что для параметра plm.log.main.file.path используется значение по умолчанию.
  • GET //host/api/v2/logs/last – скачивание текущего файла лога системных событий при условии, что для параметра plm.log.main.file.path используется значение по умолчанию и параметр plm.log.main.split выключен.
  • GET //host/api/v2/logs/<name> – скачивание файла лога системных событий по его имени (<name> из запроса //host/api/v2/logs) при условии, что для параметра plm.log.main.file.path используется значение по умолчанию.
  • GET //host/resources/userlog – скачивание файла лога пользовательских событий при условии, что для параметра plm.log.user_actions.file.path используется значение по умолчанию.

Связанные страницы

  • Нет меток