Skip to content

Настройка журналирования Apache NiFi в Syslog и подсистему ЖУРНАЛЛИСТ

Apache NiFi использует logback для ведения журналов. Прямой отправки в syslog «из коробки» нет, поэтому интеграция с подсистемой ЖУРНАЛЛИСТ выполняется через:

  • отправку логов в syslog через logback (с использованием SyslogAppender), или
  • запись в файл с последующей передачей через системный syslog (rsyslog / syslog-ng)

Общая схема

NiFi:

  • генерирует логи (системные, процессоры, ошибки, потоки данных)
  • logback отправляет их в syslog или файл
  • syslog пересылает данные в ЖУРНАЛЛИСТ

Где настраивается логирование

Файл конфигурации:

bash
$NIFI_HOME/conf/logback.xml

Вариант 1. Прямая отправка в syslog (через logback)

Добавление SyslogAppender

xml
<appender name="SYSLOG" class="ch.qos.logback.classic.net.SyslogAppender">
    <syslogHost>localhost</syslogHost>
    <port>514</port>
    <facility>LOCAL0</facility>
    <suffixPattern>%date [%thread] %-5level %logger - %msg%n</suffixPattern>
</appender>

Подключение аппендера

xml
<root level="INFO">
    <appender-ref ref="SYSLOG"/>
</root>

Перезапуск NiFi

bash
$NIFI_HOME/bin/nifi.sh restart

Вариант 2. Через файл (рекомендуется для production)

Настройка logback

xml
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>/var/log/nifi/nifi.log</file>
</appender>

Настройка rsyslog (imfile)

bash
# /etc/rsyslog.d/nifi.conf

input(type="imfile"
      File="/var/log/nifi/nifi.log"
      Tag="nifi"
      Facility="local0")

Пересылка в ЖУРНАЛЛИСТ

bash
local0.* @@journalist-server:514

Перезапуск

bash
systemctl restart rsyslog

syslog-ng (альтернатива)

bash
source s_nifi {
    file("/var/log/nifi/nifi.log");
};

destination d_journalist {
    tcp("journalist-server" port(514));
};

log {
    source(s_nifi);
    destination(d_journalist);
};

Проверка

  1. Проверить локальные логи:
bash
tail -f /var/log/nifi/nifi.log
  1. Проверить события NiFi:
  • запуск/остановка
  • ошибки процессоров
  • изменения потоков
  1. Убедиться, что события появляются в ЖУРНАЛЛИСТ

Какие события попадают

  • запуск и остановка NiFi
  • ошибки процессоров
  • сбои потоков данных
  • проблемы подключения
  • события кластеризации
  • ошибки конфигурации

Рекомендации

  • использовать отдельный facility (local0–local7)
  • ограничивать уровень логирования (INFO/WARN)
  • использовать TCP для передачи
  • для production — использовать файловый вариант + rsyslog

Особенности NiFi

  • интенсивное логирование при активных потоках
  • большое количество технических сообщений
  • важно контролировать объем

Когда использовать syslog

Рекомендуется:

  • для централизованного мониторинга
  • при анализе потоков данных
  • для корреляции с другими системами

Краткий вывод

Apache NiFi интегрируется с подсистемой ЖУРНАЛЛИСТ через logback и системный syslog. Это позволяет включить события обработки данных в общую систему наблюдаемости, анализа и автоматизации.