全部产品
Search
文档中心

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

更新时间:Dec 25, 2025

Logstash adalah mesin pengumpulan data sumber terbuka yang dapat menyaring dan mentransmisikan data secara real-time. Jika Anda tidak memiliki persyaratan tinggi untuk kinerja real-time dalam migrasi data, Anda dapat menggunakan Logstash untuk memigrasikan data. Topik ini menjelaskan cara menggunakan Alibaba Cloud Elastic Compute Service (ECS) untuk menerapkan klaster Logstash yang dikelola sendiri dan cara menggunakan klaster tersebut untuk memigrasikan data dari file log ke klaster Elasticsearch Alibaba Cloud.

Prasyarat

  • Klaster Elasticsearch Alibaba Cloud telah dibuat, dan fitur Auto Indexing diaktifkan.

    Catatan
  • Instance ECS telah dibuat. Instance ECS harus dapat terhubung ke klaster Elasticsearch dan klaster Logstash yang dikelola sendiri. Untuk informasi lebih lanjut, lihat Buat instance menggunakan wizard.

    Catatan

    Disarankan untuk membuat instance ECS di wilayah, zona, dan virtual private cloud (VPC) yang sama dengan klaster Elasticsearch.

  • JDK telah diinstal pada instance ECS. Untuk informasi lebih lanjut, lihat Instal JDK.

    Catatan

    JDK harus versi Temurin 17 atau yang lebih baru. Untuk informasi lebih lanjut tentang kompatibilitas antara versi Java JDK dan versi Logstash, lihat Kompatibilitas antara Logstash dan JVM.

  • Data yang akan dimigrasikan telah disiapkan. Dalam contoh ini, data log ECS digunakan.

Prosedur

Langkah 1: (Opsional) Buat peran dan pengguna

Anda memerlukan pengguna Elasticsearch saat menghubungkan klaster Logstash yang dikelola sendiri ke klaster Elasticsearch Alibaba Cloud atau melihat data pemantauan Logstash di konsol Kibana. Anda dapat menggunakan pengguna elastic atau pengguna kustom.

Catatan

Dalam skenario bisnis nyata, disarankan untuk menggunakan pengguna kustom. Sebelum menggunakan pengguna kustom, tetapkan peran dengan izin yang diperlukan kepada pengguna tersebut. Penggunaan pengguna elastic dalam bisnis nyata dapat menimbulkan risiko keamanan sistem.

Buat peran

Dalam contoh ini, peran dengan izin baca dan tulis pada indeks logstash-* dibuat.

  1. Masuk ke konsol Kibana klaster Elasticsearch.

    Untuk informasi lebih lanjut, lihat Masuk ke konsol Kibana.

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

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

  4. Di halaman Roles, klik Create role di pojok kanan atas. Di halaman Create role, konfigurasikan parameter.

    Tabel berikut menjelaskan beberapa parameter yang ditampilkan.

    Parameter

    Deskripsi

    Role name

    Nama peran. Masukkan nama kustom.

    Indices

    Indeks yang ingin Anda kelola. Pilih logstash-*.

    Privileges

    Izin yang ingin Anda berikan kepada peran. Pilih read, write, create, delete, dan create_index.

  5. Klik Create role.

Buat pengguna

Dalam contoh ini, pengguna untuk memantau Logstash dibuat. Anda dapat menggunakan salah satu metode berikut untuk membuat pengguna.

Penting

Secara default, Elasticsearch menonaktifkan pengguna logstash_system, dan Anda tidak diizinkan membuat pengguna bernama logstash_system. Anda harus membuat pengguna yang ditetapkan peran logstash_system.

  • Metode 1: Buat pengguna di konsol Kibana

    1. Masuk ke konsol Kibana klaster Elasticsearch.

      Untuk informasi lebih lanjut, lihat Masuk ke konsol Kibana.

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

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

    4. Di halaman Users, klik Create user di pojok kanan atas.

    5. Di halaman Create user, konfigurasikan parameter berikut.

      Tabel berikut menjelaskan beberapa parameter yang ditampilkan.

      Parameter

      Deskripsi

      Username

      Nama pengguna. Masukkan nama kustom. Contoh: logstash_system_monitor.

      Roles

      Peran yang ditetapkan kepada pengguna. Pilih logstash_system.

    6. Klik Create user.

  • Metode 2: Buat pengguna menggunakan antarmuka baris perintah (CLI)

    Sambungkan ke instance ECS dan jalankan perintah berikut untuk membuat pengguna:

    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>"}'

    Parameter

    Deskripsi

    es-password

    Kata sandi klaster Elasticsearch. Kata sandi ini juga digunakan untuk masuk ke konsol Kibana klaster.

    <instanceId>

    ID klaster Elasticsearch. Anda dapat memeriksa ID klaster di halaman Informasi Dasar klaster Elasticsearch.

    <logstash-monitor-password>

    Kata sandi pengguna logstash_system_monitor.

    <your full name>

    Nama lengkap pengguna.

    Setelah pengguna dibuat, hasil seperti pada gambar berikut dikembalikan.添加用户成功

Langkah 2: Instal Logstash pada instance ECS

  1. Sambungkan ke instance ECS.

    Untuk informasi lebih lanjut, lihat Metode untuk menghubungkan ke instance ECS.

  2. Unduh paket instalasi Logstash.

    Kunjungi Situs web Elastic dan unduh paket instalasi Logstash yang sesuai dengan versi klaster Elasticsearch.

    wget https://artifacts.elastic.co/downloads/logstash/logstash-8.5.1-linux-x86_64.tar.gz
    Catatan

    Perintah untuk Logstash V7.4:

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

    Dalam contoh ini, Logstash V8.5.1 digunakan.

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

Langkah 3: Konfigurasikan dan jalankan pipeline Logstash

  1. Pergi ke direktori Logstash.

    cd logstash-8.5.1
  2. Buat file .conf.

    touch test.conf
  3. Konfigurasikan file test.conf.

    Contoh kode berikut memberikan contoh konfigurasi:

    input {
        file {
            path => "/your/file/path/xxx"
            }
    }
    filter {
    }
    output {
      elasticsearch {
        hosts => "<http://<instanceId>.elasticsearch.aliyuncs.com:9200>"
      	index => "<index-name>"
        user => "<user-name>"
        password => "<logstash-password>"
      }
    }

    Parameter

    Deskripsi

    path

    Path file log. Dalam contoh ini, /var/log/messages digunakan.

    hosts

    Titik akhir klaster Elasticsearch. Ganti instanceId dengan ID klaster Elasticsearch. Anda dapat memeriksa ID klaster di halaman Informasi Dasar klaster. Contoh: http://es-cn-45xxxxxxxxxxxxju.elasticsearch.aliyuncs.com:9200.

    index

    Nama indeks tempat data dalam file log ditulis. Anda dapat menentukan nama kustom.

    user

    Nama pengguna yang digunakan untuk mengakses klaster Elasticsearch. Dalam contoh ini, elastic digunakan.

    Penting
    • Untuk memastikan keamanan sistem, kami merekomendasikan agar Anda menggunakan pengguna kustom alih-alih pengguna elastic dalam bisnis nyata.

    • Nama pengguna harus diapit oleh tanda kutip ganda ("). Ini menghindari kesalahan potensial yang disebabkan oleh karakter khusus dalam nama pengguna saat Anda menjalankan pipeline Logstash.

    password

    Kata sandi yang digunakan untuk mengakses klaster Elasticsearch.

    Penting

    Kata sandi harus diapit oleh tanda kutip ganda ("). Ini menghindari kesalahan potensial yang disebabkan oleh karakter khusus dalam kata sandi saat Anda menjalankan pipeline Logstash.

    Logstash menyediakan berbagai plug-in input, filter, dan output. Anda hanya perlu mengonfigurasi plug-in ini secara sederhana untuk transfer data. Untuk informasi lebih lanjut, lihat Struktur File Konfigurasi.

  4. Jalankan pipeline Logstash.

    bin/logstash -f test.conf

    Jika perintah berhasil dijalankan, Logstash secara otomatis mendeteksi perubahan pada file log dan menyinkronkan perubahan tersebut ke klaster Elasticsearch. Logstash secara otomatis menyinkronkan data ke klaster Elasticsearch setiap kali data ditambahkan ke file log yang dipantau.

Langkah 4: Lihat data yang dimigrasikan

  1. Masuk ke konsol Kibana klaster Elasticsearch.

    Untuk informasi lebih lanjut, lihat Masuk ke konsol Kibana.

  2. Klik ikon image di pojok kiri atas halaman yang muncul, lalu pilih Management > Dev Tools.

  3. Di tab Console halaman yang muncul, jalankan perintah berikut:

    GET /logstash-*/_search

Langkah 5: (Opsional) Pantau node Logstash

  1. Navigasikan ke folder config di direktori Logstash.

    cd logstash-8.5.1/config
  2. Konfigurasikan file logstash.yml.

    1. Buka file logstash.yml.

      vim logstash.yml
    2. Di file logstash.yml, hapus anotasi parameter yang terdaftar dalam tabel berikut. Kemudian, konfigurasikan parameter.

      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"]

      Parameter

      Deskripsi

      xpack.monitoring.enable

      Atur parameter ini ke true. Nilai default: false.

      xpack.monitoring.elasticsearch.username

      Nama pengguna yang Anda buat untuk pemantauan Logstash. Dalam contoh ini, pengguna elastic digunakan.

      Penting

      Untuk memastikan keamanan sistem, kami merekomendasikan agar Anda menggunakan pengguna kustom alih-alih pengguna elastic dalam bisnis nyata.

      xpack.monitoring.elasticsearch.password

      Kata sandi pengguna yang Anda buat untuk pemantauan Logstash.

      xpack.monitoring.elasticsearch.hosts

      Titik akhir klaster Elasticsearch. Contoh: http://es-cn-45xxxxxxxxxxxxju.elasticsearch.aliyuncs.com:9200.

  3. Pergi ke direktori Logstash dan luncurkan layanan Logstash.

    cd ../
    bin/logstash -f test.conf
  4. Masuk ke konsol Kibana klaster Elasticsearch.

    Untuk informasi lebih lanjut, lihat Masuk ke konsol Kibana.

  5. Klik ikon image di pojok kiri atas halaman yang muncul, lalu pilih Management > Stack Monitoring.

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

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

Referensi