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

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

  • системные события;
  • пользовательские события;
  • события мультисфер;
  • события экспорта;
  • события SQL-сервера (для Polymatica Analytics в режиме ODBC-источника).

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

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

Логгер событий мультисфер не конфигурируется.

Конфигурируемые логгеры

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

systemctl restart polymatica.service

Могут быть сконфигурированы следующие логгеры.

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

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

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

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

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

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

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

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

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

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

При установке определенных уровней для основного логгера (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

  • для логгера событий мультисфер:

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

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

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

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

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

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

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

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

max_files
int30

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

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

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

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

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

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

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

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

Значения по умолчанию:

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

[%Y-%m-%d %H:%M:%S.%e][%8l][%n] %v

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

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

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

[%Y-%m-%d %H:%M:%S.%e][%8l][%n] %v

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

[%Y-%m-%d %H:%M:%S.%e][%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 используется значение по умолчанию.

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

  • Нет меток