All Products
Search
Document Center

Elasticsearch:Gunakan instans Logstash yang dikelola sendiri untuk menyinkronkan data dengan Alibaba Cloud Elasticsearch

Last Updated:Mar 26, 2026

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:

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.

Penting

Gunakan pengguna khusus di lingkungan produksi. Pengguna elastic memiliki akses superuser tanpa batas, yang menimbulkan risiko keamanan.

Penting

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-*.

  1. Login ke Konsol Kibana kluster Elasticsearch. Lihat Login ke Konsol Kibana.

  2. Klik ikon image di pojok kiri atas, lalu pilih Management > Stack Management.

  3. Di panel navigasi sebelah kiri, pilih Security > Roles.

  4. Klik Create role di pojok kanan atas halaman Roles. Konfigurasikan parameter berikut:

    ParameterDescription
    Role nameNama kustom untuk role tersebut
    Indiceslogstash-*
    Privilegesread, write, create, delete, create_index
  5. Klik Create role.

Buat pengguna

Buat pengguna untuk pemantauan Logstash dan berikan role logstash_system kepadanya. Gunakan Konsol Kibana atau CLI.

Opsi 1: Konsol Kibana

  1. Login ke Konsol Kibana. Lihat Login ke Konsol Kibana.

  2. Klik ikon image, lalu pilih Management > Stack Management.

  3. Di panel navigasi sebelah kiri, pilih Security > Users.

  4. Klik Create user di pojok kanan atas halaman Users.

  5. Konfigurasikan parameter berikut:

    ParameterDescription
    UsernameNama kustom untuk pengguna, misalnya logstash_system_monitor
    Roleslogstash_system
  6. Klik 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>"}'
PlaceholderDescription
<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

  1. Sambungkan ke instans ECS. Lihat Sambungkan ke instans ECS.

  2. 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.gz

    Untuk Logstash V7.4.0:

    wget https://artifacts.elastic.co/downloads/logstash/logstash-7.4.0.tar.gz
  3. Ekstrak paket tersebut:

    tar -xzvf logstash-8.5.1-linux-x86_64.tar.gz

Langkah 3: Konfigurasi dan jalankan pipeline Logstash

  1. Masuk ke direktori Logstash:

    cd logstash-8.5.1
  2. Buat file konfigurasi pipeline:

    touch test.conf
  3. Tambahkan konfigurasi berikut ke test.conf:

    ParameterDescription
    pathPath ke file log yang akan dipantau. Contoh: /var/log/messages
    hostsTitik akhir kluster Elasticsearch. Ganti <instanceId> dengan ID kluster Anda. Contoh: http://es-cn-45xxxxxxxxxxxxju.elasticsearch.aliyuncs.com:9200
    indexNama indeks target. Gunakan logstash-* agar sesuai dengan izin role yang dibuat di Langkah 1
    userUsername 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.

  4. Jalankan pipeline:

    bin/logstash -f test.conf

    Logstash akan memantau file log yang dikonfigurasi dan mengirimkan baris-baris baru ke Elasticsearch saat ditulis.

Langkah 4: Lihat data yang telah dimigrasikan

  1. Login ke Konsol Kibana. Lihat Login ke Konsol Kibana.

  2. Klik ikon image, lalu pilih Management > Dev Tools.

  3. Di tab Console, jalankan:

    GET /logstash-*/_search

    Hasil 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.

  1. Buka file konfigurasi pemantauan:

    vim logstash-8.5.1/config/logstash.yml
  2. Hapus komentar dan atur parameter berikut:

    ParameterDescription
    xpack.monitoring.enabledAtur ke true untuk mengaktifkan pemantauan. Default: false
    xpack.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:9200
    xpack.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"]
  3. Mulai ulang Logstash dengan konfigurasi yang diperbarui:

    cd logstash-8.5.1
    bin/logstash -f test.conf
  4. Login ke Konsol Kibana dan klik ikon image, lalu pilih Management > Stack Monitoring.

  5. (Opsional) Di kotak dialog Create rules, klik OK.

  6. Di halaman Cluster overview, lihat data pemantauan Logstash.

Langkah selanjutnya

Referensi