Обновление NGINX-модулей Вебмониторэкс¶
Инструкция описывает способ обновления NGINX‑модулей Вебмониторэкс версии 4.x до версии 5.0. Используйте этот способ, если нода установлена по следующим инструкциям:
Требования¶
-
Доступ к аккаунту с ролью Администратор в Консоли управления Вебмониторэкс
-
Доступ виртуальной машины к Вебмониторэкс API по адресу
api.webmonitorx.ru. Убедитесь, что доступ не ограничен файерволом -
Доступ к репозиториям Вебмониторэкс
https://wmx-public.gitlab.yandexcloud.net:5050
Порядок обновления¶
-
Если модули WAF‑ноды и постаналитики установлены на одном сервере, выполните шаги ниже.
-
Если модули WAF‑ноды и постаналитики установлены на разные серверы, сначала обновите модуль постаналитики, затем выполните шаги ниже для модуля WAF‑ноды.
Шаг 1: Обновите NGINX до последней стабильной версии¶
Обновите NGINX до последней стабильной версии, используя подходящую инструкцию:
DEB-дистрибутивы:
sudo apt update
sudo apt install nginx
RPM-дистрибутивы:
sudo yum update
sudo yum install nginx
Если NGINX установлен из репозитория ОС, пропустите этот шаг. Версия NGINX будет обновлена позже вместе с модулями Вебмониторэкс.
Если в вашей инфраструктуре необходимо использовать другую версию NGINX, пожалуйста, напишите в техническую поддержку Вебмониторэкс для сборки модуля WAF для кастомной версии NGINX.
Шаг 2: Подключите новый репозиторий Вебмониторэкс WAF¶
Отключите предыдущий репозиторий Вебмониторэкс WAF и подключите новый, используя команды для подходящей платформы.
AlmaLinux, Rocky Linux или Oracle Linux 8.x
sudo yum remove -y webmonitorx-node-repo
sudo yum clean all
sudo tee /etc/yum.repos.d/webmonitorx-node.repo <<EOF
[webmonitorx-node_5.0]
name=Webmonitorx Node - 5.0
baseurl=https://repo.webmonitorx.ru/centos/webmonitorx-node/8/5.0/\$basearch
enabled=1
gpgcheck=0
repo_gpgcheck=1
gpgkey=https://repo.webmonitorx.ru/wmx.gpg
EOF
Debian и Ubuntu
-
Удалите устаревший файл репозитория 4.x:
sudo rm -f /etc/apt/sources.list.d/wallarm.list -
Импортируйте новый GPG-ключ безопасности:
curl -fsSL https://repo.webmonitorx.ru/wmx.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/wmx-archive-keyring.gpg > /dev/null -
Подключите новый репозиторий версии 5.0:
echo "deb [signed-by=/usr/share/keyrings/wmx-archive-keyring.gpg] https://repo.webmonitorx.ru/debian/webmonitorx-node bullseye/5.0/" | sudo tee /etc/apt/sources.list.d/wmx.listecho "deb [signed-by=/usr/share/keyrings/wmx-archive-keyring.gpg] https://repo.webmonitorx.ru/ubuntu/webmonitorx-node bionic/5.0/" | sudo tee /etc/apt/sources.list.d/wmx.listecho "deb [signed-by=/usr/share/keyrings/wmx-archive-keyring.gpg] https://repo.webmonitorx.ru/ubuntu/webmonitorx-node focal/5.0/" | sudo tee /etc/apt/sources.list.d/wmx.listecho "deb [signed-by=/usr/share/keyrings/wmx-archive-keyring.gpg] https://repo.webmonitorx.ru/ubuntu/webmonitorx-node jammy/5.0/" | sudo tee /etc/apt/sources.list.d/wmx.list
Шаг 3: Остановите старые службы Вебмониторэкс¶
Перед переходом на новую архитектуру остановите все работающие службы версии 4.x. Это предотвратит конфликты блокировки баз данных и файлов.
sudo systemctl stop wallarm wallarm-tarantool wallarm-appstructure collectd wallarm-collectd
Удалите старые системные задачи планировщика (в 5.0 их заменил единый процесс
supervisord) и сбросьте конфигурацию демона: sudo rm -f /etc/cron.d/wallarm*
sudo systemctl reload cron
sudo pkill -f "wallarm-common" || true
sudo pkill -f "syncnode|sync-ip-lists" || true
sudo systemctl reload crond
sudo pkill -f "wallarm-common" || true
sudo pkill -f "syncnode|sync-ip-lists" || true
Шаг 4: Обновите пакеты Вебмониторэкс WAF¶
Имена пакетов в версии 5.0 изменились. Выполните явную установку новых пакетов wnode и модуля NGINX. Пакетный менеджер автоматически заменит ими старые компоненты.
sudo apt update
sudo apt install nginx wnode nginx-module-wnode
sudo apt autoremove -y --purge
sudo apt update
sudo apt install wnode libnginx-mod-http-wnode
sudo apt autoremove -y --purge
sudo yum makecache
sudo yum install nginx wnode nginx-module-wnode
sudo yum autoremove -y
sudo yum makecache
sudo yum install wnode nginx-mod-http-wnode
sudo yum autoremove -y
Очистите устаревшие конфигурации загрузки модулей во избежание конфликтов NGINX:
sudo rm -f /usr/share/nginx/modules/mod-http-wallarm.conf
sudo rm -f /etc/nginx/modules-available/mod-http-wallarm.conf
sudo rm -f /etc/nginx/modules-enabled/50-mod-http-wallarm.conf
Шаг 5: Обновите конфигурацию загрузки модуля NGINX (кроме NGINX из ОС)¶
NGINX из репозитория ОС (distro-nginx)
Пропустите этот шаг для NGINX из репозитория ОС. Если вы используете NGINX из стандартного дистрибутива операционной системы, новый модуль подключится автоматически.
Для NGINX stable имя динамического модуля изменилось. Откройте конфигурационный файл /etc/nginx/nginx.conf и замените директиву load_module:
Было:
load_module modules/ngx_http_wallarm_module.so;
Стало:
load_module modules/ngx_http_wnode_module.so;
Шаг 6: Зарегистрируйте ноду заново¶
После перехода на единую архитектуру (все компоненты теперь хранятся в /opt/wallarm) необходимо заново создать конфигурационный файл node.yaml и выполнить синхронизацию баз данных с облаком.
Выполните команду с вашим токеном ноды:
sudo -u wallarm /opt/wallarm/usr/share/wallarm-common/register-node -t <ВАШ_ТОКЕН> -H api.webmonitorx.ru
Шаг 7: Перезапустите NGINX и службы Вебмониторэкс¶
В версии 5.0 все процессы управляются единым сервисом wallarm.
sudo systemctl restart wallarm
sudo systemctl restart nginx