Настройка логирования ПУИД#
Данный раздел описывает, где находится конфигурация логирования, какие возможности заложены в поставляемые настройки и где по умолчанию искать файлы журналов.
Общая схема#
Логирование серверных сервисов ПУИД настраивается через файл logback.xml. Формат и доступные элементы конфигурации описаны в официальной документации Logback.
При развертывании на виртуальную машину logback.xml устанавливается в каталог настроек конкретного сервиса. Этот файл используется сервисом при запуске и является основной точкой настройки логирования.
При эксплуатации администратор редактирует установленный logback.xml конкретного компонента. После изменения файла перезапустите сервис, если в поставке не используется автоматическое перечитывание конфигурации.
Типовые операции администратора#
Изменение уровня логирования#
Для изменения уровня логирования необходимо:
Открыть
logback.xmlнужного сервиса из раздела Справочник путей к конфигурационным файлам.Найти logger или root logger, для которого нужно изменить уровень.
Установить уровень
INFO,DEBUG,TRACE,WARNилиERRORв зависимости от задачи диагностики.Сохранить файл.
Перезапустить сервис, если конфигурация не перечитывается автоматически.
Проверить появление записей нужного уровня в журнале сервиса.
Для повседневной эксплуатации используйте INFO. Уровни DEBUG и TRACE включайте временно, потому что они увеличивают объем журналов и могут раскрывать диагностические детали.
Включение JSON Lines-вывод#
Для включения JSON Lines-вывод необходимо:
Открыть
logback.xmlнужного сервиса.Найти JSONL-appender и его привязку к logger или root logger.
Если привязка отключена комментарием, раскомментировать ее.
Сохранить файл и перезапустите сервис.
Проверить появление файла
.jsonlв каталоге/var/log/<имя сервиса>.
JSON Lines-формат удобен для централизованного сбора и обработки логов, потому что каждая строка является отдельным JSON-событием.
Поиск журналов сервисов на VM#
Чтобы найти журналы сервисов на VM необходимо:
Определить имя сервиса.
Найти основной журнал в подразделе Справочник путей к конфигурационным файлам.
Для HTTP-компонентов дополнительно проверить access log, если он настроен.
Для диагностики запуска сервиса также проверить системный журнал ОС для unit-файла сервиса.
Что можно настраивать#
Основной файл журнала#
Каждый сервис пишет основной журнал приложения в файл с расширением .log. В записи обычно включаются время события, уровень, поток выполнения, имя логгера, сообщение и диагностические поля, например идентификатор запроса, имя компонента, хост, система и пользователь.
Ротация логов#
Для файловых журналов настроена ротация. В компонентах из справочника используются два основных подхода:
ротация по размеру с ограниченным числом архивных файлов;
ротация по дате и размеру с хранением архивов за заданный период.
Архивные файлы обычно сжимаются в .gz или .zip. Это ограничивает рост каталога логов, но не заменяет контроль свободного места на диске или настройки внешнего сборщика логов.
Access log#
В компонентах, которые принимают HTTP-трафик, может быть отдельный access log. Например, в API Gateway предусмотрен отдельный файл access_log.log, куда пишутся события HTTP-доступа. Такой журнал удобен для разбора входящих запросов отдельно от прикладных сообщений.
Формат .log и .jsonl#
Для ряда сервисов помимо обычного текстового .log подготовлен JSON Lines-вывод в файл .jsonl. Если такой appender есть в logback.xml, его можно включить для интеграции с системой централизованного сбора логов.
Интеграция с системным логгером ОС#
Сервисы также могут писать часть сообщений в стандартный вывод. При запуске через systemd эти сообщения могут попадать в системный журнал ОС или в инфраструктурный сборщик логов. Для такой интеграции необходимо проверить, что в logback.xml включен вывод в консоль, а unit-файл сервиса собирает stdout/stderr.
Справочник путей к конфигурационным файлам#
Компонент |
Файл настройки логирования при развертывании на виртуальную машину |
|---|---|
API Gateway WTL |
|
Audit Search API |
|
Audit Writer |
|
Certificate Service |
|
Federation WebAPI |
|
IAM Scheduler Service |
|
Identity Storage WTL |
|
Radius Server |
|
SSO Server WTL |
|
Sync Service WTL |
|
Token Storage |
|
WebAPI Customer WTL |
|
WebAPI Notifier WTL |
|
WebAPI OTP Settings |
|
Справочник путей логов по умолчанию#
При установке пакета на виртуальную машину создается символическая ссылка из каталога логов установленного сервиса в стандартный каталог /var/log/<имя сервиса>. Поэтому при эксплуатации журналы удобнее искать и передавать в системы сбора логов именно по пути /var/log.
Например, для API Gateway WTL файл основного журнала доступен по стандартному пути /var/log/roox-api-gateway-wtl/roox-api-gateway-wtl.log. Тот же файл может быть виден и через каталог установленного сервиса: /opt/roox-api-gateway-wtl/logs/roox-api-gateway-wtl.log, потому что каталог /opt/roox-api-gateway-wtl/logs является ссылкой на /var/log/roox-api-gateway-wtl.
Компонент |
Основной журнал |
Дополнительные журналы, если настроены |
|---|---|---|
API Gateway WTL |
|
|
Audit Search API |
|
|
Audit Writer |
|
|
Certificate Service |
|
|
Federation WebAPI |
|
|
IAM Scheduler Service |
|
|
Identity Storage WTL |
|
|
Radius Server |
|
|
SSO Server WTL |
|
|
Sync Service WTL |
|
|
Token Storage |
|
— |
WebAPI Customer WTL |
|
|
WebAPI Notifier WTL |
|
|
WebAPI OTP Settings |
|
|
Справочник параметров#
Параметры логирования задаются средствами Logback в файле logback.xml. У Logback нет единого набора ключей формата *.properties, поэтому в таблице ниже перечислены эксплуатационные элементы, которые администратор обычно изменяет в XML-конфигурации.
Параметр |
Значение по умолчанию |
Пример |
Описание |
|---|---|---|---|
|
|
|
Уровень корневого logger. Допустимые значения: |
|
наследуется от родительского logger |
|
Уровень конкретного logger. |
|
путь основного журнала сервиса |
|
Путь файла, в который сервис пишет основной журнал. Для VM-поставки используйте
путь в |
|
зависит от поставляемого |
|
Максимальный размер файла до ротации, если для appender используется ротация по размеру |
|
зависит от поставляемого |
|
Срок хранения архивных файлов при ротации по дате |
|
зависит от поставляемого |
|
Наличие вывода в stdout/stderr. При запуске через |
|
зависит от поставляемого |
|
Наличие привязки JSONL-appender к logger или root logger. Если привязка отключена комментарием, раскомментируйте ее для включения JSON Lines-вывода |
Проверка после изменения#
Для проверки после внесения изменений следует:
Проверить синтаксис измененного
logback.xmlпо структуре XML.Перезапустить измененный сервис, если конфигурация не перечитывается автоматически.
Проверить, что сервис успешно запустился.
Проверить основной журнал в
/var/log/<имя сервиса>/.Если включали JSONL-вывод, проверить появление и заполнение файла
.jsonl.Если меняли уровень логирования, проверить, что записи нужного уровня появились, а после завершения диагностики вернуть эксплуатационный уровень
INFO.