Skip to content

Scaling & Maintenance

Osmany Montero edited this page Jul 20, 2026 · 3 revisions

Guidelines for scaling deployments using the EventProcessor and maintaining system health.

Scaling Strategy

The EventProcessor supports both vertical and horizontal scaling.

Horizontal Scaling (Recommended)

Container orchestrators (e.g., Docker Swarm, Kubernetes) can be used to scale out.

  1. Add Nodes: Join new worker nodes to your cluster.
  2. OpenSearch Distribution: Add new OpenSearch nodes with appropriate node affinity settings to distribute data and search load.
  3. Auto-scaling: Run multiple replicas of processing services to balance ingestion and analysis throughput.

Vertical Scaling

If you cannot add more nodes, increase 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

Upgrades

Plan upgrades to avoid downtime:

  • Compatibility: Verify version requirements across components (EventProcessor, plugins, OpenSearch).
  • Index Migration: Apply OpenSearch schema updates when necessary.
  • Rolling Updates: Restart services sequentially to maintain availability.

Scaling the Ingest Queue

Use internal buffering and appropriate backpressure strategies. External message brokers (Kafka/RabbitMQ) are optional and may be introduced for very high-throughput pipelines.

Monitoring Health

  • Metrics: Expose metrics from your deployment to track processing latency, event throughput, and dropped events.
  • System Logs: Monitor container/service logs for errors or performance warnings.
  • Prometheus & Grafana: You can monitor the system using these tools. Install and configure the appropriate Prometheus exporters on the host or within containers to collect metrics.

Clone this wiki locally