Установка

Системные требования

Процессор с поддержкой hugepages и SSE 4.2 (не менее четырех ядер). Не менее 16 ГБ оперативной памяти. От 1TБ свободного места на диске.

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

Оценка единичной записиFPSОбъем
Консервативная (44B/запись)10Kfps1TB = 28 дней, 1.1TB/мес
50Kfps1TB = 5.5 дней, 5.5TB/мес
100Kfps1TB = 2.8 дня, 11TB/мес
Усредненные клиентские (21B/запись)10Kfps1TB = 47 дней, 0.65TB/мес
50Kfps1TB = 9 дней, 2TB/мес
100Kfps1TB = 4.7 дней, 6.5TB/мес

Объем жесткого диска необходимо рассчитать с запасом. Оценить занимаемое место в ClickHouse можно по ссылке.

При выгрузке или бекапировании данных из базы объем полученных данных будет в 10-20 раз больше, чем занимаемый теми же данными в базе.

Рекомендуемые дистрибутивы:

  • Debian 10+
  • Ubuntu LTS

Процедура установки

Collector распространяется в виде образов Docker, хранящихся на нашем сервере. Чтобы получить к ним доступ, свяжитесь с нами

Необходим доступ от целевой машины к репозиториям дистрибутива.

Команды выполнять от root.

Настроить hugepages

Для работы Collector необходимы настроенные hugepages (большие страницы памяти).

Пример выделения 512 страниц по 2 МБ:

sysctl -w vm.nr_hugepages=512

Пример настройки выделения при загрузке системы:

echo 'vm.nr_hugepages = 512' > /etc/sysctl.d/hugepages.conf

Настроить синхронизацию времени через один NTP-сервер с MITIGATOR

Для корректного взаимодействия Collector и MITIGATOR время на серверах должно быть синхронизировано. При рассинхронизации будут возникать ошибки вида:

TsUntil should be in range [1, 1698650171], actual value: 1698650278

Установить Docker и Docker Compose

Установить Docker из репозиториев дистрибутива:

apt install -y docker.io
apt-get install -y docker-engine
dnf install -y docker-ce
Внимание

После установки необходимо запустить службу Docker и настроить её автозапуск:

systemctl enable --now docker
curl -L "https://github.com/docker/compose/releases/download/v2.28.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/bin/docker-compose \
&& chmod +x /usr/bin/docker-compose

Официальная документация по установке Docker и Docker Compose:

Создать рабочую директорию и скачать docker-compose.yml

mkdir /srv/collector && cd /srv/collector
wget https://docs.mitigator.ru/collector/v26.04/dist/docker-compose.yml

Настроить окружение

Создать файл .env в /srv/collector следующего содержания:

VERSION=vXX.XX.X
COLLECTOR_HOST_ADDRESS=X.X.X.X
COLLECTOR_VPN_ADDRESS=X.X.X.X

Задать версию Collector в переменной VERSION.

Задать IP-адрес хоста в переменной COLLECTOR_HOST_ADDRESS.

Сконфигурировать Collector согласно разделу Настройка.

Авторизоваться на docker.mitigator.ru

docker login docker.mitigator.ru

Настроить взаимодействие с MITIGATOR по VPN

Чтобы Collector мог взаимодействовать с MITIGATOR, нужно настроить VPN, также как для всех экземпляров MITIGATOR внутри кластера.

Обеспечить связность с сервером лицензирования

Для взаимодействия с сервером лицензирования системе требуется наличие постоянной связности с ls.mitigator.ru по протоколу TCP на порту 443. Разрыв связности с сервером лицензирования через некоторое время переведет Collector в режим сброса всего входящего flow.

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

Запустить Collector

docker-compose up -d

Через месяц бесперебойной работы необходимо настроить по инструкции уменьшения объема хранимых данных.

Подключить Collector к MITIGATOR

Взаимодействие Collector и MITIGATOR настраивается через web-интерфейс MITIGATOR.

  1. Задайте название Collector и параметры подключения (IP-адрес внутри VPN и порт).
  2. Активируйте взаимодействие c Collector переключателем «Включить коллектор».
  3. Убедитесь, что подсистемы Collector работают и доступны, на вкладке «Состояние».
  4. Задайте значение лицензионной полосы на вкладке «Лицензия».
  5. Задайте параметры источников flow на вкладке «Источники Flow».

Опционально можно настроить пересылку на другие коллекторы и исключение из обработки flow для отдельных политик.

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


Опционально

Настройка BGP

Настройка BGP выполняется по инструкции.

Установка баз GeoIP

При загрузке баз GeoIP в MITIGATOR, они автоматически будут загружены на все подключенные и доступные Collector.

В сценарии использования Collector без взаимодействия с MITIGATOR для получения информации о принадлежности префикса стране или автономной системе, например при работе c Grafana, базы GeoIP должны быть установлены вручную.

Collector использует GeoLite2 базы в формате CSV. Разместите файлы баз Country и ASN в директории /srv/collector/geolite2:

Обработайте файлы командой:

find geolite2 -name '*.csv' -exec sed -e "s|,\('[^,]\+\)|,\"\1\"|g" -i {} \;
Информация

Если установка баз GeoIP производится после запуска Collector, то предварительно нужно удалить каталог geolite2 со всем содержимым, а после размещения файлов перезапустить ClickHouse командой:
docker-compose rm -sf clickhouse && docker-compose up -d clickhouse