Системный журнал#
Для логирования Corax использует Apache Log4j.
Настройка системного журнала#
Уровни логирования и другие параметры логирования настраиваются в файлах:
config/log4j.properties— конфигурационный файл для брокера Kafka;config/connect-log4j.properties— конфигурационный файл для Kafka Connect;config/kafka-ui-log4j.properties— конфигурационный файл для графической утилиты Corax UI;config/tools-log4j.properties— конфигурационный файл для cmd line tools;config/zookeeper-log4j.properties— конфигурационный файл для ZooKeeper;config/schemaregistry/schema-registry-log4j.properties— конфигурационный файл для Schema Registry.
Для конфигурирования используйте синтаксис, описанный на официальном сайте Apache Log4j.
Настройка log4j.additivity.<логгер> определяет в какой лог-файл будут писаться сообщения:
false— логирование производится только в файлы, заданные в аппендере;true— (поведение по умолчанию) сообщения будут писаться как в собственный лог-файл (если задан), так и в логгер более высокого уровня (включая корневой).
В Corax имеется возможность изменить алгоритм определения значения log4j.additivity.<логгер>, если он не задан — с помощью параметра запуска -Dlog4j.configuratorClass=org.apache.log4j.CoraxPropertyConfigurator. При запуске компонента системы с данным параметром значение log4j.additivity.<логгер> определяется по алгоритму:
false— если для данного логгера задан один или более аппендер (предполагается, что логирование будет производиться в файлы, заданные в аппендере);true— если для данного логгера аппендеры не заданы.
Доступ к системному журналу#
По умолчанию записи ведутся в лог-файл брокера server.log. Дополнительные лог-файлы:
Логи авторизации:
kafka-authorizer.log— используется для базовой (Kafka) авторизации (authorizer.class.name=kafka.security.authorizer.AclAuthorizerилиauthorizer.class.name=org.apache.kafka.metadata.authorizer.StandardAuthorizer).Логи для Corax авторизации по ACL (
authorizer.class.name=ru.sbrf.kafka.authorizer.CoraxAclAuthorizer):corax-algorithm-allowed.log— записи об успешной авторизации.corax-algorithm-denied.log— записи о не успешной авторизации, включая первую проверку перед применением fallback-механизма, исключая проверки по строгому алгоритму для последовательного алгоритма авторизации и мягкому алгоритму с проверкой строгого.corax-algorithm-sequential-strict-denied.log— записи о не успешной авторизации по строгому алгоритму только для последовательного алгоритма авторизации.corax-algorithm-soft-with-strict-denied.log— записи о не успешной авторизации по строгому алгоритму только для мягкого алгоритма с проверкой строгого.corax-fallback-allowed.log— записи об успешной авторизации по fallback-механизму.kafka-authorizer.log— только при срабатывании fallback-механизма, записи о не успешной авторизации.
В
kafka-authorizer.logможет присутствовать сообщение с уровнем TRACE при условии: сработал fallback-механизм, авторизация успешна, задан уровень логирования TRACE. Вcorax-fallback-allowed.logпоявится запись с уровнем DEBUG.
Основные события#
Примеры записей из лог-файла брокера server.log:
Уровень события |
Запись |
Описание |
|---|---|---|
|
|
Критическая ошибка при запуске сервера Kafka: отсутствие подключения брокера к ZooKeeper по истечении тайм-аута |
|
|
От лидера получен неизвестный ID топика |
|
|
Регистрация и запуск брокера Kafka |
|
|
Идентификатор члена consumer-группы не найден во время проверки heartbeat («сердцебиения») |
|
|
Сообщение о начале проверки необходимости запуска автоматической балансировки лидеров |
Внимание
Включение уровней логирования TRACE и DEBUG не рекомендуется в промышленном использовании.