Установка

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

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

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

  • 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/v24.10/dist/docker-compose.yml

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

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

VERSION=vXX.XX.X
COMPOSE_FILE=docker-compose.yml:docker-compose.vpn.yml
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 внутри кластера.

Установить базы 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

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

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

Запустить Collector

Информация

Во время запуска Collector, используя Docker Compose v2, можно увидеть следующие предупреждения, их следует игнорировать.

WARN[0000] /srv/collector/docker-compose.yml: `version` is obsolete
...
docker-compose up -d

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