Skip to content

Scaling & Maintenance

Osmany Montero edited this page Jan 19, 2026 · 1 revision

Guidelines for scaling your UTMStack deployment and managing system upgrades.

Scaling Strategy

UTMStack supports both vertical and horizontal scaling.

Horizontal Scaling (Recommended)

UTMStack leverages Docker Swarm for seamless horizontal expansion.

  1. Add Nodes: Join new worker nodes to the Docker Swarm cluster.
  2. OpenSearch Distribution: Add new OpenSearch nodes with appropriate node affinity settings to distribute data and search load.
  3. Auto-scaling: The EventProcessor and its plugins will automatically distribute across available nodes to balance processing.

Vertical Scaling

If you cannot add more nodes, increase the resources on existing ones.

  • CPU: Essential for high EPS (Events Per Second) environments.
  • Memory: Critical for OpenSearch indexing performance and rule caching.
  • Fast Storage: Use NVMe or SSDs to avoid I/O wait during high-volume data writes.

System Maintenance

Automated Upgrades

UTMStack manages updates through its built-in installer:

  • Compatibility: Automatically checks version requirements.
  • Index Migration: Handles OpenSearch schema updates when necessary.
  • Rolling Updates: Restarts services sequentially to maintain availability.

Scaling the Ingest Queue

UTMStack uses an internal, distributed architecture to handle traffic spikes. Unlike older systems, it does not require external message brokers (Kafka/RabbitMQ), reducing complexity and infrastructure overhead.

Monitoring Health

  • Internal Stats: Use the stats plugin to track processing latency, event throughput, and dropped events. These metrics are stored in OpenSearch and can be queried directly via the Log Explorer or used to build custom Dashboards and Visualizations.
  • System Logs: Monitor utmstack_event-processor-manager and utmstack_event-processor-worker Docker services for errors or performance warnings.
  • Prometheus & Grafana: While not integrated by default, you can monitor the system using these tools. You must manually install and configure the appropriate Prometheus exporters (e.g., Linux Exporter) on the host operating system to collect metrics.

Clone this wiki locally