Обработка событий на нескольких коллекторах

Об обработке событий на нескольких коллекторах

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

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

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

Настройка конфигурации для обработки событий на основе нескольких коллекторов включает в себя следующие этапы:

1. Добавление источников

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

Если требуется получать данные на нескольких конвейерах в рамках одного коллектора, соедините их с помощью шины, как описано в статье Обработка событий на нескольких конвейерах. В отдельном конвейере соедините шину, настроенную на получение данных, с конечной точкой Vector.

1. Создание коллектора и конвейера

Чтобы создать коллектор:

  1. Перейдите в раздел Ресурсы → Коллекторы. Система отобразит сведения об имеющихся коллекторах, в том числе их текущий статус (включен/выключен).

  2. Нажмите на кнопку Создать (plus). Отобразится окно создания коллектора.

  3. Введите название коллектора.

  4. Укажите ресурсы, выделяемые для работы коллектора: количество ядер процессора в поле CPU и объем оперативной памяти в поле RAM. Значения можно вводить в полях или изменять с помощью кнопок plus и minus.

    • При наведении курсора на поля CPU и RAM отображаются подсказки с количеством доступных ресурсов в каждом узле кластера Kubernetes.

    • Ресурсы, выделенные на работу коллектора, не используются в распределенной корреляции.

    • Каждая точка входа типа Database, размещенная на конвейере коллектора, использует 256 МБ оперативной памяти (RAM) из ресурсов коллектора. Если планируется размещение точек входа типа Database, необходимо учитывать их суммарное потребление памяти при распределении ресурсов коллектора.

  5. При необходимости введите описание коллектора.

  6. При необходимости выберите уровень логирования из выпадающего списка Уровень логирования. Доступны следующие значения:

    • Error — записываются критические ошибки, которые могут влиять на работоспособность коллектора или препятствовать работе коллектора.

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

    • Info — записывается общая информация о работе и состоянии коллектора.

    • Debug — записываются подробные отладочные сообщения, которые могут использоваться для диагностики и устранения проблем с коллектором.

    • Trace — самый подробный уровень логирования, предоставляющий внутреннюю информацию о каждом шаге работы коллектора.

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

Чтобы добавить конвейер:

  1. Находясь в разделе Ресурсы → Коллекторы, нажмите на строку коллектора, созданного ранее. Система отобразит в правой части экрана карточку этого коллектора с подробной информацией о нем.

  2. Перейдите на вкладку Конвейеры в карточке коллектора. Система отобразит список конвейеров коллектора.

  3. В нижней части окна нажмите на кнопку Добавить. На экране отобразится окно добавления конвейера.

  4. Введите название конвейера.

  5. При необходимости введите описание конвейера.

    Установите флажок Открыть конфигурацию конвейера, чтобы сразу перейти в окно настроек конфигурации конвейера после его создания.
  6. Нажмите на кнопку Добавить. Система создаст конвейер и отобразит уведомление об успешном создании. Новый конвейер появится в списке на вкладке Конвейеры в карточке коллектора.

2. Добавление точки входа

Точка входа поставляет в систему поток сырых событий. Выбор формата точки входа зависит от формата данных, получаемых из источника события.

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

Чтобы добавить точку входа на конвейер:

  1. Нажмите на кнопку Добавить элемент и выберите из выпадающего списка пункт Точка входа. Отобразится окно добавления точки входа.

  2. При необходимости выберите шаблон для автоматического заполнения полей точки входа. По умолчанию выбран вариант Без шаблона.

  3. Заполните поля (набор и содержание полей могут отличаться в зависимости от типа точки):

    • Название точки входа.

    • Тип точки входа.

    • Политика аудита источников.

      Точка входа может быть привязана только к одной политике аудита источников, но к одной политике может быть привязано несколько точек входа.
    • Формат точки входа.

    • Данные для подключения.

    • Настройки шифрования соединения (опционально).

    • Количество событий (опционально).

    • Интервал в секундах (опционально).

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

  5. Нажмите Добавить. Новая точка входа отобразится на схеме.

Пример:

Добавим соединение с источником, который поставляет данные в формате системного журнала. Для этого выберем тип точки входа Syslog.

3. Настройка обработки данных

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

Чтобы настроить нормализацию данных:

  1. Перейдите в раздел Экспертиза и создайте правило нормализации.

    Если поток событий направляется по разным маршрутам, создайте несколько соответствующих правил нормализации.
  2. Добавьте на конвейер нормализаторы, используя ранее созданные правила нормализации. Необходимо добавить на конвейер по одному нормализатору на каждый маршрут.

  3. Соедините выходы маршрутизатора с входами нужных нормализаторов.

Пример:

Рассмотрим фрагмент правила нормализации.

Пример 1. Код VRL
...
.dvendor = "Linux"
.dproduct = "Some Product"
.dvchost = .raw.hostname
.msg = .raw.message
...
При необходимости добавьте на конвейер маршрутизаторы, агрегаторы и другие элементы для дополнительной обработки событий.

4. Добавление конечной точки Vector

Чтобы настроить отправку данных из конвейера:

  1. Добавьте на конвейер конечную точку, выбрав тип Внешняя система и тип внешней системы Vector.

  2. Соедините выходы из нормализатора, созданного на предыдущем шаге, и/или из дополнительных элементов, со входом конечной точки.

pipeline configuration multiple collectors source

2. Настройка корреляции событий

1. Создание коллектора и конвейера для корреляции

Чтобы создать коллектор:

  1. Перейдите в раздел Ресурсы → Коллекторы. Система отобразит сведения об имеющихся коллекторах, в том числе их текущий статус (включен/выключен).

  2. Нажмите на кнопку Создать (plus). Отобразится окно создания коллектора.

  3. Введите название коллектора.

  4. Укажите ресурсы, выделяемые для работы коллектора: количество ядер процессора в поле CPU и объем оперативной памяти в поле RAM. Значения можно вводить в полях или изменять с помощью кнопок plus и minus.

    • При наведении курсора на поля CPU и RAM отображаются подсказки с количеством доступных ресурсов в каждом узле кластера Kubernetes.

    • Ресурсы, выделенные на работу коллектора, не используются в распределенной корреляции.

    • Каждая точка входа типа Database, размещенная на конвейере коллектора, использует 256 МБ оперативной памяти (RAM) из ресурсов коллектора. Если планируется размещение точек входа типа Database, необходимо учитывать их суммарное потребление памяти при распределении ресурсов коллектора.

  5. При необходимости введите описание коллектора.

  6. Для работы в режиме распределенной корреляции переведите переключатель Распределенный коррелятор в активное положение.

    Изменение этой настройки потребует перезапуска коллектора.
    Если система работает на базе кластера Kubernetes с одним узлом, включение режима распределенной корреляции недоступно.
  7. Укажите количество ядер процессора (CPU) и объем оперативной памяти (RAM), выделяемый для работы распределенного коррелятора. Это можно сделать непосредственно в поле или с помощью кнопок plus и minus.

    Операции полей join и group декларативного правила вычисляются на корреляторе. Остальные поля, в том числе alias и filter, вычисляются на предпроцессорах. В составе распределенного коррелятора может быть только один коррелятор, но несколько предпроцессоров.
    1. Укажите ресурсы для коррелятора:

      1. Выберите узел для размещения коррелятора.

      2. Укажите количество ядер процессора и объем оперативной памяти, выделяемые для работы коррелятора. Количество доступных в узле ресурсов отображается под полями ввода.

    2. Укажите ресурсы для предпроцессора:

      1. Выберите узел для размещения предпроцессора.

      2. Укажите количество ядер процессора и объем оперативной памяти, выделяемые для работы предпроцессора. Количество доступных в узле ресурсов отображается под полями ввода.

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

  9. При необходимости выберите уровень логирования из выпадающего списка Уровень логирования. Доступны следующие значения:

    • Error — записываются критические ошибки, которые могут влиять на работоспособность коллектора или препятствовать работе коллектора.

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

    • Info — записывается общая информация о работе и состоянии коллектора.

    • Debug — записываются подробные отладочные сообщения, которые могут использоваться для диагностики и устранения проблем с коллектором.

    • Trace — самый подробный уровень логирования, предоставляющий внутреннюю информацию о каждом шаге работы коллектора.

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

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

2. Добавление точки входа Vector

Добавьте на конвейер точку входа, выбрав тип Vector.

3. Добавление коррелятора

Чтобы настроить корреляцию данных:

  1. Перейдите в раздел Экспертиза и создайте правило корреляции.

  2. Добавьте на конвейер коррелятор, используя ранее созданное правило корреляции.

  3. Соедините выход из точки входа Vector со входом коррелятора.

4. Настройка конечных точек и оповещений

Конечная точка, в зависимости от настроек, пересылает событие в хранилище событий или внешнюю систему.

Чтобы настроить отправку событий:

  1. Добавьте на конвейер одну или несколько конечных точек, в которых будут сохраняться события.

  2. Соедините выход коррелятора, созданного на предыдущем шаге, со входами конечных точек.

Сервис оповещений позволяет настраивать связи между правилами корреляции и правилами сегментации для распределения корреляционных событий по оповещениям.

  1. Нажмите на кнопку Добавить элемент и выберите из выпадающего списка пункт Сервис оповещений. Отобразится окно добавления сервиса оповещений.

  2. Введите название сервиса оповещений.

  3. Выберите из выпадающего списка хранилище с событиями, на основе которых будут формироваться оповещения.

  4. Выберите интеграции для отправки оповещений во внешние системы (опционально).

  5. Выберите правило сегментации по умолчанию, которое будет применяться ко всем несвязанным правилам корреляции (опционально).

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

  6. Настройте связи с правилами сегментации.

    1. Нажмите на кнопку Добавить связь. Откроется окно добавления связи.

    2. Выберите требуемое правило сегментации из выпадающего списка. В окне отобразится дерево всех правил корреляции в системе, которые еще не связаны с правилами сегментации в текущем сервисе оповещений.

    3. Выберите требуемые правила корреляции, установив флажки слева от их названий.

    4. Нажмите на кнопку Добавить. Добавленная связь с правилом сегментации отобразится в окне настройки сервиса оповещений.

  7. Нажмите на кнопку Добавить. Новый сервис оповещений отобразится на схеме.

  8. Соедините выход коррелятора, созданного на предыдущем шаге, со входом сервиса оповещений.

pipeline configuration multiple collectors correlator

3. Включение коллектора и установка конфигурации конвейеров

Чтобы события начали поступать в коллектор и обрабатываться в соответствии с заданными правилами, повторите для каждого коллектора следующие действия:

  1. Перейдите в карточку коллектора и включите его.

  2. Установите текущую конфигурацию на конвейере.