DBAtlas · Veritabanı operasyon atlası

ILM policy tanımla, template'e bağla ve rollover zincirini başlat

ElasticsearchIndex Yaşam Döngüsü

Komut

PUT _ilm/policy/log-policy
{
  "policy": {
    "phases": {
      "hot": { "actions": { "rollover": { "max_primary_shard_size": "50gb", "max_age": "1d" }, "set_priority": { "priority": 100 } } },
      "warm": { "min_age": "7d", "actions": { "shrink": { "number_of_shards": 1 }, "forcemerge": { "max_num_segments": 1 }, "set_priority": { "priority": 50 } } },
      "delete": { "min_age": "30d", "actions": { "delete": {} } }
    }
  }
}
PUT _index_template/log
{
  "index_patterns": ["log-*"],
  "priority": 500,
  "template": {
    "settings": {
      "number_of_shards": 1,
      "number_of_replicas": 1,
      "index.lifecycle.name": "log-policy",
      "index.lifecycle.rollover_alias": "log"
    }
  }
}
# Ilk index'i yazma alias'iyla olustur (adi -000001 gibi sayiyla bitmeli):
PUT log-000001
{
  "aliases": { "log": { "is_write_index": true } }
}

Ne yapar?

hot (rollover), warm (shrink + force merge) ve delete fazlarından oluşan bir ILM policy oluşturur, yeni index'lere policy'yi ve rollover alias'ını template ile uygular ve zincirin ilk index'ini yazma alias'ıyla açar.

Ne zaman kullanılır?

Log/metrik gibi zaman serisi verilerinde index boyutu, saklama süresi ve silme işlerini otomatikleştirirken.

Dikkat

min_age warm ve delete fazlarında index'in oluşturulduğu andan değil rollover anından itibaren sayılır. Policy değişikliği mevcut index'lere yalnızca bulundukları faz bittikten sonra yansır. warm fazındaki shrink ve forcemerge yoğun IO üretir; force merge bitene kadar index'e yazılmamalıdır. ILM varsayılan 10 dakikada bir çalışır, koşullar anında değerlendirilmez.

DBAtlas'ta aç →

İlgili