Настройка syslog-сервера для отправки событий Apache Tomcat

Для передачи событий от сервера в коллектор KUMA используется сервис rsyslog.

Чтобы настроить передачу событий от сервера, на котором установлена система Apache Tomcat, в коллектор:

  1. Проверьте, что на сервере источнике событий установлен сервис rsyslog. Для этого выполните следующую команду:

    systemctl status rsyslog.service

    Если сервис запущен, то отобразится уведомление следующего вида:

    Active: active (running) since Tue 2025-09-23 15:31:30 MSK; 1 week 0 days ago

    Если сервис rsyslog не установлен на сервере, установите его, выполнив следующие команды:

    sudo apt install rsyslog

    sudo systemctl enable rsyslog.service

    sudo systemctl start rsyslog.service

  2. Проверьте синтаксис в конфигурационном файле с помощью следующей команды:

    rsyslogd -N1

    Возможные сообщения при проверке конфигурационного файла

  3. Откройте конфигурационный файл rsyslog.conf, выполнив следующую команду:

    sudo vi /etc/rsyslog.conf

  4. Проверьте, что в файле указана строка, разрешающая загрузку конфигураций из директории /etc/rsyslog.d, выполнив следующие команды

    # Include all config files in /etc/rsyslog.d/

    include(file="/etc/rsyslog.d/*.conf" mode="optional")

  5. Создайте конфигурационный файл apache_tomcat_to_siem.conf в директории /etc/rsyslog.d/ с помощью следующей команды:

    sudo touch /etc/rsyslog.d/apache_tomcat_to_siem.conf

  6. Откройте созданный конфигурационный файл apache_tomcat_to_siem.conf с помощью следующей команды:

    sudo vi /etc/rsyslog.d/apache_tomcat_to_siem.conf

  7. Выполните следующую команду, чтобы узнать абсолютный путь к директории Apache Tomcat:

    printenv CATALINA_HOME

    Абсолютный путь нужен для того, чтобы указать его в конфигурационном файле, так как сервис rsyslog не поддерживает использование переменных окружения.

  8. Добавьте в конфигурационный файл правила для чтения Access Log и пересылки данных на коллектор KUMA:

    input(

    type="imfile"

    File="<абсолютный_путь_из_пункта 7>/logs/access_log*.txt"

    Tag="apachetomcat"

    )

    if $programname == "apachetomcat" then {

    action(

    type="omfwd"

    target="<FQDN_или_IP-адрес_коллектора_KUMA"

    port="<порт_коллектора_KUMA"

    protocol="udp_или_tcp"

    )

    }

  9. Проверьте синтаксис в конфигурационном файле на наличие ошибок с помощью команды sudo rsyslogd -N1, как описано в пункте 2.
  10. Перезагрузите сервис rsyslog с помощью команды:

    sudo systemctl restart rsyslog

  11. Проверьте, что сервис rsyslog запущен и работает правильно, выполнив следующую команду:

    sudo systemctl status rsyslog

В начало