Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
-
Akun Alibaba Cloud. Jika belum memiliki, daftar di sini.
-
Virtual private cloud (VPC) dan vSwitch. Untuk petunjuk penyiapan, lihat Buat VPC IPv4.
Batasan
-
Kluster Elasticsearch sumber, kluster Logstash, dan kluster Elasticsearch tujuan harus berada dalam VPC yang sama. Jika berada di VPC berbeda, konfigurasikan NAT gateway untuk kluster Logstash agar dapat mengakses kedua kluster melalui internet. Lihat Konfigurasi NAT gateway untuk transmisi data melalui internet.
-
Versi ketiga kluster tersebut harus memenuhi persyaratan kompatibilitas. Periksa Matriks kompatibilitas sebelum melanjutkan.
Ikhtisar
Panduan ini akan memandu Anda melalui langkah-langkah berikut:
-
Siapkan — Buat kluster Elasticsearch sumber dan tujuan, aktifkan fitur Auto Indexing pada kluster tujuan, dan muat data uji.
-
Buat kluster Logstash — Buat kluster Logstash dan tunggu hingga statusnya aktif.
-
Buat dan jalankan pipeline — Konfigurasikan pipeline Logstash untuk menyinkronkan data antara kedua kluster.
-
Verifikasi hasil — Lakukan kueri terhadap kluster tujuan di Kibana untuk memastikan data telah tiba.
Siapkan
Buat kluster Elasticsearch
-
Login ke Konsol Elasticsearch.
-
Di panel navigasi kiri, klik Elasticsearch Clusters.
-
Klik Create dan buat dua kluster Elasticsearch — satu sebagai sumber dan satu sebagai tujuan. Contoh ini menggunakan kluster Logstash V6.7.0 untuk menyinkronkan data antara dua kluster Elasticsearch V6.7.0 Edisi Standar. Konfigurasi pipeline dalam panduan ini berlaku untuk kombinasi tersebut. Untuk kombinasi versi lain, verifikasi kompatibilitas terlebih dahulu di Matriks kompatibilitas. Jika kluster Anda tidak memenuhi persyaratan, lakukan upgrade versi atau buat kluster baru.
Pengguna default untuk mengakses kluster Elasticsearch adalah
elastic. Untuk menggunakan pengguna lain, berikan izin yang diperlukan ke suatu role dan tetapkan role tersebut ke pengguna tersebut. Lihat Gunakan mekanisme RBAC yang disediakan oleh Elasticsearch X-Pack untuk menerapkan kontrol akses.
Aktifkan Auto Indexing pada kluster tujuan
Aktifkan fitur Auto Indexing untuk kluster Elasticsearch tujuan. Lihat Konfigurasi file YML untuk petunjuknya.
Alibaba Cloud Elasticsearch menonaktifkan Auto Indexing secara default demi alasan keamanan. Saat Logstash menulis data ke kluster Elasticsearch, indeks dibuat dengan mengirimkan data secara langsung — bukan dengan memanggil create index API. Aktifkan Auto Indexing pada kluster tujuan sebelum menjalankan pipeline, atau buat indeks secara manual dan konfigurasikan pemetaannya terlebih dahulu.
Muat data uji
Login ke konsol Kibana dari kluster Elasticsearch sumber, buka Dev Tools, dan jalankan perintah berikut pada tab Console.
Kode berikut hanya berlaku untuk kluster Elasticsearch V6.7 dan hanya untuk pengujian. Untuk kluster V7.0 ke atas, lihat Memulai dengan Elasticsearch. Untuk petunjuk login ke konsol Kibana, lihat Login ke konsol Kibana.
-
Buat indeks bernama
my_indexdengan tipemy_type.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" } } } } } -
Masukkan dokumen
1ke dalammy_index.PUT /my_index/my_type/1?pretty { "title": "One", "tags": ["ruby"], "post_date":"2009-11-15T13:00:00" } -
Masukkan dokumen
2ke dalammy_index.PUT /my_index/my_type/2?pretty { "title": "Two", "tags": ["ruby"], "post_date":"2009-11-15T14:00:00" }
Langkah 1: Buat kluster Logstash
-
Di Konsol Elasticsearch, pilih wilayah tempat kluster Elasticsearch tujuan berada dari bilah navigasi atas.
-
Di panel navigasi kiri, klik Logstash Clusters.
-
Pada halaman Logstash Clusters, klik Create.
-
Pada halaman pembelian, konfigurasikan kluster. Untuk contoh ini, atur Billing Method menjadi Pay-as-you-go dan Logstash Version menjadi 6.7, serta biarkan pengaturan lainnya tetap pada nilai default. Untuk referensi lengkap parameter, lihat Buat kluster Logstash Alibaba Cloud.
Kluster Pay-as-you-go cocok untuk pengembangan dan pengujian. Kluster Subscription menawarkan diskon untuk penggunaan produksi.
-
Terima Logstash (Pay-as-you-go) Terms of Service dan klik Buy Now.
-
Setelah kluster dibuat, klik Console. Di bilah navigasi atas, pilih wilayah tempat kluster Logstash berada. Di panel navigasi kiri, klik Logstash Clusters dan pastikan kluster baru muncul dalam daftar.
Langkah 2: Buat dan jalankan pipeline
Tunggu hingga status kluster Logstash berubah menjadi Active sebelum melanjutkan.
-
Pada halaman Logstash Clusters, temukan kluster Anda dan klik Manage Pipeline di kolom Actions.
-
Pada halaman Pipelines, klik Create Pipeline.
-
Pada langkah Config Settings, atur Pipeline ID dan masukkan konfigurasi pipeline. Konfigurasi berikut menyinkronkan semua indeks non-sistem dari kluster sumber ke kluster tujuan. Semua contoh menggunakan plugin
inputdanoutputElasticsearch, denganfile_extenduntuk pencatatan log debug.Placeholder Description Example es-cn-0pp1f1y5g000h****ID kluster Elasticsearch sumber es-cn-0pp1f1y5g000h4udces-cn-mp91cbxsm000c****ID kluster Elasticsearch tujuan es-cn-mp91cbxsm000c3ugryour_passwordPassword untuk pengguna Elasticsearch — ls-cn-v0h1kzca****ID kluster Logstash (digunakan dalam path file_extend)ls-cn-v0h1kzca4oolParameter `input`
Parameter Required Description hostsYes Endpoint kluster Elasticsearch sumber, dalam format http://<source-cluster-id>.elasticsearch.aliyuncs.com:9200.userYes Username untuk kluster sumber. Default-nya adalah elastic.passwordYes Password untuk pengguna kluster sumber. Untuk mengatur ulang password yang lupa, lihat Atur ulang password akses untuk kluster Elasticsearch. indexYes Indeks yang akan dibaca. Nilai *,-.monitoring*,-.security*,-.kibana*menyinkronkan semua indeks kecuali indeks sistem (yang namanya diawali dengan.). Indeks sistem menyimpan data pemantauan kluster dan tidak perlu disinkronkan.docinfoNo Atur ke trueuntuk mengekstrak metadata dokumen (_index,_type,_id) dan membuatnya tersedia di[@metadata]. Diperlukan jika Anda ingin nama indeks, tipe, dan ID dokumen di tujuan sesuai dengan sumber.Parameter `output`
Parameter Required Description hostsYes Endpoint kluster Elasticsearch tujuan, dalam format http://<destination-cluster-id>.elasticsearch.aliyuncs.com:9200.userYes Username untuk kluster tujuan. passwordYes Password untuk pengguna kluster tujuan. indexYes Nama indeks tujuan. Nilai %{[@metadata][_index]}menggunakan nama indeks sumber (memerlukandocinfo => truediinput).document_typeNo Tipe indeks tujuan. Nilai %{[@metadata][_type]}sesuai dengan tipe sumber.document_idNo ID untuk dokumen di indeks tujuan. Nilai %{[@metadata][_id]}mempertahankan ID dokumen asli.file_extend>pathNo Path untuk log debug. Instal plugin logstash-output-file_extendsebelum menggunakan parameter ini. Lihat Instal dan hapus plugin. Klik Start Configuration Debug di konsol untuk mendapatkan path yang benar — jangan ubah path default yang ditentukan sistem.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" } }Ganti placeholder-nya. Untuk informasi lebih lanjut tentang sintaks Config Settings dan tipe data yang didukung, lihat Struktur File Konfigurasi.
-
Klik Next untuk mengonfigurasi parameter pipeline. Atur Pipeline Workers sesuai jumlah vCPU pada kluster Logstash Anda, dan biarkan pengaturan lainnya tetap pada nilai default. Untuk detailnya, lihat Gunakan file konfigurasi untuk mengelola pipeline.
-
Klik Save and Deploy.
-
Save menyimpan konfigurasi dan memicu perubahan kluster, tetapi pipeline tidak langsung berjalan. Untuk menjalankannya, temukan pipeline di halaman Pipelines dan klik Deploy.
-
Save and Deploy segera merestart kluster Logstash dan menerapkan pengaturan tersebut.
-
-
Klik OK untuk mengonfirmasi. Pipeline baru muncul di bagian Pipelines. Setelah statusnya berubah menjadi Running, sinkronisasi data dimulai.

Langkah 3: Verifikasi hasil sinkronisasi
-
Login ke konsol Kibana dari kluster Elasticsearch tujuan. Untuk petunjuknya, lihat Login ke konsol Kibana.
Contoh ini menggunakan kluster Elasticsearch V6.7.0. Langkah-langkahnya mungkin berbeda untuk versi lain.
-
Di panel navigasi kiri, klik Dev Tools.
-
Pada tab Console, jalankan kueri berikut:
GET /my_index/_search { "query": { "match_all": {} } }Jika sinkronisasi berhasil, kluster tujuan mengembalikan dokumen yang sama dengan kluster sumber. Untuk membandingkan ukuran indeks, jalankan
GET _cat/indices?vpada kedua kluster dan pastikan ukuran indeks tujuan sesuai dengan sumber.
Langkah selanjutnya
-
Siapkan pemantauan untuk kluster Logstash Anda:
-
Migrasi data dari kluster Elasticsearch yang dikelola sendiri: Gunakan Logstash Alibaba Cloud untuk migrasi data dari kluster Elasticsearch yang dikelola sendiri ke kluster Elasticsearch Alibaba Cloud