Журналирование#
Настройка логирования в crx-mirror-maker-log4j.properties:
log4j.rootLogger=INFO, stdout, mirrorMakerAppender
# Апендеры для логирования взаимодействия с SecMan
log4j.logger.ru.sbrf.kafka.secman=DEBUG, mirrorMakerSecmanAppender
log4j.logger.ru.sbrf.vault.api=DEBUG, mirrorMakerSecmanAppender
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%d] %p %m (%c)%n
log4j.appender.mirrorMakerAppender=ru.sbrf.kafka.log4j.RollingAndCompressFileAppender
log4j.appender.mirrorMakerAppender.File=${kafka.logs.dir}/crx-mirror-maker.log
log4j.appender.mirrorMakerAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.mirrorMakerAppender.layout.ConversionPattern=[%d] %p %m (%c)%n
log4j.appender.mirrorMakerAppender.MaxBackupIndex=9
log4j.appender.mirrorMakerAppender.MaxFileSize=50MB
# Настройка апендера для взаимодействия с SecMan
log4j.appender.mirrorMakerSecmanAppender=ru.sbrf.kafka.log4j.RollingAndCompressFileAppender
log4j.appender.mirrorMakerSecmanAppender.File=${kafka.logs.dir}/crx-mirror-maker-secman.log
log4j.appender.mirrorMakerSecmanAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.mirrorMakerSecmanAppender.layout.ConversionPattern=[%d] %p %m (%c)%n
log4j.appender.mirrorMakerSecmanAppender.MaxFileSize=50MB
log4j.appender.mirrorMakerSecmanAppender.MaxBackupIndex=10
Уровни логирования:
INFO: Основные события репликации (рекомендуемый).DEBUG: Детализация для отладки. Данный уровень существенно увеличивает объем сообщений и не рекомендуется к использованию в промышленной инсталляции.ERROR: Критические сбои.
По умолчанию MM2 ведет журнал в ${kafka.logs.dir}/crx-mirror-maker.log и в ${kafka.logs.dir}/crx-mirror-maker-secman.log.
Параметры для апендера:
Параметр |
Назначение |
Тип значения |
Значение по умолчанию |
Шаблон значения |
Связанные параметры |
|---|---|---|---|---|---|
|
Имя Java-класса, отвечающего за запись логов в файл с ротацией файлов, например, |
|
Нет (необходимо явно указывать) |
— |
Все последующие параметры, начинающиеся с префикса |
|
Путь к файлу журнала, куда будут записываться события |
|
Нет (необходимо явно указывать) |
Могут использоваться переменные окружения, например, |
— |
|
Имя Java-класса, определяющего формат вывода записей в журнал, например, |
|
Нет (необходимо явно указывать) |
— |
Параметр |
|
Шаблон строки, определяющий структуру каждой записи в журнале |
|
— |
Форматированный шаблон, содержащий специальные символы, такие как:
|
Зависит от типа layout (в данном случае PatternLayout) |
|
Максимальное количество резервных копий старых файлов журнала после ротации |
Целое число |
|
— |
|
|
Максимальный размер одного файла журнала до начала процесса ротации |
|
|
|
|
Пример фильтрации логов для поиска проблем#
# Ошибки репликации
grep "ERROR" /opt/Apache/kafka/logs/crx-mirror-maker.log
# Предупреждения о задержках
grep "WARN.*latency" /opt/Apache/kafka/logs/crx-mirror-maker.log