Настройка логирования Avanpost Directory Service

1. Уровни логирования Avanpost DS

В Avanpost DS доступно четыре уровня логирования: 

  • DEBUG — отладочная информация для разработчиков (запросы, переменные), позволяющая отслеживать поведение функций.
  • INFO — информация об общих событиях:
    • Запуск и остановка Avanpost DS и его составляющих (HTTP сервера, LDAP, KDC и т.д.);
    • Создание объектов (пользователя, группы, OU и т.д.);
    • Операции групповых политик (вывод перечня заданий, создание/удаление принтера/директории/файла, изменения прав на директорию/файл, добавление строк в файл и т.д.).
  • WARN — потенциальные проблемы, не нарушающие работу Avanpost DS. Примеры:
    • Недоступность Kerberos сервера, из-за которой был инициализирован поиск доступного КД;
    • Ошибка при добавлении принтера через групповые политики, а также незначительные ошибки в работе кода).
  • ERROR — критические ошибки, требующие вмешательства:
    • Ошибки запуска подсистем (HTTP сервера, LDAP, KDC и т.д.);
    • Ошибки при миграции;
    • Ошибки групповых политик;
    • Ошибки менеджера лицензий;
    • Ошибки при добавлении/удалении sudoers;
    • Ошибки при выполнении LDAP операций и т.д.

1.1. Настройка логирования

Конфигурационный файл Avanpost DS располагается на каждом контроллере домена в директории "/opt/avanpost/ads/config/config.yaml".

Для настройки логирования требуется добавить секцию "logging" в конфигурационный файл "config.yaml". (По умолчанию эта секция отсутствует в конфигурационном файле) Доступные для настройки параметры приведены в таблице:

ПараметрОписание
utcФлаг. При значении "true" будет использоваться время UTC. Значение по умолчанию "false".
levelСтрока. Уровень логирования, начиная с которого будут выводиться сообщения. Значение по умолчанию "INFO".
enabledФлаг. При значении "true" логирование включено. Значение по умолчанию "true".
subsystems

Секция настройки логирования подсистем.

По умолчанию в Avanpost DS используется общий глобальный логгер. При необходимости в секции "subsystems" доступна настройка подсистемных логгеров для различных подсистем.
Для каждой подсистемы можно добавить секцию настроек логирования в секции "subsystems" конфигурационного файла. Настраиваемые параметры для подсистем идентичны параметрам глобального логгера. С помощью подсистем возможно переопределить значения параметров глобального логгера.
Если какая-либо из подсистем не настроена или часть параметров не задана, то она их наследует от глобального логгера.

Список доступных подсистем:

  • grpc
  • hbac
  • http
  • ldap
  • dscli
  • dsctl
  • badger
  • syslog
  • license
  • kerberos
  • scheduler
  • pwdpolicy
  • partitions
  • migrations
  • migratetool
  • replication
  • dns_scavenger
  • grouppolicies
Пример config.yaml
logging:
  # Глобальный логгер
  utc: false     # по-умолчанию false
  level: "INFO"  # по-умолчанию INFO
  enabled: true  # по-умолчанию true

  # Подсистемные логгеры
  # Перечислять все подсистемы не обязательно.
  subsystems:
    grpc:
        utc: false    
	    level: "DEBUG"  
  		enabled: true  
    hbac:
      ...
    http:
      ...
    ldap:
      ...
    dscli:
      ...
    dsctl:
      ...
    badger:
      ...
    syslog:
      ...
    license:
      ...
    kerberos:
      ...
    scheduler:
      ...
    pwdpolicy:
      ...
    partitions:
      ...
    migrations:
      ...
    migratetool:
      ...
    replication:
      ...
    dns_scavenger:
      ...
    grouppolicies:
      ...


Обсуждение