DBAtlas · Atlas für Datenbankbetrieb

Hängenden ILM-Schritt diagnostizieren und erneut versuchen (_ilm/explain, _ilm/retry)

ElasticsearchIndex-Lebenszyklus

Befehl

# Indices waiting in an error step:
GET log-*/_ilm/explain?only_errors=true
# Phase/action/step state and failure reason for one index:
GET log-000003/_ilm/explain?filter_path=indices.*.phase,indices.*.action,indices.*.step,indices.*.failed_step,indices.*.step_info,indices.*.is_auto_retryable_error
# After fixing the cause (example: missing rollover alias setting):
PUT log-000003/_settings
{
  "index.lifecycle.rollover_alias": "log"
}
POST log-000003/_ilm/retry
# Is ILM running (if STOPPED, POST _ilm/start):
GET _ilm/status

Was es tut

Zeigt Indizes, die im Schritt ERROR warten, in welcher Phase/Action/welchem Schritt sie hängen und den Fehlergrund (step_info); führt den fehlgeschlagenen Schritt nach Behebung der Ursache erneut aus.

Wann einsetzen

Wenn kein Rollover erfolgt, alte Indizes nicht gelöscht werden oder sich die Platte mit Indizes füllt, die ILM hätte entfernen sollen.

Vorsicht

_ilm/retry funktioniert nur für Indizes im Schritt ERROR; sonst liefert es 'has not encountered an error'. Häufige Ursachen: Einstellung rollover_alias fehlt oder der Alias hat is_write_index auf einem anderen Index, nicht genug Platte auf einem einzelnen Knoten für Shrink, eine Allokationsregel (_tier_preference) lässt sich nicht erfüllen. Das Löschen der Policy entfernt die ILM-Verwaltung nicht von den Indizes; entferne zuerst die Policy-Einstellung von den Indizes.

In DBAtlas öffnen →

Verwandte Einträge