Jika Anda perlu memigrasikan data file log ke Alibaba Cloud Elasticsearch tanpa memerlukan jaminan real-time yang ketat, instans Logstash yang dikelola sendiri pada Elastic Compute Service (ECS) merupakan solusi praktis. Topik ini menjelaskan cara men-deploy Logstash pada ECS, mengonfigurasi pipeline untuk membaca file log, dan mengalirkan catatan ke kluster Elasticsearch.
Cara kerja pipeline Logstash
Pipeline Logstash terdiri dari tiga tahap:
[Input] → [Filter] → [Output]Input: membaca data dari sumber, seperti file log
Filter: mengurai dan mentransformasi data (opsional)
Output: menulis data yang telah diproses ke tujuan, seperti Elasticsearch
Semua contoh dalam topik ini menggunakan input file, filter opsional, dan output Elasticsearch.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
Kluster Alibaba Cloud Elasticsearch (Edisi Standar, V8.5.1 digunakan dalam topik ini) dengan Auto Indexing diaktifkan. Lihat Buat kluster Alibaba Cloud Elasticsearch dan Akses dan konfigurasi kluster Elasticsearch.
Instans ECS di wilayah, zona, dan virtual private cloud (VPC) yang sama dengan kluster Elasticsearch, dengan akses jaringan ke kedua layanan tersebut. Lihat Buat instans menggunakan wizard.
JDK Temurin 17 atau versi yang lebih baru terinstal pada instans ECS. Lihat Instal JDK dan Kompatibilitas antara Logstash dan JVM.
Data log yang akan dimigrasikan. Topik ini menggunakan data log ECS sebagai sumber contoh.
Langkah 1: (Opsional) Buat role dan pengguna
Menghubungkan instans Logstash yang dikelola sendiri ke Alibaba Cloud Elasticsearch memerlukan pengguna Elasticsearch. Gunakan pengguna bawaan elastic untuk pengujian, atau buat pengguna khusus untuk lingkungan produksi.
Gunakan pengguna khusus di lingkungan produksi. Pengguna elastic memiliki akses superuser tanpa batas, yang menimbulkan risiko keamanan.
Elasticsearch menonaktifkan pengguna logstash_system secara default. Jangan buat pengguna bernama logstash_system. Sebagai gantinya, buat pengguna dan berikan role logstash_system kepadanya.
Buat role
Buat role dengan izin baca dan tulis pada indeks logstash-*.
Login ke Konsol Kibana kluster Elasticsearch. Lihat Login ke Konsol Kibana.
Klik ikon
di pojok kiri atas, lalu pilih Management > Stack Management.Di panel navigasi sebelah kiri, pilih Security > Roles.
Klik Create role di pojok kanan atas halaman Roles. Konfigurasikan parameter berikut:
Parameter Description Role name Nama kustom untuk role tersebut Indices logstash-*Privileges read,write,create,delete,create_indexKlik Create role.
Buat pengguna
Buat pengguna untuk pemantauan Logstash dan berikan role logstash_system kepadanya. Gunakan Konsol Kibana atau CLI.
Opsi 1: Konsol Kibana
Login ke Konsol Kibana. Lihat Login ke Konsol Kibana.
Klik ikon
, lalu pilih Management > Stack Management.Di panel navigasi sebelah kiri, pilih Security > Users.
Klik Create user di pojok kanan atas halaman Users.
Konfigurasikan parameter berikut:
Parameter Description Username Nama kustom untuk pengguna, misalnya logstash_system_monitorRoles logstash_systemKlik Create user.
Opsi 2: CLI
Jalankan perintah berikut dari instans ECS untuk membuat pengguna. Ganti placeholder dengan nilai aktual Anda.
curl -u elastic:<es-password> -XPOST http://<instanceId>.elasticsearch.aliyuncs.com:9200/_xpack/security/user/logstash_system_monitor -d '{"password" : "<logstash-monitor-password>","roles" : ["logstash_system"],"full_name" : "<your full name>"}'| Placeholder | Description |
|---|---|
<es-password> | Password pengguna elastic, juga digunakan untuk login ke Kibana |
<instanceId> | ID kluster Elasticsearch, dapat ditemukan di halaman Basic Information |
<logstash-monitor-password> | Password untuk pengguna logstash_system_monitor |
<your full name> | Nama tampilan untuk pengguna |
Setelah pengguna dibuat, hasil seperti pada gambar berikut akan dikembalikan.

Langkah 2: Instal Logstash pada instans ECS
Sambungkan ke instans ECS. Lihat Sambungkan ke instans ECS.
Unduh paket Logstash yang sesuai dengan versi kluster Elasticsearch Anda dari situs web Elastic. Untuk Logstash V8.5.1:
wget https://artifacts.elastic.co/downloads/logstash/logstash-8.5.1-linux-x86_64.tar.gzUntuk Logstash V7.4.0:
wget https://artifacts.elastic.co/downloads/logstash/logstash-7.4.0.tar.gzEkstrak paket tersebut:
tar -xzvf logstash-8.5.1-linux-x86_64.tar.gz
Langkah 3: Konfigurasi dan jalankan pipeline Logstash
Masuk ke direktori Logstash:
cd logstash-8.5.1Buat file konfigurasi pipeline:
touch test.confTambahkan konfigurasi berikut ke
test.conf:Parameter Description pathPath ke file log yang akan dipantau. Contoh: /var/log/messageshostsTitik akhir kluster Elasticsearch. Ganti <instanceId>dengan ID kluster Anda. Contoh:http://es-cn-45xxxxxxxxxxxxju.elasticsearch.aliyuncs.com:9200indexNama indeks target. Gunakan logstash-*agar sesuai dengan izin role yang dibuat di Langkah 1userUsername Elasticsearch. Bungkus nilai dengan tanda kutip ganda untuk menghindari error akibat karakter khusus passwordPassword Elasticsearch. Bungkus nilai dengan tanda kutip ganda untuk menghindari error akibat karakter khusus input { file { path => "/var/log/messages" } } filter { } output { elasticsearch { hosts => ["http://<instanceId>.elasticsearch.aliyuncs.com:9200"] index => "<index-name>" user => "<user-name>" password => "<logstash-password>" } }Logstash mendukung berbagai plugin input, filter, dan output. Untuk sintaksis konfigurasi lengkap, lihat Structure of a config file.
Jalankan pipeline:
bin/logstash -f test.confLogstash akan memantau file log yang dikonfigurasi dan mengirimkan baris-baris baru ke Elasticsearch saat ditulis.
Langkah 4: Lihat data yang telah dimigrasikan
Login ke Konsol Kibana. Lihat Login ke Konsol Kibana.
Klik ikon
, lalu pilih Management > Dev Tools.Di tab Console, jalankan:
GET /logstash-*/_searchHasil tersebut mengonfirmasi bahwa data log telah diindeks ke Elasticsearch.
Langkah 5: (Opsional) Pantau node Logstash
Aktifkan pemantauan X-Pack untuk melihat metrik Logstash di Dasbor Stack Monitoring Kibana.
Buka file konfigurasi pemantauan:
vim logstash-8.5.1/config/logstash.ymlHapus komentar dan atur parameter berikut:
Parameter Description xpack.monitoring.enabledAtur ke trueuntuk mengaktifkan pemantauan. Default:falsexpack.monitoring.elasticsearch.usernameNama pengguna yang Anda buat untuk pemantauan Logstash. Dalam contoh ini, pengguna elastic digunakan xpack.monitoring.elasticsearch.passwordPassword pengguna pemantauan xpack.monitoring.elasticsearch.hostsTitik akhir kluster Elasticsearch. Contoh: http://es-cn-45xxxxxxxxxxxxju.elasticsearch.aliyuncs.com:9200xpack.monitoring.enabled: true xpack.monitoring.elasticsearch.username: "<user-name>" xpack.monitoring.elasticsearch.password: "<logstash-password>" xpack.monitoring.elasticsearch.hosts: ["http://es-cn-nwy3fwjp8xxxxxxx.elasticsearch.aliyuncs.com:9200"]Mulai ulang Logstash dengan konfigurasi yang diperbarui:
cd logstash-8.5.1 bin/logstash -f test.confLogin ke Konsol Kibana dan klik ikon
, lalu pilih Management > Stack Monitoring.(Opsional) Di kotak dialog Create rules, klik OK.
Di halaman Cluster overview, lihat data pemantauan Logstash.