Установка с использованием Docker

Фильтрующий узел может быть установлен в виде Docker-контейнера. Контейнер является «толстым» и содержит все подсистемы фильтрующего узла.

Функциональность фильтрующего узла, установленного в виде Docker-контейнера, полностью идентична функциональности других вариантов установки.

Для установки фильтрующего узла в виде Docker-контейнера вам потребуется выполнить следующие действия:

  1. Развернуть фильтрующий узел.
  2. Подключить фильтрующий узел к облаку Wallarm.
  3. Настроить модуль NGINX-Wallarm.
  4. Настроить ротацию логов.
  5. Настроить мониторинг.

1. Разверните фильтрующий узел

Выполните команду:

docker run -d -e DEPLOY_USER="deploy@example.com" -e DEPLOY_PASSWORD="very_secret" -e NGINX_BACKEND=example.com -e TARANTOOL_MEMORY_GB=memvalue -p 80:80 wallarm/node

Где:

  • example.com — защищаемый ресурс.
  • deploy@example.com — логин для доступа к https://my.wallarm.com.
  • very_secret — пароль для доступа к https://my.wallarm.com.
  • memvalue – размер выделяемой памяти для Tarantool.

В результате выполнения команды:

  • на порте 80 будет доступен защищаемый ресурс.
  • в облаке https://my.wallarm.com будет зарегистрирован новый фильтрующий узел; он будет отображаться в соответствующем разделе настроек веб-интерфейса.

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

2. Подключите фильтрующий узел к облаку Wallarm

Фильтрующий узел взаимодействует с облаком, находящемся на удаленном сервере.

Варианты подключения фильтрующего узла к облаку:

  • Автоматическая регистрация.
  • Использование заранее известных реквизитов.
  • Использование готового конфигурационного файла.

Автоматическая регистрация

Передайте переменные окружения DEPLOY_USER, DEPLOY_PASSWORD c реквизитами доступа к https://my.wallarm.com.

В результате при первом запуске контейнер автоматически зарегистрируется в облаке.

Если контейнер с таким именем уже существует, команда завершится с ошибкой.

Чтобы избежать этого, используйте переменную окружения DEPLOY_FORCE=true.

docker run -d -e DEPLOY_USER="deploy@example.com" -e DEPLOY_PASSWORD="very_secret" -e NGINX_BACKEND=[ IP address ] wallarm/node

Использование заранее известных реквизитов

Для доступа к облаку фильтрующий узел использует uuid и secret, которые можно передать в переменных окружения NODE_UUID и NODE_SECRET.

docker run -d -e "NODE_UUID=00000000-0000-0000-0000-000000000000" -e NODE_SECRET="0000000000000000000000000000000000000000000000000000000000000000" -e NGINX_BACKEND=93.184.216.34 wallarm/node

Использование готового конфигурационного файла

Если у вас уже есть готовый конфигурационный файл node.yaml, передайте его внутрь контейнера при помощи «внешнего тома»:

docker run -d -v /path/to/node.yaml:/etc/wallarm/node.yaml -e NGINX_BACKEND=93.184.216.34 wallarm/node

3. Настройте модуль NGINX-Wallarm

Настройка фильтрующего узла осуществляется через конфигурационный файл NGINX.

Контейнер позволяет использовать упрощенный режим настройки через переменные окружения, который включается при передаче переменой окружения NGINX_BACKEND.

Упрощенный режим

  • NGINX_BACKEND — адрес бэкенда, на который необходимо передавать все входящие запросы. Если адрес не содержит префикса http:// или https://, то по умолчанию будет использован http://. Подробнее в документации на proxy_pass.

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

    Без прописанной переменной NGINX_BACKEND Wallarm не будет включен автоматически. Для включения вам необходимо прописать wallarm_mode monitoring. Подробнее в описании параметра wallarm_mode в Тонкая настройка конфигурации Wallarm.

  • WALLARM_MODE: режим работы модуля NGINX-Wallarm. Подробнее в описании параметра wallarm_mode в Тонкая настройка конфигурации Wallarm.

Конфигурационные файлы

Директории, используемые NGINX:

  • /etc/nginx-wallarm/conf.d — общие настройки.
  • /etc/nginx-wallarm/sites-enabled — настройки виртуальных хостов.
  • /var/www/html — статические файлы.

4. Настройте ротацию логов

Логирование по умолчанию включено.

Логи пишутся в следующие директории:

  • /var/log/nginx-wallarm/ — логи NGINX.
  • /var/log/wallarm/ — логи подсистем Wallarm.

По умолчанию логи ротируются раз в сутки. Изменение параметров ротации через переменные окружения не предусмотрено. Настройка ротации происходит через конфигурационные файлы в /etc/logrotate.d/.

5. Настройте мониторинг

Внутри контейнера установлены Nagios-совместимые скрипты для мониторинга фильтрующего узла. Подробнее в разделе Настройка мониторинга фильтрующего узла.

Пример вызова скриптов:

docker exec -it wallarm-node /usr/lib/nagios-plugins/check_wallarm_tarantool_timeframe -w 1800 -c 900
docker exec -it wallarm-node /usr/lib/nagios-plugins/check_wallarm_export_delay -w 120 -c 300

Установка завершена

На этом установка завершена.

Проверьте, что фильтрующий узел работает и пропускает через себя трафик. Подробнее в Проверка работоспособности фильтрующего узла.

results matching ""

    No results matching ""