Elasticsearch Snapshot


Yazıyı İngilizce okumak için tıklayınız.

Snaphshot Elasticsearch'ün Basic Plan ile birlikte gelen özelliklerinden birisidir. (Kullanımı Ücretsizdir)

Snapshot'ları Kibana UI, Elasticsearch SLM API ya da kendi geliştirdiğimiz scriptler ile oluşturabiliriz. Bu makalede Kibana UI kullanarak nasıl Snapshot ile yedekleme sürecini nasıl başlatabileceğimizden bahsedeceğim.

ÖNEMLi!

Kibana üzerinde snapshotlara erişebilir, yönetebilir ve yeniden yapılandırabiliriz. Bu işlemleri 'Management' > 'Snapshot and Restore' kısmından gerçekleştirebiliriz.

Snapshot sürecini başlatmadan önce bir respository oluşturmamız gerekmektedir. Repository oluşturmak için Kibana üzerinde 'Repositories' sekmesine tıklayarak burada 'Register a repository' butonuna tıklayalım. Butona tıkladıktan sonra karşımıza aşağıdaki ekran gelecektir.

Repository Türleri

Ayrıca Elasticsearch bize bu kısımda daha etkili kullanım için AWS, Azure gibi bulut sistemleri için özelleşmiş eklentiler sunmaktadır.

Shared File System:

Parametreler

Gerekli yapılandırmalar tamamalandıktan sonra repository'miz oluşturulur. Ancak bu yalnızca Snapshot sürecinin başlangıcıdır. Sürecin devamında snapshotların nasıl oluşturulacağını belirlediğimiz 'Policy'leri oluşturmamız gerekmektedir.

Policy Oluşturma

Policy'ler (Kural, Politika, Prosedür) biraz önce bahsettiğim gibi snapshot'ların nasıl oluşturulacağını belirlediğimiz kurallar dizinidir. Ayarladığımız seçeneklere göre dosyalar oluşturulacaktır.

Parametreler - 1. Kısım

Parametreler - 2. Kısım

Parametreler - 3. Kısım

Yapılandırmaları tamamladıktan sonra Kibana bize oluşturmuş olduğumuz Policy'nin Request halini paylaşmaktadır. Kibana üzerinde yer alan Dev-Tool'da, curl yada herhangi bir programlama dilinde bu request kullanılabilir. Bu örnek için oluşturduğumuz Policy'nin Request hali aşağıdaki gibidir.

PUT _slm/policy/daily-snapshot-backup-snapshot-training
{
  "name": "dsbst-{now}",
  "schedule": "0 30 4 * * ?",
  "repository": "backup-snapshot-training",
  "config": {
    "ignore_unavailable": true
  },
  "retention": {
    "expire_after": "30d",
    "min_count": 1,
    "max_count": 10
  }
}

Sonunda gerekli bütün adımlar tamamlandı! Policy'de tanımladığımız zaman geldiğinde Elasticsearch Snapshot oluşturmayı başlatacaktır.

Ayrıca istediğimiz zaman Policy'i elle tetikleyerek Snapshot oluşturmayı başlatabiliriz.


Bu öğreticide sizlere Elasticsearch üzerinde yedekleme yapmak için en çok kullanılan ve bizzat Elasticsearch'ün tavsiye ettiği bir yöntem olan Snapshot hakkında sade bilgi vermeyi amaçladım. Sorularınız için sosyal medya ve e-posta yoluyla bana ulaşabilirsiniz.

Yazılımla Kalın!

Kaynakça