Kaspersky Unified Monitoring and Analysis Platform

Обеспечение бесперебойной работы коллекторов

Бесперебойное поступление событий от источника событий в KUMA является важным условием защиты сетевой инфраструктуры. Бесперебойность можно обеспечить автоматическим перенаправлением потока событий на большее число коллекторов:

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

При такой конфигурации коллекторов поступающие события не будут теряться, когда сервер коллектора по какой-либо причине недоступен.

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

Если коллектор KUMA не удается запустить, а в его журнале выявлена ошибка "panic: runtime error: slice bounds out of range [8:0]":

  1. Остановите коллектор.

    sudo systemctl stop kuma-collector-<идентификатор коллектора>

  2. Удалите файлы с кешем DNS-обогащения.

    sudo rm -rf /opt/kaspersky/kuma/collector/<идентификатор коллектора>/cache/enrichment/DNS-*

  3. Удалите файлы с кешем событий (дисковый буфер). Выполняйте команду, только если можно пожертвовать событиями, находящимися в дисковых буферах коллектора.

    sudo rm -rf /opt/kaspersky/kuma/collector/<идентификатор коллектора>/buffers/*

  4. Запустите сервис коллектора.

    sudo systemctl start kuma-collector-<идентификатор коллектора>

В этом разделе

Управление потоком событий с помощью rsyslog

Управление потоком событий с помощью nginx

В начало
[Topic 238522]

Управление потоком событий с помощью rsyslog

Чтобы включить управление потоками событий на сервере источника событий с помощью rsyslog:

  1. Создайте два или более одинаковых коллекторов, с помощью которых вы хотите обеспечить бесперебойный прием событий.
  2. Установите на сервере источника событий rsyslog (см. документацию rsyslog).
  3. Добавьте в конфигурационный файл /etc/rsyslog.conf правила перенаправления потока событий между коллекторами:

    *.* @@<FQDN основного сервера коллектора>:<порт, на который коллектор принимает события>

    $ActionExecOnlyWhenPreviousIsSuspended on

    & @@<FQDN резервного сервера коллектора>:<порт, на который коллектор принимает события>

    $ActionExecOnlyWhenPreviousIsSuspended off

    Пример конфигурационного файла

    Пример конфигурационного файла, где указан один основной коллектор и два резервных. Коллекторы настроены на принятие событий на порт TCP 5140.

    *.* @@kuma-collector-01.example.com:5140

    $ActionExecOnlyWhenPreviousIsSuspended on

    & @@kuma-collector-02.example.com:5140

    & @@kuma-collector-03.example.com:5140

    $ActionExecOnlyWhenPreviousIsSuspended off

  4. Перезапустите rsyslog, выполнив команду:

    systemctl restart rsyslog.

Управление потоками событий на сервере источника событий включено.

В начало
[Topic 238527]

Управление потоком событий с помощью nginx

Для управления потоком событий средствами nginx необходимо создать и настроить nginx-сервер, который будет принимать события от источника событий, а затем перенаправлять их на коллекторы.

Чтобы включить управление потоками событий на сервере источника событий с помощью nginx:

  1. Создайте два или более одинаковых коллекторов, с помощью которых вы хотите обеспечить бесперебойный прием событий.
  2. Установите nginx на сервере, предназначенном для управления потоком событий.
    • Команда для установки в Oracle Linux 8.6:

      $sudo dnf install nginx

    • Команда для установки в Ubuntu 20.4:

      $sudo apt-get install nginx

      При установке из sources, необходимо собрать с параметром -with-stream:
      $sudo ./configure -with-stream -without-http_rewrite_module -without-http_gzip_module

  3. На nginx-сервере в конфигурационный файл nginx.conf добавьте модуль stream с правилами перенаправления потока событий между коллекторами.

    Пример модуля stream

    Пример модуля, в котором поток событий распределяется между коллекторами kuma-collector-01.example.com и kuma-collector-02.example.com, которые принимают события по протоколу TCP на порт 5140 и по протоколу UDP на порт 5141. Для балансировки используется ngnix-сервер nginx.example.com.

    stream {

     upstream syslog_tcp {

    server kuma-collector-1.example.com:5140;

    server kuma-collector-2.example.com:5140;

    }

    upstream syslog_udp {

    server kuma-collector-1.example.com:5141;

    server kuma-collector-2.example.com:5141;

    }

     server {

    listen nginx.example.com:5140;

    proxy_pass syslog_tcp;

    }

    server {

    listen nginx.example.com:5141 udp;

    proxy_pass syslog_udp;

    proxy_responses 0;

    }

    }

     worker_rlimit_nofile 1000000;

    events {

    worker_connections 20000;

    }

    # worker_rlimit_nofile – ограничение на максимальное число открытых файлов (RLIMIT_NOFILE) для рабочих процессов. Используется для увеличения ограничения без перезапуска главного процесса.

    # worker_connections – максимальное число соединений, которые одновременно может открыть рабочий процесс.

    При большом количестве активных сервисов и пользователей может понадобиться увеличить лимит открытых файлов в параметрах nginx.conf. Например:

    worker_rlimit_nofile 1000000;

    events {

    worker_connections 20000;

    }

    # worker_rlimit_nofile – ограничение на максимальное число открытых файлов (RLIMIT_NOFILE) для рабочих процессов. Используется для увеличения ограничения без перезапуска главного процесса.

    # worker_connections – максимальное число соединений, которые одновременно может открыть рабочий процесс.

  4. Перезапустите nginx, выполнив команду:

    systemctl restart nginx

  5. На сервере источника событий перенаправьте события на nginx-сервер.

Управление потоками событий на сервере источника событий включено.

Для тонкой настройки балансировки может потребоваться nginx Plus, однако некоторые методы балансировки, например Round Robin и Least Connections, доступны в базовой версии ngnix.

Подробнее о настройке nginx см. в документации nginx.

В начало
[Topic 238530]