Zephyrnet Logosu

Amazon OpenSearch Service için Dizin Durumu Yönetimini Otomatikleştirme (Amazon Elasticsearch Service'in halefi)

Tarih:

Zaman serisi verileri söz konusu olduğunda, yeni verilere erişmek, son dört saat veya bir gün gibi mevcut verilerden daha yaygındır. Çoğu zaman, uygulama ekiplerinin çeşitli veri iş yükleri için birden çok dizin tutması gerekir, bu da dizin yaşam döngülerini yönetmek için özel bir çözüm oluşturmak için yeni gereksinimler getirir. Bu, endeksler büyüdükçe sıkıcı hale gelir ve genel giderlere neden olur.

Amazon Açık Arama Hizmeti (Amazon Elasticsearch Service'in halefi) yinelenen dizin yönetimi etkinliklerini otomatikleştirmenizi sağlar. Bu, dizin yaşam döngülerini yönetmek için herhangi bir ek araç kullanmaktan kaçınır. Endeks Devlet Yönetimi (ISM) Amazon OpenSearch Service etki alanınızdan dizin yaşı, boyutu ve diğer koşullara dayalı olarak bu işlemleri otomatikleştiren bir politika oluşturmanıza olanak tanır.

Bu gönderide, rutin dizin yönetimi görevlerini otomatikleştirmek için bir ilkeyi nasıl uygulayabileceğinizi ve bunları dizinlere ve dizin kalıplarına nasıl uygulayabileceğinizi tartışıyoruz.

Önkoşullar

Başlamadan önce, aşağıdaki ön koşulları tamamladığınızdan emin olun:

  1. Elasticsearch 6.8 veya sonraki bir sürümüne sahip olun (ISM ve UltraWarm'ı kullanmak için gereklidir) veya UltraWarm etkinleştirilmiş yeni bir Amazon OpenSearch Service etki alanı kurun.
  2. Manuel bir anlık görüntü deposu kaydedin yeni alan adınız için.
  3. Kullanıcı rolünüzün, Amazon OpenSearch Service etki alanının Kibana konsoluna erişmek için yeterli izne sahip olduğundan emin olun. Gerekirse, doğrulayın ve etki alanlarınıza erişimi yapılandırın.

Kullanım örneği

Amazon OpenSearch Service üç depolama katmanını destekler: etkin yazma ve düşük gecikmeli analitik için varsayılan "sıcak", UltraSıcak sıcak katman maliyetinin onda biri ile üç petabayta kadar salt okunur veriler için ve soğuk sınırsız uzun vadeli arşiv için. Sıcak depolama, dizin oluşturma ve en hızlı erişimi sağlamak için kullanılsa da, UltraWarm, daha eski ve daha az sıklıkla erişilen veriler için daha ucuz depolama sağlayarak etkin depolama katmanını tamamlar. Bu, aynı etkileşimli analitik deneyimi korunurken yapılır. Ekli depolama yerine, UltraWarm düğümleri Amazon Basit Depolama Hizmeti (Amazon S3) ve performansı artırmak için gelişmiş bir önbelleğe alma çözümü.

İşlevselliği göstermek için, günlük endekslerde zaman serisi verilerinin işlenmesine ilişkin örnek bir kullanım durumu sunuyoruz. Bu kullanım durumunda, her bir dizini 24 saat sonra otomatik olarak anlık görüntüsünü alırız, ardından dizini iki gün sonra varsayılan sıcak durumdan UltraWarm depolamaya, 30 gün sonra soğuk depolamaya geçirir ve son olarak 60 gün sonra dizini sileriz.

Amazon OpenSearch Service etki alanını oluşturup bir anlık görüntü deposu kaydettikten sonra aşağıdaki adımları tamamlayın:

  1. Etki alanı durumunun etkinleştirilmesini bekleyin ve Kibana uç noktasını seçin.
  2. Kibana UI uç noktasını kullanarak oturum açın.
  3. Kibana'nın giriş sayfasında, Örnek verilerimizi dene'yi ve Veri ekle'yi seçerek listelenen tüm örnek verileri ekleyin.
  4. Verileri ekledikten sonra, Dizin İlkeleri sayfasına giden Dizin Yönetimi'ni (sol gezinme bölmesindeki IM simgesi) seçin.
  5. İlke oluştur'u seçin.
  6. Ad politikası için girin ism-policy-example.
  7. Varsayılan ilkeyi aşağıdaki ilkeyle değiştirin:
{ "policy": { "description": "Demonstrate a hot-snapshot-warm-cold-delete workflow.", "default_state": "hot", "states": [ { "name": "hot", "actions": [], "transitions": [ { "state_name": "snapshot", "conditions": { "min_index_age": "24h" } } ] }, { "name": "snapshot", "actions": [ { "retry": { "count": 5, "backoff": "exponential", "delay": "30m" }, "snapshot": { "repository": "snapshot-repo", "snapshot": "ism-snapshot" } } ], "transitions": [ { "state_name": "warm", "conditions": { "min_index_age": "2d" } } ] }, { "name": "warm", "actions": [ { "retry": { "count": 5, "backoff": "exponential", "delay": "1h" }, "warm_migration": {} } ], "transitions": [ { "state_name": "cold", "conditions": { "min_index_age": "30d" } } ] }, { "name": "cold", "actions": [ { "retry": { "count": 5, "backoff": "exponential", "delay": "1h" }, "cold_migration": { "start_time": null, "end_time": null, "timestamp_field": "@timestamp", "ignore": "none" } } ], "transitions": [ { "state_name": "delete", "conditions": { "min_index_age": "60d" } } ] }, { "name": "delete", "actions": [ { "cold_delete": {} } ], "transitions": [] } ], "ism_template": [ { "index_patterns": [ "index-*" ], "priority": 100 } ] }
} 

Politikanın son bölümü olan “ism_template”in, ISM politikasını index_patterns ile eşleşen yeni oluşturulan herhangi bir dizine otomatik olarak eklemek için kullanıldığını unutmayın. Birden fazla desen tanımlayabilirsiniz.

Ayrıca,  ISM API'si ilkeler ve yönetilen dizinlerle programlı olarak çalışmak.

  1. Oluştur'u seçin. Artık dizin politikanızı Dizin Politikaları sayfasında görebilirsiniz.
  2. Endeksler sayfasında şunu arayın: kibana_sample, daha önce eklediğiniz tüm örnek veri dizinlerini listelemelidir.
  3. Tüm dizinleri seçin ve Politikayı uygula'yı seçin.
  4. İlke Kimliği açılır menüsünden önceki adımda oluşturulan ilkeyi seçin.
  5. Uygula'yı seçin.

Politika artık atanmıştır ve dizinleri yönetmeye başlar. Yönetilen Endeksler sayfasında, durumu şu şekilde gözlemleyebilirsiniz: Initializing.

Başlatma tamamlandığında, durum şu şekilde değişir: Running.

Yönetilen dizinlerin durum bilgilerini yenilemek için bir yenileme sıklığı da ayarlayabilirsiniz.

Politikanın gizemini çözmek

Bu bölümde, endeks politikasını ve yapısını açıklıyoruz.

Politikalar, aşağıdakileri tanımlayan JSON belgeleridir:

  • Bir indeksin bulunabileceği durumlar
  • Bir dizin duruma girdiğinde eklentinin yapmasını istediğiniz tüm işlemler
  • Bir dizinin yeni bir duruma taşınması veya geçişi için karşılanması gereken koşullar

Politika belgesi, aşağıdakiler gibi temel meta verilerle başlar: descriptiondefault_state indeksin girmesi gerektiği ve son olarak bir dizi durum tanımı.

belirtmek, bildirmek yönetilen dizinin şu anda içinde bulunduğu durumdur. Yönetilen bir dizin aynı anda yalnızca bir durumda olabilir. Her durum, bir duruma girildiğinde sırayla çalıştırılan ilişkili eylemlere ve tüm eylemler tamamlandıktan sonra kontrol edilen geçişlere sahiptir.

ilk hali Sıcak. Bu kullanım durumunda, bu sıcak durumda hiçbir eylem tanımlanmamıştır. Ayrıca, yönetilen endeksler başlangıçta bu duruma gelir ve ardından enstantane, sıcak, soğuk, ve sonunda silmek. Geçişler, bir durumun değişmesi için karşılanması gereken koşulları tanımlar (bu durumda, enstantane indeks 24 saati geçtikten sonra).

Kibana'nın Index Management bölümünden durumu hızlı bir şekilde doğrulayabiliriz. Her dizin altında listelenen durum ayrıntılarına sahip olacaktır. Politikayla yönetilen endeksler.

Bunu, Ultrawarm Storage kullanımı ve Cold Storage kullanımı sütunları altında Amazon OpenSearch Service konsolunda da doğrulayabilirsiniz.

Politika belgesinin son durumu, eylemlere dayalı olarak silinecek dizinleri işaretler. Bu ilke durumu, dizininizin kritik olmadığını ve artık yazma istekleri almadığını varsayar. Sıfır kopyaya sahip olmak, bazı veri kaybı riski taşır.

Diğer eylemlerin yanı sıra, bildirimi Chime'a politika eylemi bilgisi gönderecek şekilde de yapılandırabilirsiniz. Gevşeklikveya bir web kancası URL'si. Tüm detaylar bulunabilir okuyun.

Aşağıdaki ekran görüntüsü konsoldaki dizin durumunu gösterir.

ISM politikaları hakkında ek bilgiler

UltraWarm desteği olmayan mevcut bir Amazon OpenSearch Service etki alanınız varsa (herhangi bir eksik önkoşuls), politika işlemlerini kullanabilirsiniz read_only ve reduces_replicas sıcak durumu değiştirmek için. Aşağıdaki kod, bu iki durum için politika şablonudur:

{ "name": "reduce_replicas", "actions": [{ "replica_count": { "number_of_replicas": 0 } }], "transitions": [{ "state_name": "read_only", "conditions": { "min_index_age": "2d" } }] }, { "name": "read_only", "actions": [ { "read_only": {} } ], "transitions": [ { "state_name": "delete", "conditions": { "min_index_age": "3d" } } ] },

Özet

Bu gönderide, Amazon OpenSearch Service için UltraWarm ve soğuk depolama katmanlarıyla ISM özelliğini nasıl kullanacağınızı öğrendiniz. İzlenecek yol, bu eklentiyi kullanarak dizinlerin nasıl yönetileceğini örnek bir yaşam döngüsü ilkesiyle gösterdi.

ISM eklentisi hakkında daha fazla bilgi için bkz. Endeks Durum Yönetimi. Geliştirmelere ihtiyacınız varsa veya başka özellik istekleriniz varsa, lütfen bir konu. Projeye dahil olmak için bkz. Katkıda Bulunan Yönergeler.

Amazon OpenSearch Service'teki ISM eklentisini değerlendirirken benim için büyük bir paket, ISM eklentisinin tamamen uyumlu olması ve açık kaynağın herhangi bir dağıtımında çalışmasıydı. OpenSearch yazılımı. Daha fazla bilgi için bkz. OpenSearch belgelerinde Dizin Durumu Yönetimi.


Yazar Hakkında

Gen Alpert Amazon Web Services'de Büyük Veri ve Analitik Danışmanıdır. AWS müşterilerinin bulut veri operasyonlarını optimize etmesine yardımcı olur.

Kaynak: https://aws.amazon.com/blogs/big-data/automating-index-state-management-for-amazon-opensearch-service-successor-to-amazon-elasticsearch-service/

spot_img

En Son İstihbarat

spot_img