All Products
Search
Document Center

AnalyticDB:Impor data log menggunakan Logstash

Last Updated:Jul 11, 2026

Logstash adalah pipeline pemrosesan data open source di sisi server yang menyerap data dari berbagai sumber, mentransformasikannya, lalu mengirimkannya ke destinasi penyimpanan. Karena AnalyticDB for MySQL mendukung akses Java Database Connectivity (JDBC) native, Anda dapat menggunakan plugin output Logstash untuk menulis data log langsung ke AnalyticDB for MySQL.

Plugin komunitas logstash-output-jdbc menulis satu catatan dalam satu waktu, sehingga menghasilkan throughput rendah dan penggunaan CPU tinggi pada volume data besar. Plugin logstash-output-analyticdb mengatasi hal ini dengan menulis data secara batch, memberikan throughput hingga 5× lebih tinggi dengan overhead CPU lebih rendah.

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

  • Logstash yang telah diinstal. Lihat Installing Logstash.

  • Detail koneksi AnalyticDB for MySQL: host, port, nama database, username, dan password.

Instal plugin

Sebelum menulis data, perbarui plugin ke versi terbaru untuk mendapatkan perbaikan bug dan peningkatan performa terkini.

bin/logstash-plugin update logstash-output-analyticdb
  1. Buka direktori root Logstash.

    cd logstash
  2. Instal plugin logstash-output-analyticdb.

    bin/logstash-plugin install logstash-output-analyticdb
  3. Buat direktori driver JDBC dan unduh file JAR konektor.

    mkdir -p vendor/jar/jdbc
    cd vendor/jar/jdbc
    wget http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.36/mysql-connector-java-5.1.36.jar

Konfigurasi plugin

Buat file konfigurasi bernama logstash-analyticdb.conf di direktori config (Anda dapat menggunakan nama lain).

Contoh berikut membaca dari stdin dan menulis ke AnalyticDB for MySQL:

input {
    stdin { }
}
output {
    analyticdb {
        driver_class => "com.mysql.jdbc.Driver"
        connection_string => "jdbc:mysql://<hostname>:<port>/<database>?user=<username>&password=<password>"
        statement => [ "INSERT INTO log (host, timestamp, message) VALUES(?, ?, ?)", "host", "@timestamp", "message" ]
        commit_size => 4194304
    }
}

Ganti placeholder dengan nilai aktual Anda:

Placeholder Deskripsi
<hostname> Titik akhir AnalyticDB for MySQL
<port> Nomor port
<database> Nama database tujuan
<username> Username database
<password> Kata Sandi Database

Parameter plugin

Parameter Tipe Wajib Default Deskripsi
driver_class string Ya — Kelas driver JDBC. Gunakan com.mysql.jdbc.Driver untuk titik akhir yang kompatibel dengan MySQL.
connection_string string Ya — URL koneksi JDBC untuk AnalyticDB for MySQL.
statement array Ya — Pernyataan INSERT dalam bentuk array. Elemen pertama adalah templat SQL; elemen selanjutnya adalah nama bidang yang dipetakan ke placeholder ?.
commit_size integer Tidak — Volume data maksimum dalam byte per batch. Penulisan dipicu ketika batas ini atau flush_size tercapai, mana yang lebih dulu.
flush_size integer Tidak — Jumlah maksimum catatan per batch. Penulisan dipicu ketika batas ini atau commit_size tercapai, mana yang lebih dulu.
max_flush_exceptions integer Tidak 100 Jumlah maksimum percobaan ulang saat terjadi exception penulisan.
skip_exception boolean Tidak false Mengatur perilaku setelah semua percobaan ulang habis. Jika false, program melemparkan exception dan menghentikan tugas. Jika true, exception dilewati dan dituliskan ke log.

Untuk semua parameter yang tersedia, lihat README plugin tersebut. Untuk opsi konfigurasi Logstash secara umum, lihat dokumentasi Logstash.

Jalankan tugas

Dari direktori instalasi Logstash, jalankan:

bin/logstash -f config/logstash-analyticdb.conf

Logstash mulai membaca dari input yang dikonfigurasi dan menulis batch ke AnalyticDB for MySQL.