Update guide
checker_master.py, metrics_master.py and per-target subprocess model is no longer used. Existing
monitoring selections are converted into durable assignments by the Roxy-WI scheduler.
- Back up the Roxy-WI database,
/etc/roxy-wi/roxy-wi.cfgand/var/lib/roxy-wi/keys. - Install and configure RabbitMQ. All Roxy-WI instances and workers must use the same host, port and virtual host; credentials may be shared or service-specific.
- Make every monitored server address and statistics endpoint reachable from the worker hosts. A remote worker cannot use
127.0.0.1to reach another server.
sudo dnf upgrade --refresh roxy-wisudo dnf install roxy-wi-checker roxy-wi-metrics roxy-wi-socketsudo systemctl enable --now roxy-wi-scheduler roxy-wi-service-eventssudo systemctl enable --now roxy-wi-checker roxy-wi-metrics roxy-wi-socket
sudo apt updatesudo apt install --only-upgrade roxy-wisudo apt install roxy-wi-checker roxy-wi-metrics roxy-wi-socketsudo systemctl enable --now roxy-wi-scheduler roxy-wi-service-eventssudo systemctl enable --now roxy-wi-checker roxy-wi-metrics roxy-wi-socket
Package upgrades preserve the service environment files and replace the legacy master processes. Do not start the removed
master scripts manually. Packages no longer require Roxy-WI on the same host. The default auto mode reuses the
local Roxy-WI RabbitMQ settings when available; on a worker-only host set
*_USE_ROXYWI_RABBITMQ_SETTINGS=0 and configure *_RABBITMQ_* in the service env-file before starting it.
On a standalone worker host, install only the required service package. A fresh standalone package is enabled but is not
started until you configure its env-file. After saving the RabbitMQ settings, run
systemctl enable --now roxy-wi-checker, roxy-wi-metrics or roxy-wi-socket as appropriate.
- Prepare the container environment files and persistent databases first.
- Stop the package units to prevent duplicate worker identities and a Socket port conflict.
- Pull and start the pinned container versions with Compose or your Kubernetes deployment.
sudo systemctl disable --now roxy-wi-checker roxy-wi-metrics roxy-wi-socketdocker compose pulldocker compose up -d
Use ghcr.io/roxy-wi/roxy-wi-checker:5.0.0,
ghcr.io/roxy-wi/roxy-wi-metrics:4.0.0 and
ghcr.io/roxy-wi/roxy-wi-socket:2.0.0. Pin exact versions in production. Checker and Metrics may use SQLite with
one replica; two or more replicas must share their own MySQL/MariaDB database. The Checker, Metrics and Roxy-WI schemas must remain separate.
Package-installed services can still be updated from Admin area => Update. Container and Kubernetes deployments are updated by changing the image tag and performing a Compose or Kubernetes rollout; Roxy-WI does not replace those images itself.
systemctl status roxy-wi-scheduler roxy-wi-service-eventssystemctl status roxy-wi-checker roxy-wi-metrics roxy-wi-socket# or, for containers:docker ps --filter name=roxy-wi
Within approximately one minute, the workers and their active assignment counts must appear on Overview and Admin area => Tools. Checker incidents remain available in Checker history, and Metrics samples continue to feed the existing graphs.
- haproxy-wi-checker
- haproxy-wi-smon
- haproxy-wi-metrics
- haproxy-wi-checker
- haproxy-wi-portscanner
- haproxy-wi-keep_alive
- roxy-wi-checker
- roxy-wi-smon
- roxy-wi-metrics
- roxy-wi-checker
- roxy-wi-portscanner
- roxy-wi-keep_alive
- roxy-wi-metrics
- roxy-wi-checker
- roxy-wi-smon
- roxy-wi-keep_alive
- roxy-wi-socket
- roxy-wi-portscanner
- roxy-wi-prometheus-exporter
Also check the configuration file at /etc/roxy-wi/roxy-wi.cfg:
- Open the Admin area => Servers page and select No slave in the Slave for dropdown.
- Open the HA cluster page.
- Click Create high availability cluster.
- Create a new HA cluster according to your configuration.
- Click Save.
- Add an additional VIP if necessary.
- Add an extra virtual server if needed.
- If you would like to reconfigure your cluster according to HA cluster settings, click Edit on the cluster you wish to reconfigure. In the opened window, click Next, and then Apply.
rpm -e --nodeps python3-mod_wsgi ansible-collection-community-general ansible ansible-core
yum install python3.11-mod_wsgi
ssh-keygen -t rsa -b 4096 -m pem -f /var/lib/roxy-wi/keys/roxy-wi-key -C "Roxy-WI JWT KEY. DO NOT DELETE IT!" -P ""
For EL:
chown apache:apache /var/lib/roxy-wi/keys/* -R
systemctl reload httpd
For Ubuntu:
chown www-data:www-data /var/lib/roxy-wi/keys/* -R
systemctl reload apache2
cd /var/www/haproxy-wi/app
For EL:
python3.11 update_db_to_v8.py
systemctl reload httpd
For Ubuntu:
python3 update_db_to_v8.py
systemctl reload apache2