Running Elasticsearch in production requires more than just starting the service. Index lifecycle management, cluster orchestration, automated alerting, and backup strategies are all essential for a reliable search and analytics platform. While Elasticsearch provides powerful built-in capabilities, the open-source ecosystem offers specialized tools that simplify operations at scale.
This guide compares three essential Elasticsearch operations tools: Elastic Curator for index lifecycle management, Elastic Cloud on Kubernetes (ECK) for cluster orchestration, and ElastAlert 2 for alerting and anomaly detection.
Quick Comparison
| Feature | Elastic Curator | ECK (Cloud on K8s) | ElastAlert 2 |
|---|---|---|---|
| GitHub Stars | 3,087+ | 2,843+ | 1,118+ |
| Primary Role | Index lifecycle | Cluster orchestration | Alerting engine |
| Deployment | Cron job / Docker | Kubernetes Operator | Docker / pip |
| Index Management | Yes (core focus) | Yes (via ILM) | No |
| Cluster Provisioning | No | Yes (core focus) | No |
| Alerting | No | Basic (via CRD) | Yes (core focus) |
| Backup/Restore | Snapshot helpers | Snapshot CRD | No |
| Kubernetes Native | No | Yes | No |
| Best For | Index rotation, cleanup | K8s cluster management | Rule-based alerting |
Elastic Curator
Elastic Curator is the original Elasticsearch index management tool, designed to automate the creation, rollover, and deletion of time-based indices. It is particularly valuable for log management workflows where daily or hourly indices accumulate rapidly.
Key Features
- Index lifecycle actions — Create, delete, close, open, snapshot, and restore indices
- Age-based filtering — Target indices older or younger than a specified threshold
- Snapshot management — Automate backups to S3, GCS, or local repositories
- Index aliasing — Manage read/write aliases for seamless index rotation
- Configuration-driven — YAML action files define exactly what operations to run
- CLI and API — Run as a cron job or integrate into CI/CD pipelines
Docker Compose Deployment
| |
Sample Action File (Delete Old Indices)
| |
Installation
| |
Elastic Cloud on Kubernetes (ECK)
ECK is the official Kubernetes operator for Elasticsearch, developed by Elastic. It transforms Elasticsearch from a manually-managed stateful application into a declarative Kubernetes resource, handling cluster provisioning, upgrades, scaling, and day-2 operations automatically.
Key Features
- Declarative cluster management — Define Elasticsearch clusters as Kubernetes Custom Resources
- Automated upgrades — Rolling upgrades with zero downtime
- Autoscaling — Horizontal and vertical scaling based on resource metrics
- TLS certificate management — Automatic certificate rotation for node-to-node encryption
- Multi-cluster support — Manage multiple Elasticsearch clusters across namespaces
- Kibana integration — Deploy and manage Kibana instances alongside clusters
- Backup CRD — Declarative snapshot and restore operations
Kubernetes Deployment
| |
Installation
| |
ElastAlert 2
ElastAlert 2 is the community-maintained continuation of Yelp’s original ElastAlert project. It monitors Elasticsearch for patterns that match predefined rules and triggers alerts through various channels — email, Slack, webhooks, PagerDuty, and more.
Key Features
- Rule-based alerting — Frequency, spike, flatline, whitelist, blacklist, and custom rules
- Multiple alert channels — Email, Slack, MS Teams, PagerDuty, Jira, webhooks, Telegram
- Alert aggregation — Combine multiple matches into single notifications
- Silence management — Prevent alert fatigue with configurable silence periods
- Alert replay — Re-trigger alerts if the condition persists after silence expires
- REST API — Programmatic rule management via elastalert2-server
- Template engine — Customize alert messages with Jinja2 templates
Docker Compose Deployment
| |
Sample Alert Rule
| |
Installation
| |
Choosing the Right Elasticsearch Operations Tool
Choose Elastic Curator if you:
- Need automated index rotation and cleanup for log pipelines
- Run Elasticsearch outside Kubernetes (bare metal, VMs, Docker)
- Want fine-grained control over index lifecycle with YAML configuration
- Primarily manage time-series data with predictable rollover patterns
Choose ECK if you:
- Run Elasticsearch on Kubernetes and want native operator management
- Need automated cluster provisioning, scaling, and upgrades
- Require TLS certificate management and security automation
- Manage multiple Elasticsearch clusters with declarative configuration
Choose ElastAlert 2 if you:
- Need proactive alerting on Elasticsearch data patterns
- Want to replace manual log monitoring with automated rule-based alerts
- Require integration with Slack, PagerDuty, or other incident management tools
- Monitor application logs, metrics, or security events in real time
Why Self-Host Elasticsearch Operations Tools?
Running Elasticsearch without proper operations tooling leads to several predictable problems that compound over time.
Index sprawl: Without automated lifecycle management, Elasticsearch clusters accumulate thousands of indices over time. Each index consumes file descriptors, memory, and disk space. Curator prevents this by automatically rolling over, closing, and deleting old indices based on configurable retention policies. For related log management strategies, see our log retention lifecycle guide.
Cluster reliability: Manual Elasticsearch cluster management is error-prone. Node failures, version upgrades, and configuration changes require careful coordination. ECK handles all of this automatically — upgrading nodes one at a time, rebalancing shards, and managing TLS certificates without human intervention. If you are also managing observability dashboards across multiple monitoring systems, ECK ensures the Elasticsearch backend stays healthy.
Proactive incident response: Elasticsearch clusters process millions of events per hour. Without automated alerting, critical issues go unnoticed until they cause outages. ElastAlert 2 monitors your indices for anomaly patterns and notifies the right team before problems escalate. Combined with our infrastructure monitoring comparison, you get comprehensive alerting coverage.
FAQ
Can I use all three tools together?
Yes, they are complementary. ECK manages the Elasticsearch cluster lifecycle, Curator handles index rotation and cleanup, and ElastAlert 2 provides alerting on indexed data. Many production environments use all three in combination.
Does ECK replace Curator?
Partially. ECK includes Index Lifecycle Management (ILM) through Elasticsearch’s built-in ILM policies, which covers many of Curator’s use cases. However, Curator still offers more granular control over snapshot management and complex index operations that ILM does not support.
Is ElastAlert 2 compatible with OpenSearch?
ElastAlert 2 is designed for Elasticsearch. For OpenSearch, consider using OpenSearch Alerting (built into the OpenSearch Dashboards) or the open-source OpenSearch alerting plugins.
How does ECK handle data persistence?
ECK uses Kubernetes PersistentVolumeClaims (PVCs) for Elasticsearch data directories. When a node is replaced during an upgrade or rescheduling, the new pod reattaches the same PVC, preserving all data. For production deployments, use storage classes that support dynamic provisioning.
What alert types does ElastAlert 2 support?
ElastAlert 2 supports frequency (N events in X time), spike (sudden increase/decrease), flatline (no events for X time), whitelist/blacklist matches, cardinality, and custom Python rule types. Each rule type can trigger multiple alert channels simultaneously.
How do I migrate from Yelp’s original ElastAlert to ElastAlert 2?
ElastAlert 2 is a drop-in replacement. Most existing rule configurations work without modification. The main changes are updated Python dependencies, Docker image paths, and a few renamed configuration options. The project maintains a migration guide on GitHub.