Skip to main content

Настройка Syslog-ng на Unix системах

Информация, приведенная на данной странице, является разработкой команды pre-sales и/или community KUMA и НЕ является официальной рекомендацией вендора.

Создание коллектора KUMA

Для началасоздания необходимоколлектора провритьв установленавеб-интерфейсе нужная служба Syslog-ng, посмотрим статус службы:KUMA:

systemctl
statusПерейдите syslog-ngв раздел Ресурсы и нажмите на кнопку Подключить источник. В появившемся окне мастера настройки Создание коллектора на первом шаге (Подключение источников) выберите Имя коллектора и Тенант, к которому будет принадлежать создаваемый коллектор.

image165.png

    На втором шаге мастера (Транспорт) укажите параметры коннектора для взаимодействия с подключаемым источником:
      Тип – tcp/udp. В данном примере tcp URL – FQDN:порт (порт, на котором коллектор будет ожидать входящие подключения. Выбирается любой из незанятых, выше 1024). В данном примере 5152. Auditd – включено

      В случаеполе отсутствияURL службыможно необходимоуказать установитьтолько следующиепорт пакеты:при инсталляции All-in-one.

       

      apt-get install syslog-ng

      image166.png

       

        На третьем шаге мастера укажите нормализатор. В данном случае рекомендуется использовать «коробочный» нормализатор для событий auditd Linux [OOTB] Linux auditd syslog for KUMA 3.2.

        image167.png

          Шаги мастера настройки с четвертого по шестой являются опциональными, их можно пропустить и вернуться к настройке позднее. На седьмом шаге мастера задайте точки назначения. Для хранения событий добавьте точку назначения типа Хранилище. В случае если службапредполагается нетакже запущена:анализ потока событий правилами корреляции добавьте точку назначения типа Коррелятор.

          image74.png

          image75.png

          image76.png

          image77.png

            На завершающем шаге мастера нажмите на кнопку Создать и сохранить сервис. После чего появится строка установки сервиса, которую необходимо скопировать для дальнейшей установки.

            image168.png

              Нажмите Сохранить. После выполнения вышеуказанных действий в разделе Ресурсы → Активные сервисы появится созданный сервис коллектора.

              image169.png

               

              Установка коллектора KUMA

              Чтобы установить коллектор KUMA:

                Выполните подключение к CLI сервера, на котором планируется развертывание коллектора KUMA. Для установки сервиса коллектора в командной строке выполните команду под учетной записью root, скопированную на прошлом шаге.

                image.png

                  При необходимости добавьте используемый порт сервиса коллектора в исключения МЭ ОС и обновите параметры службы.
                    Пример для firewalld
                    sudofirewall-cmd systemctl--add-port=<порт, startвыбранный syslog-ngдля sudoколлектора>/tcp|udp systemctl enable syslog-ng–permanent
                    firewall-cmd –reload
                        Пример для ufw
                        ufw allow <порт, выбранный для коллектора>/tcp|udp
                        ufw reload
                          После успешной установки сервиса его статус в веб-консоли KUMA изменится на ВКЛ с зеленой индикацией.

                          image171.png

                          Настройка источника событий

                          ВДля передачи событий c рабочей станции/сервера в коллектор KUMA будет использоваться сервис syslog-ng.

                            На рабочей станции/сервере Linux убедитесь, что сервис syslog-ng уже установлен в ОС:
                            systemctl status rsyslog.service

                            image.png

                              Если сервис syslog-ng не установлен на сервере, установите его, выполнив следующие команды (пример для Astra Linux и Ubuntu):
                              apt install syslog-ng
                              systemctl enable syslog-ng.service
                              systemctl start syslog-ng.service
                                Далее в папке /etc/syslog-ng/conf.d/ создайте файл конфигурации (например, 30-kuma-tcp.conf или 30-kuma-udp.conf) со следующим содержанием в зависимости от используемого протокола:
                                • Для отправки событий по протоколу TCP
                                # syslog-ng audit forwarding to KUMA (TCP)
                                # Version: 1
                                # Date: 26.01.2026
                                # Purpose: Forward auditd logs without parsing, loss-minimized
                                
                                source s_audit {
                                    file("/var/log/audit/audit.log"
                                	    flags(no-parse) # Читаем audit.log без парсинга (flags(no-parse)), чтобы "не ломать" формат auditd.
                                		follow-freq(1)
                                		tags("tag_audit_log")
                                		persist-name("kuma_audit_source")); # Необходим для сохранения состояния источника между рестартами syslog-ng.
                                };
                                
                                template t_audit_format {
                                    template("<134>${ISODATE} ${HOST} auditd ${MSG}\n"); # <PRI> задан вручную, т.к. при flags(no-parse) ${PRI} не извлекается из события. Тег auditd задан руками, иначе будет дефолтное 0d.
                                    template_escape(no);
                                };
                                
                                destination d_kuma {
                                    tcp("<IP-адрес/FQDN коллектора KUMA>" port(<Порт коллектора KUMA>)
                                	    template(t_audit_format)
                                	    disk-buffer(
                                		    mem-buf-size(10000) # Размер буфера в RAM, в количестве сообщений. Пока есть место — ничего не пишется на диск. Можно увеличить при большом потоке событий.
                                			disk-buf-size(1G) # Максимальный размер буфера на диске. Когда RAM-буфер будет заполнен, запись продолжится на диск. Можно увеличить при большом потоке событий.
                                			reliable(yes) # Для гарантированной доставки. События не теряются при рестаре syslog-ng, проблем с сетью, перезапуске коллектора.
                                		)
                                	);
                                };
                                
                                filter f_audit_kuma { 
                                    tags("tag_audit_log");
                                };
                                
                                log {
                                    source(s_audit);
                                    filter(f_audit_kuma);
                                    destination(d_kuma);
                                };
                                  • Для отправки событий по протоколу UDP
                                  # syslog-ng audit forwarding to KUMA (UDP)
                                  # Version: 1
                                  # Date: 26.01.2026
                                  # Purpose: Forward auditd logs without parsing, loss-minimized
                                  
                                  source s_audit {
                                      file("/var/log/audit/audit.log" 
                                  	    flags(no-parse) # Читаем audit.log без парсинга (flags(no-parse)), чтобы "не ломать" формат auditd.
                                  		follow-freq(1)
                                  		tags("tag_audit_log")
                                  		persist-name("kuma_audit_source")); # Необходим для сохранения состояния источника между рестартами syslog-ng.
                                  };
                                  
                                  template t_audit_format {
                                      template("<134>${ISODATE} ${HOST} auditd ${MSG}\n"); # <PRI> задан вручную, т.к. при flags(no-parse) ${PRI} не извлекается из события. Тег auditd задан руками, иначе будет дефолтное 0d.
                                      template_escape(no);
                                  };
                                  
                                  destination d_kuma {
                                      udp("<IP-адрес/FQDN коллектора KUMA>" port(<Порт коллектора KUMA>)
                                  	    template(t_audit_format)
                                  	    disk-buffer(
                                  		    mem-buf-length(10000) # Размер буфера в RAM, в количестве сообщений. Пока есть место — ничего не пишется на диск. Можно увеличить при большом потоке событий.
                                  			disk-buf-size(1G) # Максимальный размер буфера на диске. Когда RAM-буфер будет заполнен, запись продолжится на диск. Можно увеличить при большом потоке событий.
                                  		)
                                  	);
                                  };
                                  
                                  filter f_audit_kuma { 
                                      tags("tag_audit_log");
                                  };
                                  
                                  log {
                                      source(s_audit);
                                      filter(f_audit_kuma);
                                      destination(d_kuma);
                                  };

                                    Далее выполните проверку конфигурации syslog-ng:
                                    syslog-ng -s

                                      Если ошибки при проверке конфигурации отсутствуют перезапустите сервис syslog-ng, выполнив следующую команду:
                                      systemctl restart syslog-ng

                                      Рабочая станция/сервер Linux настроен. События передаются в коллектор KUMA.

                                      Проверка отправкипоступления сообщениясобытий Linux в KUMA

                                        Для проверкипроверки, получениячто сбор событий с устройств Linux успешно настроен перейдите в Ресурсы Активные сервисы → выберите ранее созданный коллектор для Linux и отправкинажмите сообщенияПерейти можнок воспользоватьсясобытиям. командой

                                        image173.png

                                          В открывшемся окне События убедитесь, что присутствуют события с тестовымустройств сообщением:Linux. 
                                          logger
                                          "testTest"

                                          Это сообщение должно появиться в системном журнале, например /var/log/messages:

                                          image.pngimage174.png


                                          Дополнительная информация

                                          Обычно в конфиграции /etc/syslog-ng/syslog-ng.conf в s_src содержится 2 типа журналов 

                                          source s_src {
                                                 system(); # системный журнал
                                                 internal(); # внутренние сообщения журнала syslog-ng
                                          };

                                          Для задания шаблона сообщения можно использовать следующее:

                                          template LogglyFormat { template("<${PRI}>1 ${ISODATE} ${HOST} ${PROGRAM} ${PID} ${MSGID} [TOKEN@41058 tag=\"TAG\" ] $MSG\n");  
                                            template_escape(no);
                                          };
                                          destination d_loggly {
                                            tcp("logs-01.loggly.com" port(514) template(LogglyFormat));
                                          };