При работе Polymatica Analytics могут логироваться:
В этом разделе рассматривается конфигурирование соответствующих логгеров, а также получение системных, пользовательских логов и логов событий мультисфер через GET-запросы.
Логгеры конфигурируются в общем файле конфигурации /etc/polymatica/polymatica.conf. Чтобы изменения в файле вступили в силу, необходимо перезапускать Polymatica Analytics командой
systemctl restart polymatica.service |
Наименования логгеров:
Для конфигурирования логгера необходимо указать префикс «plm.log.», наименование логгера (кроме некоторых исключений, см. примечание в таблице) и наименование параметра:
plm.log.main.enabled |
а также значение, если параметр принимает значение какого-либо типа:
plm.log.main.file.path = logs/main |
Параметр | Тип значения | Состояние по умолчанию* | Описание | Примечание | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
enabled | – | Выключен | Включает логирование | – | ||||||||
loglvl | int | 3 | Определяет уровень логирования. В лог записываются события с указанным уровнем логирования и выше. Принимаемые значения:
Чем выше уровень логирования, тем меньше событий регистрируется в логах. Поддерживаемые сообщения для логгеров user_actions и export — 2, для логгера main — 0–6. | При установке определенных уровней для основного логгера (main), выводится дополнительная информация об окружении импорта.
Любой более подробный уровень логирования включает сообщения менее подробных уровней. На всех уровнях логирования основного логгера (main) отображается UUID мультисферы в виде префикса для каждой записи о состоянии импорта и о работе с мультисферой (открытие, закрытие, сохранение). | ||||||||
file.path | string | См. примечание | Для логгера main: директория размещения файлов логов. Для прочих логгеров: размещение файла для записи логов | Путь указывается относительно корня репозитория /var/plmrepo/, например: logs/main Значение по умолчанию для логгера main:
Значения по умолчанию для других логгеров, если параметр не задан:
| ||||||||
log_to_file | – | Выключен | Включает сохранение лога в файл | Логгер main ежедневно создает новый файл. Прочие логгеры записывают события в постоянный файл | ||||||||
split | – | Выключен | Включает раздельную запись лога в различные файлы по модулям | Доступен только для логгера main. В присутствии этого параметра отменяется ежедневное создание общего файла. Файлы записываются в директорию, указанную параметром file.path | ||||||||
max_files | int | 30 | Ротация файлов лога. При превышении заданного количества удаляется самый старый файл | Доступен только для логгера 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-запросы» выше), так и через контекстное меню мультисферы.
На уровне info в лог мультисферы записывается информация об изменении параметров мультисферы с указанием даты и времени изменений, а также логина пользователя, изменившего соответствующие настройки. Запись в лог осуществляется как при изменении параметров мультисферы через пользовательский интерфейс, так и при изменении через PolyAPI, при условии успешного сохранения настроек. Каждая такая запись представляет собой одну строку, содержащую информацию только о тех параметрах, которые изменились, при этом в записи содержится информация о состоянии параметров до изменения.
Запись об изменениях параметров мультисферы имеет следующий формат:
[дата и время записи] [указание уровня логирования][имя логгера] {user_name: логин пользователя, изменяющего мультисферу, from:{перечень изменяемых параметров мультисферы до сохранения}, to:{перечень измененных параметров мультисферы после сохранения}}
Пример: [2025-07-29 06:07:40.075 +00:00][ info][Import] {user_name: User1, from:{indirect_sort_cpu_load_percent: 70}, to:{indirect_sort_cpu_load_percent: 80}}.
В таблице ниже представлены параметры мультисферы, отражаемые в записях лога:
Параметр | Наименование | Описание | Пример |
---|---|---|---|
Логин пользователя, сохранившего изменения | user_name | Отображается всегда. | user_name: User1 |
Имя мультисферы | cube_name | Отображается только в случае переименования. | cube_name: "Мультисфера1" |
Источники | datasources | Для каждого источника указываются параметры: name — имя источника, Отображаются только в случае изменения состава источников или в случае изменения параметров одного из источников. | datasources: [{name: "TestSourcePSQL12", server: "123.456.78.90:5432"}, {name: "Новый источник"}] |
Размерности | dims | Для каждой размерности указываются параметры: id — идентификатор размерности, | {dims: [{id: "eeca4601", name: "plan_implementation"}, {id: "b504f73d", name: "report_date"}] |
Факты | facts | Для каждого факта указываются параметры: id — идентификатор факта, | facts: [{id: "8209a518", name: "pw_fact_date_square_sum", nulls_allowed: false}, {id: "a81cfa2a", name: "dpw_fact_date_square_reg", nulls_allowed: true}] |
Тип обновления | update | Возможные значения: | update: 1 |
Расписание | schedule | Указываются параметры: delayed — параметр отложенного создания мультисферы до первого обновления; type — тип расписания; значения: 1 — ежедневное обновление, time — время (время в секундах от начала суток = часы * 3600 + минуты * 60); "UTC-1:00" : 0, week_day — день недели (только для еженедельного обновления); Отображается только в случае изменения. | schedule: {delayed: true, items: [ {type: 3, time: 3600, time_zone: 0, day: 1}]} |
Дата актуальности данных | relevance_date | Указываются параметры: dimension_id — идентификатор размерности, максимальное значение которой используется как дата актуальности данных: 6 — date, consider_filter — учитывать фильтр при выборе максимального значения размерности. Отображается только в случае изменения. | {relevance_date: {dimension_id: "07356321", data_type: 6, consider_filter: true}} |
Предельный % загрузки CPU при импорте | indirect_sort_cpu_load_percent | Отображается только в случае изменения. | indirect_sort_cpu_load_percent: 70 |