Topik ini menjelaskan cara membuat klaster Alibaba Cloud Logstash dan mengonfigurasi pipeline Logstash untuk menyinkronkan data antara klaster Alibaba Cloud Elasticsearch.
Informasi latar belakang
Prasyarat
- Akun Alibaba Cloud dibuat.
Untuk membuat akun Alibaba Cloud, kunjungi halaman halaman pendaftaran akun.
- Virtual Private Cloud (VPC) dan vSwitch dibuat.
Untuk informasi lebih lanjut, lihat Buat VPC dengan blok CIDR IPv4.
Batasan
- Klaster Elasticsearch sumber, klaster Logstash, dan klaster Elasticsearch tujuan harus berada di VPC yang sama. Jika berada di VPC yang berbeda, Anda harus mengonfigurasi Network Address Translation (NAT) gateway untuk klaster Logstash agar dapat terhubung ke klaster Elasticsearch sumber dan tujuan melalui Internet. Untuk informasi lebih lanjut, lihat Konfigurasikan NAT gateway untuk transmisi data melalui Internet.
- Versi klaster Elasticsearch sumber, klaster Logstash, dan klaster Elasticsearch tujuan harus memenuhi persyaratan kompatibilitas. Untuk informasi lebih lanjut, lihat Matriks kompatibilitas.
Prosedur
- PersiapanBuat klaster Elasticsearch sumber dan tujuan, aktifkan fitur Auto Indexing untuk klaster Elasticsearch tujuan, dan siapkan data uji.
- Langkah 1: Buat klaster LogstashBuat klaster Logstash. Setelah status klaster Logstash berubah menjadi Aktif, Anda dapat membuat dan menjalankan pipeline Logstash.
- Langkah 2: Buat dan jalankan pipeline LogstashBuat dan konfigurasikan pipeline Logstash untuk menyinkronkan data.
- Langkah 3: Lihat hasil sinkronisasiMasuk ke konsol Kibana klaster Elasticsearch tujuan dan lihat hasil sinkronisasi data.
Persiapan
- Buat klaster Elasticsearch Alibaba Cloud.
- Masuk ke konsol Elasticsearch.
- Di bilah navigasi kiri, klik Elasticsearch Clusters.
- Klik Buat di halaman Elasticsearch Clusters dan buat dua klaster Elasticsearch.Kedua klaster Elasticsearch digunakan sebagai input dan output dari pipeline Logstash. Untuk informasi lebih lanjut, lihat Buat klaster Elasticsearch Alibaba Cloud. Dalam contoh ini, klaster Logstash V6.7.0 digunakan untuk menyinkronkan data antara klaster Elasticsearch V6.7.0 Edisi Standar. Kode yang disediakan dalam topik ini hanya berlaku untuk jenis sinkronisasi data ini. Gambar berikut menunjukkan konfigurasi klaster Elasticsearch yang dibuat.Catatan Jika Anda ingin melakukan jenis sinkronisasi data lainnya, Anda harus memeriksa apakah klaster Elasticsearch dan klaster Logstash Anda memenuhi persyaratan kompatibilitas berdasarkan instruksi dalam Matriks kompatibilitas. Jika tidak memenuhi persyaratan kompatibilitas, Anda dapat meningkatkan versinya atau membeli klaster baru.
Catatan Pengguna default yang digunakan untuk mengakses klaster Elasticsearch adalah elastic. Jika Anda ingin menggunakan pengguna selain elastic, Anda harus memberikan izin yang diperlukan kepada peran dan menetapkan peran tersebut kepada pengguna. Untuk informasi lebih lanjut, lihat Gunakan mekanisme RBAC yang disediakan oleh Elasticsearch X-Pack untuk menerapkan kontrol akses. Dalam contoh ini, pengguna default digunakan.
- Aktifkan fitur Auto Indexing untuk klaster Elasticsearch tujuan.Untuk informasi lebih lanjut, lihat Konfigurasikan file YML.Catatan
Untuk memastikan keamanan data, Alibaba Cloud Elasticsearch menonaktifkan fitur Auto Indexing secara default. Saat Anda menggunakan Alibaba Cloud Logstash untuk mentransfer data ke klaster Elasticsearch Alibaba Cloud, indeks dibuat di klaster Elasticsearch dengan mengirimkan data alih-alih memanggil API pembuatan indeks. Oleh karena itu, sebelum Anda menggunakan Alibaba Cloud Logstash untuk mentransfer data, Anda harus mengaktifkan fitur Auto Indexing untuk klaster Elasticsearch tujuan, atau buat indeks di klaster Elasticsearch tujuan dan konfigurasikan pemetaan untuk indeks tersebut.
- Siapkan data uji.Masuk ke konsol Kibana klaster Elasticsearch sumber. Di bilah navigasi kiri, klik Dev Tools. Pada tab Console halaman yang muncul, buat indeks dan sisipkan dokumen ke dalam indeks.Penting
- Untuk informasi lebih lanjut tentang cara masuk ke konsol Kibana, lihat Masuk ke konsol Kibana.
- Kode berikut hanya berlaku untuk klaster Elasticsearch V6.7 dan digunakan untuk pengujian saja. Untuk informasi lebih lanjut tentang kode sampel untuk klaster Elasticsearch V7.0 atau lebih baru, lihat Memulai dengan Elasticsearch.
- Buat indeks bernama my_index dan tipe my_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" } } } } } - Sisipkan dokumen bernama 1 ke dalam indeks my_index.
PUT /my_index/my_type/1?pretty { "title": "One", "tags": ["ruby"], "post_date":"2009-11-15T13:00:00" } - Sisipkan dokumen bernama 2 ke dalam indeks my_index.
PUT /my_index/my_type/2?pretty { "title": "Two", "tags": ["ruby"], "post_date":"2009-11-15T14:00:00" }
Langkah 1: Buat klaster Logstash
- Pergi ke halaman Klaster Logstash.
Pergi ke halaman Klaster Logstash dari konsol Elasticsearch Alibaba Cloud.
- Di bilah navigasi atas, pilih wilayah tempat klaster Elasticsearch tujuan berada.
- Di bilah navigasi kiri, klik Logstash Clusters.
- Di halaman Logstash Clusters, klik Create.
- Di halaman pembelian, konfigurasikan pengaturan peluncuran klaster.Dalam contoh ini, Metode Penagihan diatur ke Bayar sesuai Penggunaan, Versi Logstash diatur ke 6.7, dan nilai default dipertahankan untuk parameter lainnya. Untuk informasi lebih lanjut, lihat Buat klaster Logstash Alibaba Cloud.Catatan
- Kami merekomendasikan Anda membeli klaster Logstash pay-as-you-go untuk pengembangan program atau pengujian fungsional.
- Diskon ditawarkan untuk klaster subscription.
- Baca syarat layanan, pilih Ketentuan Layanan Logstash (Bayar sesuai Penggunaan), lalu klik Buy Now.
- Setelah pesan yang menunjukkan keberhasilan pembuatan ditampilkan, klik Console.
- Di bilah navigasi atas, pilih wilayah tempat klaster Logstash berada. Di bilah navigasi kiri, klik Logstash Clusters. Di halaman Logstash Clusters, lihat klaster Logstash yang baru dibuat.
Langkah 2: Buat dan jalankan pipeline Logstash
Setelah status klaster Logstash yang baru dibuat berubah menjadi Active, Anda dapat membuat dan menjalankan pipeline Logstash untuk menyinkronkan data.
- Di halaman Logstash Clusters, temukan klaster Logstash yang baru dibuat dan klik Manage Pipeline di kolom Actions.
- Di halaman Pipelines, klik Create Pipeline.
- Di langkah Config Settings, konfigurasikan Pipeline ID dan Config Settings.Dalam contoh ini, konfigurasi berikut digunakan untuk pipeline:
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" } }Parameter Deskripsi hosts Titik akhir klaster Elasticsearch sumber atau tujuan. Di bagian input, tentukan nilai untuk parameter ini dalam format http://<ID klaster Elasticsearch sumber>.elasticsearch.aliyuncs.com:9200. Di bagian output, tentukan nilai untuk parameter ini dalam formathttp://<ID klaster Elasticsearch tujuan>.elasticsearch.aliyuncs.com:9200.user Nama pengguna yang digunakan untuk mengakses klaster Elasticsearch sumber atau tujuan. Nama pengguna default adalah elastic. password Kata sandi yang digunakan untuk mengakses klaster Elasticsearch sumber atau tujuan. Kata sandi ditentukan saat Anda membuat klaster. Jika Anda lupa kata sandi, Anda dapat menyetel ulang. Untuk informasi lebih lanjut tentang prosedur dan perhatian saat menyetel ulang kata sandi, lihat Setel ulang kata sandi akses untuk klaster Elasticsearch. index Nama indeks yang datanya ingin Anda sinkronkan atau indeks ke mana Anda ingin menyinkronkan data. Jika Anda mengatur parameter ini ke *,-.monitoring*,-.security*,-.kibana*di bagian input, sistem akan menyinkronkan data di indeks selain indeks sistem yang namanya dimulai dengan titik (.). Nilai%{[@metadata][_index]}menunjukkan bahwa sistem mencocokkan parameter indeks dalam metadata. Dalam hal ini, nama indeks tujuan sama dengan nama indeks sumber.Catatan Indeks sistem digunakan untuk menyimpan log pemantauan klaster Elasticsearch dan tidak perlu disinkronkan.docinfo Nilai true menunjukkan bahwa sistem mengekstrak metadata dokumen Elasticsearch, seperti indeks, tipe, dan ID. document_type Tipe indeks tujuan. Nilai %{[@metadata][_type]}menunjukkan bahwa sistem mencocokkan parameter document_type dalam metadata. Dalam hal ini, tipe indeks tujuan sama dengan tipe indeks sumber.document_id ID dokumen di indeks tujuan. Nilai %{[@metadata][_id]}menunjukkan bahwa sistem mencocokkan parameter document_id dalam metadata. Dalam hal ini, ID dokumen di indeks tujuan sama dengan ID dokumen di indeks sumber.file_extend Parameter ini opsional. Ini menentukan apakah fitur debugging konfigurasi pipeline diaktifkan. Anda dapat menggunakan bidang path untuk menentukan jalur yang menyimpan log debug. Kami merekomendasikan Anda mengonfigurasi parameter ini. Setelah parameter dikonfigurasi, Anda dapat langsung melihat data keluaran pipeline di konsol. Jika parameter tidak dikonfigurasi, Anda perlu memeriksa data keluaran pipeline di tujuan. Jika data keluaran salah, Anda perlu memodifikasi konfigurasi pipeline di konsol. Ini meningkatkan biaya waktu dan tenaga. Untuk informasi lebih lanjut, lihat Gunakan fitur debugging konfigurasi pipeline. PentingSebelum Anda menggunakan parameter file_extend, Anda harus menginstal plug-in logstash-output-file_extend. Untuk informasi lebih lanjut, lihat Instal dan hapus plug-in. Secara default, bidang path diatur ke jalur yang ditentukan sistem. Kami merekomendasikan Anda tidak mengubah jalur. Anda dapat mengklik Start Configuration Debug untuk mendapatkan path.
Untuk informasi lebih lanjut tentang struktur kode dalam Config Settings dan tipe data yang didukung, lihat Struktur File Konfigurasi. Tipe data yang didukung mungkin berbeda di versi yang berbeda.
- Klik Next untuk mengonfigurasi parameter pipeline.Di langkah Parameter Pipeline, konfigurasikan parameter. Atur Pipeline Workers ke jumlah vCPU yang Anda konfigurasikan untuk klaster Logstash. Dalam contoh ini, nilai default dipertahankan untuk parameter lainnya. Untuk informasi lebih lanjut, lihat Gunakan file konfigurasi untuk mengelola pipeline.
Klik Save atau Save and Deploy.
Save: Setelah Anda mengklik tombol ini, sistem akan menyimpan pengaturan pipeline dan memicu perubahan klaster. Namun, pengaturan tersebut belum berlaku. Setelah Anda mengklik Simpan, halaman Pipelines muncul. Di halaman Pipelines, temukan pipeline yang dibuat dan klik Deploy Now di kolom Actions. Kemudian, sistem akan memulai ulang klaster Logstash untuk membuat pengaturan berlaku.
Save and Deploy: Setelah Anda mengklik tombol ini, sistem akan memulai ulang klaster Logstash untuk membuat pengaturan berlaku.
- Di pesan yang muncul, klik OK.Kemudian, Anda dapat melihat pipeline yang baru dibuat di bagian Pipelines. Setelah state pipeline berubah menjadi Running, sistem mulai menyinkronkan data.

Langkah 3: Lihat hasil sinkronisasi
Setelah pipeline Logstash dibuat dan mulai berjalan, Anda dapat masuk ke konsol Kibana klaster Elasticsearch tujuan untuk melihat hasil sinkronisasi data.
Masuk ke konsol Kibana klaster Elasticsearch Anda dan buka halaman utama konsol Kibana sesuai petunjuk.
Untuk informasi lebih lanjut tentang cara masuk ke konsol Kibana, lihat Masuk ke konsol Kibana.
CatatanDalam contoh ini, klaster Elasticsearch V6.7.0 digunakan. Operasi pada klaster versi lain mungkin berbeda. Operasi sebenarnya di konsol yang berlaku.
Di bilah navigasi kiri halaman yang muncul, klik Dev Tools.
- Di tab Console halaman yang muncul, jalankan perintah berikut untuk melihat hasil sinkronisasi data:
GET /my_index/_search { "query": { "match_all": {} } }Jika perintah berhasil dijalankan, hasil yang ditunjukkan pada gambar berikut dikembalikan.
Jika data di klaster Elasticsearch tujuan sama dengan data di klaster Elasticsearch sumber, data berhasil disinkronkan. Anda juga dapat menjalankan perintah GET _cat/indices?vdan memeriksa apakah ukuran indeks tujuan sama dengan ukuran indeks sumber untuk menentukan apakah data berhasil disinkronkan.
Referensi
- Konfigurasikan pemantauan untuk klaster Logstash:
- Migrasikan data Elasticsearch pihak ketiga ke Alibaba Cloud Elasticsearch: