Bu konuda, bir Alibaba Cloud Logstash kümesi oluşturma ve verileri Alibaba Cloud Elasticsearch kümeleri arasında senkronize etmek için bir Logstash işlem hattı yapılandırma adımları açıklanmaktadır.
Arka plan
Başlamadan önce aşağıdaki kavramları anladığınızdan emin olun:
Ön koşullar
-
Bir Alibaba Cloud hesabınızın olması gerekir.
Daha fazla bilgi için bkz. Alibaba Cloud hesabı oluşturma.
-
Bir VPC'niz ve bir vSwitch'inizin olması gerekir.
Daha fazla bilgi için bkz. IPv4 CIDR bloğu içeren bir VPC oluşturma.
Sınırlamalar
Kaynak Alibaba Cloud Elasticsearch kümesi, Alibaba Cloud Logstash kümesi ve hedef Alibaba Cloud Elasticsearch kümesi aynı VPC'de bulunmalıdır. Farklı VPC'lerde bulunuyorsa internet erişimini sağlamak için bir NAT Gateway yapılandırmanız gerekir. Daha fazla bilgi için bkz. Genel veri aktarımı için NAT Gateway yapılandırma.
Kaynak Alibaba Cloud Elasticsearch kümesinin, Alibaba Cloud Logstash kümesinin ve hedef Alibaba Cloud Elasticsearch kümesinin sürümleri uyumlu olmalıdır. Daha fazla bilgi için bkz. Uyumluluk.
Yordam
-
Bir kaynak ve bir hedef Alibaba Cloud Elasticsearch kümesi oluşturun, hedef küme için otomatik dizin oluşturmayı etkinleştirin ve test verilerini hazırlayın.
-
Adım 2: Bir Alibaba Cloud Logstash kümesi oluşturma
Bir Alibaba Cloud Logstash kümesi oluşturun. Küme durumu Active olarak değiştiğinde yalnızca bir işlem hattı oluşturup çalıştırabilirsiniz.
-
Adım 3: İşlem hattı oluşturma ve çalıştırma
Bir Alibaba Cloud Logstash işlem hattı oluşturun ve yapılandırın, ardından verileri senkronize etmek için çalıştırın.
-
Adım 4: Veri senkronizasyonu sonuçlarını doğrulama
Senkronizasyon sonuçlarını hedef Alibaba Cloud Elasticsearch kümesinin Kibana konsolunda kontrol edin.
Adım 1: Ortamı hazırlama
-
Alibaba Cloud Elasticsearch kümeleri oluşturun.
Alibaba Cloud Elasticsearch konsolu adresinde oturum açın.
Sol gezinme bölmesinde, Elasticsearch Clusters seçeneğine tıklayın.
-
Elasticsearch Clusters sayfasında iki Alibaba Cloud Elasticsearch kümesi oluşturun.
Bu iki küme Logstash için giriş ve çıkış kaynağı olarak hizmet verecektir. Daha fazla bilgi için bkz. Alibaba Cloud Elasticsearch kümesi oluşturma. Bu eğitimde aşağıdaki veri geçiş yolu kullanılır: Alibaba Cloud Elasticsearch 6.7.0 (Ticari Sürüm) > Alibaba Cloud Logstash 6.7.0 > Alibaba Cloud Elasticsearch 6.7.0 (Ticari Sürüm). Sağlanan komut dosyaları yalnızca bu yolla uyumludur. Bu eğitimde Alibaba Cloud Elasticsearch kümeleri için aşağıdaki yapılandırmalar kullanılır.
NotFarklı bir geçiş yolu kullanıyorsanız uyumluluk sorunlarını kontrol etmek için bkz. Uyumluluk. Sorun varsa kümelerinizi yükseltmeniz veya yeni kümeler satın almanız gerekir.
Bir Alibaba Cloud Elasticsearch kümesine erişmek için varsayılan kullanıcı adı
elasticolup bu eğitimde kullanılır. Özel bir kullanıcı kullanmanız gerekiyorsa gerekli rolleri ve izinleri vermeniz gerekir. Daha fazla bilgi için bkz. Elasticsearch X-Pack rollerini kullanarak kullanıcı izinlerini kontrol etme.
-
Hedef Alibaba Cloud Elasticsearch kümesi için otomatik dizin oluşturmayı etkinleştirin.
Daha fazla bilgi için bkz. YML parametrelerini yapılandırma.
NotVeri güvenliğini sağlamak amacıyla Alibaba Cloud Elasticsearch, Auto Indexing özelliğini varsayılan olarak Not allowed olarak ayarlar. Alibaba Cloud Logstash veri gönderirken dizini create index API kullanarak değil, veriyi göndererek oluşturur. Bu nedenle, Alibaba Cloud Logstash kullanarak veri yüklemeye başlamadan önce kümenizin Auto Indexing özelliğini Permitted olarak ayarlamanız veya önceden bir dizin ve eşlemeler oluşturmanız gerekir.
-
Test verilerini hazırlayın.
Kaynak Alibaba Cloud Elasticsearch kümesinin Kibana konsoluna gidin. Dev Tools sayfasında Console sekmesini açın ve senkronize etmek istediğiniz dizini ve belgeleri oluşturmak için aşağıdaki komutları çalıştırın.
ÖnemliKibana konsolunda nasıl oturum açılacağı hakkında daha fazla bilgi için bkz. Kibana konsolunda oturum açma.
Aşağıdaki komut dosyası Elasticsearch 6.7 için bir örnektir ve yalnızca test amaçlıdır. Elasticsearch 7.0 veya sonraki sürümler için örnek komut dosyaları için bkz. Elasticsearch'e başlama.
-
my_index adında ve my_type türünde bir dizin oluşturun.
PUT /my_index { "settings" : { "index" : { "number_of_shards" : "5", "number_of_replicas" : "1" } }, "mappings" : { "my_type" : { "properties" : { "post_date": { "type": "date" }, "tags": { "type": "keyword" }, "title" : { "type" : "text" } } } } } -
my_index dizinine ID'si 1 olan bir belge ekleyin.
PUT /my_index/my_type/1?pretty { "title": "One", "tags": ["ruby"], "post_date":"2009-11-15T13:00:00" } -
my_index dizinine ID'si 2 olan bir belge ekleyin.
PUT /my_index/my_type/2?pretty { "title": "Two", "tags": ["ruby"], "post_date":"2009-11-15T14:00:00" }
Adım 2: Bir Logstash kümesi oluşturma
-
Logstash Clusters sayfasına gidin.
Logstash Clusters sayfasına gidin.
Üst gezinme çubuğunda hedef Alibaba Cloud Elasticsearch kümenizle aynı bölgeyi seçin.
Sol gezinme bölmesinde, Logstash Clusters seçeneğine tıklayın.
Logstash Clusters sayfasında, Create seçeneğine tıklayın.
-
Satın alma sayfasında küme başlatma ayarlarını yapılandırın.
Bu eğitimde faturalama yöntemi olarak Pay-As-You-Go ve sürüm olarak 6.7 seçilir. Diğer tüm ayarları varsayılan değerlerinde bırakın. Yapılandırmalar hakkında daha fazla bilgi için bkz. Alibaba Cloud Logstash kümesi oluşturma.
NotGeliştirme ve işlevsel testler için Pay-as-you-go kümesi satın almanızı öneririz.
Subscription kümesi satın aldığınızda indirimlerden yararlanabilirsiniz.
Hizmet şartlarını okuyup seçin ve ardından DataWorks Exclusive Resources (Subscription) seçeneğine tıklayın.
Başarı mesajı görüntülendiğinde DataWorks Exclusive Resources (Subscription) seçeneğine tıklayın.
Üst gezinme çubuğunda kümenin bulunduğu bölgeyi seçin. Sol gezinme bölmesinde, Logstash Clusters seçeneğine tıklayın. Logstash Clusters sayfasında yeni oluşturulan kümeyi görüntüleyin.
Adım 3: İşlem hattı oluşturma ve çalıştırma
Logstash kümesinin durumu Normal olarak değiştiğinde verileri senkronize etmek için bir işlem hattı oluşturup çalıştırabilirsiniz.
Logstash Clusters sayfasında, kümenin Actions sütunundaki Pipelines seçeneğine tıklayın.
Pipelines bölümünde, Create Pipeline seçeneğine tıklayın.
-
Bir Pipeline ID girin ve Config Settings tanımını yapın.
Bu eğitimde aşağıdaki yapılandırma kullanılır.
input { elasticsearch { hosts => ["http://es-cn-0pp1f1y5g000h****.elasticsearch.aliyuncs.com:9200"] user => "elastic" password => "your_password" index => "*,-.monitoring*,-.security*,-.kibana*" docinfo => true } } filter {} output { elasticsearch { hosts => ["http://es-cn-mp91cbxsm000c****.elasticsearch.aliyuncs.com:9200"] user => "elastic" password => "your_password" index => "%{[@metadata][_index]}" document_type => "%{[@metadata][_type]}" document_id => "%{[@metadata][_id]}" } file_extend { path => "/ssd/1/ls-cn-v0h1kzca****/logstash/logs/debug/test" } }Parametre
Açıklama
hostsAlibaba Cloud Elasticsearch hizmetinin erişim adresi. input için adres
http://<Source cluster ID>.elasticsearch.aliyuncs.com:9200şeklindedir. output için adreshttp://<Destination cluster ID>.elasticsearch.aliyuncs.com:9200şeklindedir.userAlibaba Cloud Elasticsearch hizmetine erişmek için kullanılan kullanıcı adı. Varsayılan değer
elastic'tir.passwordKullanıcının parolası.
elastickullanıcısının parolası küme oluşturma sırasında belirlenir. Unutursanız sıfırlayabilirsiniz. Daha fazla bilgi için bkz. Kümenin erişim parolasını sıfırlama.indexSenkronize edilecek dizin. Bu değeri
,-.monitoring,-.security,-.kibanaolarak ayarlamak, nokta (.) ile başlayan sistem dizinleri hariç tüm dizinleri senkronize eder.%{[@metadata][_index]}, meta verilerdeki dizinle eşleşir; bu, hedef dizinin kaynak dizinle aynı ada sahip olacağı anlamına gelir.NotTipik olarak Elasticsearch kümesi için izleme günlüklerini depolayan sistem dizinlerinin senkronize edilmesi gerekmez.
docinfotrue olarak ayarlandığında bu parametre, dizin, tür ve ID gibi meta verileri Elasticsearch belgesinden çıkarır.
document_typeHedef dizinin türünü belirtir. Bu parametreyi meta verilerdeki
typeile eşleşecek şekilde%{[@metadata][_type]}olarak ayarlayın. Bu, hedef dizinin kaynak dizinle aynı türe sahip olmasını sağlar.document_idSenkronize edilen belgenin ID'sini belirtin. Meta verilerdeki ID ile eşleşmesi için bunu
%{[@metadata][_id]}olarak ayarlayın. Bu, senkronize edilen belgenin ID'sinin kaynak belge ID'siyle aynı olduğu anlamına gelir.file_extendİsteğe bağlıdır. Hata ayıklama günlüğü özelliğini etkinleştirir ve hata ayıklama günlüklerinin çıkış yolunu yapılandırmak için path parametresini kullanır. Çıkışı doğrudan konsolda görüntülemenize olanak tanıdığından bu parametreyi yapılandırmanızı öneririz. Bu parametre yapılandırılmazsa çıktıyı hedefte kontrol etmeniz ve ardından değişiklik yapmak için konsola geri dönmeniz gerekir ki bu zaman alıcıdır. Daha fazla bilgi için bkz. Hata Ayıklama Özelliğini Yapılandırmak için Logstash İşlem Hattı Kullanma.
Önemlifile_extend parametresi logstash-output-file_extend eklentisini gerektirir. Eklentileri yükleme veya kaldırma. path parametresi varsayılan olarak sistem tarafından belirtilen bir yoldur. Değiştirmeyin. Ayrıca Start Configuration Debug seçeneğine tıklayarak path değerini de alabilirsiniz.
Yapılandırma dosyası yapısı ve desteklenen veri türleri sürüme göre değişir. Ayrıntılar için bkz. Yapılandırma Dosyasının Yapısı.
-
İşlem hattı parametrelerini yapılandırmak için Next step seçeneğine tıklayın.
Pipeline Workers değerini kümenizin CPU çekirdek sayısına ayarlayın. Diğer parametreleri varsayılan değerlerinde bırakın. Parametre açıklamaları için bkz. Yapılandırma dosyalarını kullanarak işlem hatlarını yönetme.
-
Save veya Save and Deploy seçeneğine tıklayın.
Save: İşlem hattı yapılandırmasını kaydeder ancak uygulamaz. Kaydettikten sonra Pipelines sayfasına dönersiniz. Pipelines bölümünde, yapılandırmayı uygulamak üzere örneği yeniden başlatmak için Deploy Now seçeneğine Actions sütununda tıklayabilirsiniz.
Save and Deploy: Yapılandırmayı kaydeder ve dağıtır, değişiklikleri uygulamak için örneği yeniden başlatır.
-
Başarı iletişim kutusunda OK seçeneğine tıklayın.
Oluşturulan işlem hattını Pipelines listesinde görüntüleyebilirsiniz. Küme güncellemesi tamamlandığında ve işlem hattı Status durumu Running olarak gösterildiğinde Alibaba Cloud Logstash verileri senkronize etmeye başlar.
Adım 4: Veri senkronizasyonu sonuçlarını doğrulama
İşlem hattı yapılandırılıp çalıştırıldıktan sonra sonuçları hedef Alibaba Cloud Elasticsearch kümesinin Kibana konsolunda doğrulayabilirsiniz.
-
Elasticsearch kümenizin Kibana konsolunda oturum açın.
Talimatlar için bkz. Kibana konsolunda oturum açma.
NotBuradaki örnekler Elasticsearch V6.7.0 kullanır. Diğer sürümler için işlemler biraz farklılık gösterebilir.
Sol gezinme menüsünde seçeneklerini belirleyin.
-
Console alanında veri senkronizasyonu sonuçlarını görüntülemek için aşağıdaki komutu çalıştırın.
GET /my_index/_search { "query": { "match_all": {} } }Beklenen çıktı aşağıdaki gibidir.
{ "took" : 2, "timed_out" : false, "_shards" : { "total" : 5, "successful" : 5, "skipped" : 0, "failed" : 0 }, "hits" : { "total" : 4, "max_score" : 1.0, "hits" : [ { "_index" : "my_index", "_type" : "doc", "_id" : "aKG3bHABnsveUjNW2iXy", "_score" : 1.0, "_source" : { "post_date" : "2009-11-15T14:00:00", "@version" : "1", "@timestamp" : "2020-02-22T11:45:52.992Z", "tags" : [ "ruby" ], "title" : "Two" } }, ... ] } }Kaynak ve hedefteki veriler tutarlıysa veri senkronizasyonu başarılı olmuştur. Ayrıca
GET _cat/indices?vkomutunu çalıştırarak kaynak ve hedefteki aynı dizinlerin boyutlarının tutarlı olup olmadığını kontrol edebilir ve buna göre veri senkronizasyonunun başarılı olup olmadığını belirleyebilirsiniz.
İlgili belgeler
-
Küme izlemeyi nasıl yapılandıracağınızı öğrenin:
-
Üçüncü taraf Elasticsearch verilerini Alibaba Cloud'a nasıl geçireceğinizi öğrenin: