Slow search on frozen tier nodes
Search on frozen-tier nodes exceeded the frozen-tier latency threshold for consecutive samples. Frozen searches are typically I/O-bound against searchable snapshots, so spikes might reflect cache misses, concurrent searches, or undersized frozen nodes.
For a complete list of insights, refer to AutoOps insights.
| Field | Value |
|---|---|
| Component | Elasticsearch |
| Severity | High |
| Scope | Node |
| Domains | performance, search |
You can customize these settings to adjust when AutoOps detects this event and presents the insight. Refer to AutoOps event settings for details.
The default customization settings are:
| Setting | Type | Default |
|---|---|---|
| Search latency threshold (ms) | Integer | 10000 |
| Consecutive samples above threshold | Integer | 5 |
Raising these thresholds reduces noise but delays detection. Lowering them triggers the insight sooner but can increase alerts during minor blips.
The following is an example of what you might see when this insight is triggered. Real insights use live data and links from your deployment or cluster.
Search latency on es-data-01 and es-data-02 on frozen-tier nodes stayed above your configured threshold for enough consecutive samples. Peak latency in the latest sample was 420 ms. Indices with high search activity: logs-prod-000045 Review query logs or search slow logs on the affected node, tune expensive queries, and check CPU and heap load on the same node if latency stays high.
AutoOps shows different recommendations depending on how their conditions match your deployment or cluster.
Increase replica count
Condition: Shown when index has no replica.
Set number_of_replicas to 2 on logs-prod-000045 (currently 1) using the action below.
PUT logs-prod-000045/_settings
{
"index": {
"number_of_replicas": 2
}
}
Requires the manage index privilege. Requires Elasticsearch 8.0.0 or later. This action changes cluster or index configuration.
Review query logs
Condition: Shown when cluster version is 9.4 or above.
Review query logs on es-data-01 to find expensive searches that fill the queue. Query logs (Elasticsearch 9.4+) give structured per-query timing with less overhead than search slow logs. See Query logs.
Enable and review search slow logs
Condition: Shown when cluster version is below 9.4.
Enable search slow logs with the action below, then review the slow log to find expensive queries. See Slow logs for configuration details.
PUT logs-prod-000045/_settings
{
"index.search.slowlog.threshold.query.warn": "10s",
"index.search.slowlog.threshold.query.info": "5s",
"index.search.slowlog.threshold.query.debug": "2s",
"index.search.slowlog.threshold.query.trace": "500ms",
"index.search.slowlog.threshold.fetch.warn": "1s",
"index.search.slowlog.threshold.fetch.info": "800ms",
"index.search.slowlog.threshold.fetch.debug": "500ms",
"index.search.slowlog.threshold.fetch.trace": "200ms"
}
Requires the manage index privilege. Requires Elasticsearch 8.0.0 or later. This action changes cluster or index configuration.
Add data node
Condition: Shown when index has more than twice as many pri/rep shards as available data nodes.
Add a data node to increase capacity and reduce pressure on the existing nodes.
When search stays slow on a frozen-tier node, queries against archived data become unpredictable. Frozen searches read from searchable snapshots and are more I/O-bound than other tiers, so spikes often reflect cache misses or concurrent access. Common causes also include CPU or heap pressure and undersized frozen capacity. If latency remains high, narrow your query scope, validate retention settings, and scale frozen capacity if interactive search on archived data is required.