All Products
Search
Document Center

Elasticsearch:Gunakan Alibaba Cloud Logstash untuk memigrasikan data dari kluster Elasticsearch yang dikelola sendiri ke kluster Alibaba Cloud Elasticsearch

Last Updated:Mar 26, 2026

Panduan ini menjelaskan cara menggunakan fitur konfigurasi pipeline Alibaba Cloud Logstash untuk memigrasikan data dari kluster Elasticsearch yang dikelola sendiri ke kluster Alibaba Cloud Elasticsearch.

Peringatan

Logstash hanya memigrasikan data—tidak memigrasikan pemetaan (mappings) atau pengaturan (settings) indeks. Jika Anda mengandalkan pembuatan indeks otomatis di kluster tujuan, struktur data sebelum dan sesudah migrasi mungkin tidak konsisten. Untuk menjaga konsistensi struktur data, buatlah indeks kosong secara manual di kluster tujuan sebelum memulai migrasi. Salin mappings dan settings dari kluster sumber serta alokasikan jumlah shard yang sesuai.

Prasyarat

Sebelum memulai, pastikan bahwa:

  • Instance Elastic Compute Service (ECS) yang menjalankan kluster Elasticsearch yang dikelola sendiri berada dalam virtual private cloud (VPC). Instance ECS yang terhubung melalui ClassicLink tidak didukung.

  • Grup keamanan instance ECS tersebut mengizinkan akses inbound dari alamat IP node kluster Logstash pada port 9200. Temukan alamat IP node tersebut di halaman Basic Information instance Logstash Anda.

  • Instance Alibaba Cloud Logstash dan instance ECS berada dalam VPC yang sama. Jika berada di jaringan berbeda, konfigurasikan NAT Gateway untuk akses jaringan publik. Untuk detailnya, lihat Konfigurasi gateway NAT untuk transmisi data publik.

  • Versi yang digunakan kompatibel. Panduan ini menggunakan Elasticsearch yang dikelola sendiri versi 8.17, Alibaba Cloud Elasticsearch 8.17, dan Alibaba Cloud Logstash 8.11.4. Konfigurasi pipeline dalam panduan ini hanya berlaku untuk kombinasi versi tersebut. Untuk versi lain, periksa Kompatibilitas produk sebelum melanjutkan.

Langkah-langkah migrasi

Migrasi mencakup tiga langkah:

  1. Persiapkan lingkungan

  2. Konfigurasikan dan jalankan pipeline Logstash

  3. Lihat hasil migrasi data

Langkah 1: Persiapkan lingkungan

  1. Siapkan kluster Elasticsearch yang dikelola sendiri di ECS. Panduan ini menggunakan versi 8.17 sebagai contoh. Untuk instruksi instalasi, lihat Instal dan jalankan Elasticsearch.

  2. Buat instance Alibaba Cloud Logstash dalam VPC yang sama dengan instance ECS Anda. Untuk detailnya, lihat Buat instance Alibaba Cloud Logstash.

  3. Buat instance Alibaba Cloud Elasticsearch tujuan dan aktifkan pembuatan indeks otomatis.

Langkah 2: Konfigurasikan dan jalankan pipeline Logstash

  1. Buka halaman Logstash Clusters di Konsol Alibaba Cloud Elasticsearch.

  2. Di bilah navigasi atas, pilih wilayah tempat kluster Anda berada. Di halaman Logstash Clusters, temukan kluster tersebut dan klik ID-nya.

  3. Di panel navigasi kiri, klik Pipelines.

  4. Pada halaman Pipelines, klik Create Pipeline.

  5. Di halaman Create Pipeline Task, masukkan ID pipeline dan konfigurasikan pipeline menggunakan konfigurasi berikut.

    PlaceholderDeskripsi
    <IP address of the self-managed Elasticsearch master node>Alamat IP node master Elasticsearch yang dikelola sendiri Anda
    es-cn-mp91cbxsm000c****ID instance Alibaba Cloud Elasticsearch Anda
    your_passwordKata sandi untuk layanan Elasticsearch terkait
    ParameterDeskripsi
    hostsTitik akhir layanan Elasticsearch. Di bagian input, gunakan http://<master node IP>:<port>. Di bagian output, gunakan http://<Alibaba Cloud Elasticsearch instance ID>.elasticsearch.aliyuncs.com:9200.
    userUsername untuk mengakses Elasticsearch. Parameter user dan password wajib diisi. Jika X-Pack tidak diinstal pada kluster yang dikelola sendiri Anda, biarkan kosong. Username default untuk Alibaba Cloud Elasticsearch adalah elastic. Untuk menggunakan pengguna kustom, tetapkan role yang diperlukan terlebih dahulu. Lihat Gunakan manajemen role Elasticsearch X-Pack untuk mengontrol izin pengguna.
    passwordKata sandi untuk mengakses Elasticsearch.
    index (input)Atur ke *,-.monitoring*,-.security*,-.kibana* untuk menyinkronkan semua indeks kecuali indeks sistem yang diawali dengan ..
    index (output)Atur ke %{[@metadata][input][elasticsearch][_index]} untuk mempertahankan nama indeks sumber di kluster tujuan.
    docinfoAtur ke true untuk mengambil metadata dokumen dari kluster sumber, termasuk indeks, tipe, dan ID.
    document_idAtur ke %{[@metadata][input][elasticsearch][_id]} untuk mempertahankan ID dokumen sumber di kluster tujuan.
    file_extendOpsional. Mengaktifkan fitur log debug. Parameter path menentukan lokasi output log. Sebelum menggunakan parameter ini, instal plugin logstash-output-file_extend. Lihat Instal dan hapus plugin dan Gunakan pipeline Logstash untuk mengonfigurasi fitur debug. Klik Start Configuration Debug untuk mendapatkan path default — jangan mengubahnya.
    input {
      elasticsearch {
        hosts => ["http://<IP address of the self-managed Elasticsearch master node>:9200"]
        user => "elastic"
        index => "*,-.monitoring*,-.security*,-.kibana*"
        password => "your_password"
        docinfo => true
      }
    }
    filter {
    }
    output {
      elasticsearch {
        hosts => ["http://es-cn-mp91cbxsm000c****.elasticsearch.aliyuncs.com:9200"]
        user => "elastic"
        password => "your_password"
        index => "%{[@metadata][input][elasticsearch][_index]}"
        document_id => "%{[@metadata][input][elasticsearch][_id]}"
      }
      file_extend {
            path => "/ssd/1/ls-cn-v0h1kzca****/logstash/logs/debug/test"
        }
    }

    Ganti placeholder berikut dengan nilai aktual: Pipeline membaca semua indeks dari kluster sumber (kecuali indeks sistem yang diawali dengan .) dan menuliskannya ke kluster tujuan, mempertahankan nama indeks dan ID dokumen. Tabel berikut menjelaskan parameter utama. Cegah penulisan duplikat: Plugin input Elasticsearch akan berhenti secara otomatis setelah membaca semua data. Karena Alibaba Cloud Logstash mengharuskan proses berjalan terus-menerus, pipeline akan dimulai ulang saat berhenti—yang dapat menyebabkan penulisan duplikat. Untuk mencegah hal ini, tambahkan parameter schedule ke bagian input agar pipeline dijalankan sekali pada waktu tertentu menggunakan ekspresi cron, lalu hentikan pipeline secara manual setelah eksekusi pertama.

    schedule => "20 13 5 3 *"

    Contoh ini menjalankan pipeline sekali pada pukul 13.20 tanggal 5 Maret. Setelah pipeline selesai, hentikan secara manual. Untuk informasi lebih lanjut tentang sintaksis cron, lihat Scheduling dalam dokumentasi Logstash. Untuk opsi konfigurasi tambahan, lihat Deskripsi file konfigurasi Logstash.

  6. Klik Next untuk mengonfigurasi parameter pipeline.

    Peringatan

    Menyimpan dan menerapkan pipeline akan memicu restart kluster Logstash. Pastikan restart tersebut tidak memengaruhi bisnis Anda sebelum melanjutkan.

    ParameterDeskripsi
    Pipeline WorkersJumlah thread pekerja yang menjalankan plugin filter dan output secara paralel. Jika terjadi antrean event atau sumber daya CPU kurang dimanfaatkan, tingkatkan nilai ini. Default: jumlah vCPU.
    Pipeline Batch SizeJumlah maksimum event yang dikumpulkan oleh satu thread pekerja dari plugin input sebelum menjalankan plugin filter dan output. Nilai yang lebih besar meningkatkan throughput tetapi mengonsumsi lebih banyak memori. Untuk mendukung batch yang lebih besar, tingkatkan ukuran heap JVM menggunakan variabel LS_HEAP_SIZE. Default: 125.
    Pipeline Batch DelayWaktu tunggu (dalam milidetik) sebelum menugaskan batch kecil ke thread pekerja pipeline. Default: 50 ms.
    Queue TypeModel antrian internal untuk buffering event. MEMORY (default): antrian berbasis memori. PERSISTED: antrian persisten berbasis disk.
    Queue Max BytesUkuran data maksimum untuk antrian, dalam MB. Nilai valid: bilangan bulat dari 1 hingga 2⁵³ - 1. Harus lebih kecil dari kapasitas disk total Anda. Default: 1024.
    Queue Checkpoint WritesJumlah maksimum event yang ditulis sebelum checkpoint diberlakukan (untuk antrian persisten). Atur ke 0 untuk tanpa batas. Default: 1024.

    管道参数配置

  7. Klik Save atau Save and Deploy.

    • Save: Menyimpan pengaturan pipeline dan memicu perubahan kluster, tetapi pengaturan belum langsung berlaku. Di halaman Pipelines, temukan pipeline tersebut dan klik Deploy Now di kolom Actions. Sistem kemudian akan me-restart kluster Logstash agar pengaturan berlaku.

    • Save and Deploy: Langsung me-restart kluster Logstash dan menerapkan pengaturan.

Langkah 3: Lihat hasil migrasi data

  1. Pada instance Alibaba Cloud Elasticsearch Anda, login ke konsol Kibana. Di panel navigasi kiri, klik ikon 展开图标 dan pilih Management > Developer Tools.

    Panduan ini menggunakan Alibaba Cloud Elasticsearch 8.17. Langkah-langkah mungkin berbeda untuk versi lain. Ikuti tampilan UI konsol yang sebenarnya.
  2. Di Console, jalankan perintah berikut untuk menampilkan semua indeks yang telah dimigrasikan.

    GET /_cat/indices?v

    Output akan menampilkan semua indeks di kluster tujuan. Pastikan nama indeks dan jumlah dokumen sesuai dengan yang ada di kluster sumber.

    image

FAQ

Kluster Elasticsearch yang dikelola sendiri dan instance Alibaba Cloud Logstash saya berada di akun berbeda. Bagaimana cara mengonfigurasi konektivitas jaringan?

Karena instance ECS dan instance Logstash berada di akun berbeda, keduanya berada di VPC yang berbeda. Gunakan Cloud Enterprise Network (CEN) untuk menghubungkan kedua VPC tersebut. Untuk detailnya, lihat Langkah 3: Muat instance jaringan.

Apa yang harus saya lakukan jika Logstash gagal menulis data?

Lihat Pemecahan masalah penulisan data Logstash.