Установка ПО DosGate на Альт 10 СП

1. Подготовка ОС

1.1 Отключение репозитория CD-ROM

apt-repo rm all

1.2 Подключение репозитория Servicepipe и официального репозитория Альт СП 10

curl -o "./setup-repo.sh" "https://public-repo.svcp.io/setup_script/setup-repo.sh" && \
    chmod +x "./setup-repo.sh" && \
    ./setup-repo.sh
vi /etc/apt/sources.list.d/altsp.list
# Нужно убрать комментарии для строк:
rpm [cert8] http://update.altsp.su/pub/distributions/ALTLinux c10f/branch/x86_64 classic gostcrypto
rpm [cert8] http://update.altsp.su/pub/distributions/ALTLinux c10f/branch/noarch classic

1.3 Установка пакетов, необходимых для работы ПО DosGate

apt-get install -y clang14.0 libjson-c5 libmaxminddb libnl3 libnuma libssl1.1 libyaml2 libsysfs libbpf=0.5.0-alt1 libbpf-devel=0.5.0-alt1

1.4 Установка clang14 используемым по-умолчанию

echo "/usr/bin/clang          /usr/bin/clang-14       100" > /etc/alternatives/packages.d/clang
alternatives-validate && alternatives-update
# Проверяем, что clang 14 версии
clang --version

2. Установка Dosgate

2.1 Установка пакетов Dosgate

apt-get install -y libdt1=1.2.2.1-alt1 libaevent1=0.2.0.1-alt1 dosgate=3.4.2.1-alt1

2.2 Настройка конфигурационных файлов

  • Досгейт имеет единый конфигурационный файл: /etc/dosgate.conf
  • Он вызывается при каждом запуске ПО и требует настройки
  • Его необходимо сконфигурировать до проверки однократного запуска
  • Подробнее о его настройке можно прочитать в п.4 инструкции https://docs.dosgate.com/dosgate_install/

2.3 Однократный запуск DoSGate

  • Используя команду: dosgate -o -l err
  • Требуется для проверки того, что dosgate запустился без каких-либо ошибок

2.4 Настройка модуля collectd

  • В dosgate.conf, согласно документации, требуется указать hostname, на который dosgate будет отправлять статистику (collectd hostname)
  • Рекомендованный плагин для связки с Graphite: write_graphite
  • Настройки модуля collectd осуществляются в рамках самого модуля collectd
  • Подробная настройка collectd и систем визуализации находится в п.3

2.5 Запуск DoSGate

Измените строку ExecStart=dosgate -f на ExecStart=dosgate -f -l crit

sed -i 's/dosgate -f/dosgate -f -l crit/' /lib/systemd/system/dosgate.service
# Примените изменения
systemctl daemon-reload

# Запустите dosgate
systemctl start dosgate

# Если требуется, активируйте автоматический запуск сервиса Досгейт после перезапуска ОС
systemctl enable dosgate

3. Настройка инструментов визуализации

3.1 Установка collectd

Установка пакета через APT для Ubuntu 22.04:

apt-get install -y collectd=5.12.0-alt1

3.2 Настройка collectd

Файл /etc/collectd.conf должен содержать только эту информацию:

FQDNLookup true
TypesDB "/usr/share/collectd/types.db"

LoadPlugin logfile
LoadPlugin syslog

<Plugin logfile>
        LogLevel "info"
        File STDOUT
        Timestamp true
        PrintSeverity false
</Plugin>

<Plugin syslog>
        LogLevel info
</Plugin>

<Include "/etc/collectd.d">
        Filter "*.conf"
</Include>

Создайте директорию /etc/collectd.d

mkdir /etc/collectd.d

Файл /etc/collectd.d/dosgate.conf должен содержать только эту информацию:

LoadPlugin write_graphite
<Plugin write_graphite>
        <Node "localhost"> 
                Host "127.0.0.1" ## Заменяется на адрес внешнего Graphite при необходимости
                Port "2003"
                Protocol "tcp"
        </Node>
</Plugin>

LoadPlugin unixsock
<Plugin unixsock>
        SocketFile "/var/run/collectd-unixsock"
        SocketPerms "0660"
        DeleteSocket false
</Plugin>

TypesDB "/etc/collectd.d/dosgate-types.db"

Файл /etc/collectd.d/dosgate-types.db должен содержать только эту информацию:

dgstats         packets:COUNTER:0:U     bytes:COUNTER:0:U

3.3 Запуск collectd

systemctl restart collectd
systemctl status collectd # Убедиться что всё запустилось
systemctl enable collectd

3.4 Добавление collectd в /etc/dosgate.conf

collectd:
  hostname: dosgate # Если вы устанавливаете DosGate в кластере, название должно быть уникально для платформы
  period: 10

3.5 Перезапуск dosgate, проверка записи метрик

systemctl restart dosgate
systemctl status dosgate
# В логе должно появиться сообщение "[dg_collectd_sender.c:70, GLOB] Collectd send success"

3.6 Установка Graphite

Установка стека Graphite не тестировалась на Альт СП 10, рекомендуемая установка - на отдельном сервере на базе Ubuntu

Пункт 5.2 инструкции по установке DosGate

4. Установка и настройка веб-интерфейса

Установка веб-интерфейса не тестировалась на Альт СП 10, рекомендуемая установка - на отдельном сервере на базе Ubuntu

Инструкция по установке веб-интерфейса