Общие сведения
При работе 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 | int | 4 | Определяет уровень логирования. В лог записываются события с указанным уровнем логирования и выше. Принимаемые значения:
| – | ||||||||
file.path | string | см. примечание | Для логгера main: директория размещения файлов логов. Для прочих логгеров: размещение файла для записи логов | Путь указывается относительно корня репозитория /var/plmrepo/, например: logs/main Значения по умолчанию:
| ||||||||
log_to_file | – | Выключен | Включает сохранение лога в файл | Логгер main ежедневно создает новый файл. Прочие логгеры записывают события в постоянный файл | ||||||||
split | – | Выключен | Включает раздельную запись лога в различные файлы по модулям | Доступен только для логгера main. В присутствии этого параметра отменяется ежедневное создание общего файла. Файлы записываются в директорию, указанную параметром file.path | ||||||||
max_files | int | 30 | Ротация файлов лога. При превышении заданного количества удаляется самый старый файл | Доступен только для логгера 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 используется значение по умолчанию.