Установка

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

Процессор с поддержкой 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 Compose v1. Работоспособность Collector с Docker Compose v2 не гарантируется.

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

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

mkdir /srv/collector && cd /srv/collector
wget https://docs.mitigator.ru/collector/v23.12/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.

Авторизоваться на 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

Запустить Collector

docker-compose up -d