All Products
Search
Document Center

Simple Log Service:Integrasikan dengan Flume

Last Updated:Mar 26, 2026

Gunakan plugin aliyun-log-flume untuk mengintegrasikan Log Service dengan Flume guna menulis dan mengonsumsi data log.

Latar Belakang

Plugin aliyun-log-flume mengintegrasikan Log Service dengan Flume, memungkinkannya terhubung dengan sistem data lain seperti HDFS dan Kafka. Plugin ini menyediakan sink dan source.

  • sink: Flume membaca data dari sumber data lain dan menuliskannya ke Log Service.

  • source: Flume mengonsumsi data log dari Log Service dan menuliskannya ke sistem lain.

Untuk informasi lebih lanjut, lihat aliyun-log-flume.

Prosedur

  1. Unduh dan instal Flume.

    Untuk informasi lebih lanjut, lihat Flume.

  2. Unduh plugin aliyun-log-flume dan letakkan di direktori <FLUME_HOME>/lib.

    Untuk informasi lebih lanjut, lihat aliyun-log-flume-1.3.jar.

  3. Di direktori <FLUME_HOME>/conf, buat file konfigurasi bernama flumejob.conf.

    • Untuk konfigurasi dan contoh sink, lihat Sink.

    • Untuk konfigurasi dan contoh source, lihat Source.

  4. Jalankan Flume.

Sink

Gunakan sink untuk menulis data dari sumber lain ke Log Service melalui Flume. Dua format parsing berikut didukung:

  • SIMPLE: Menulis seluruh event Flume sebagai satu bidang ke Log Service.

  • DELIMITED: Memperlakukan seluruh event Flume sebagai data yang dibatasi (delimited). Data tersebut kemudian diurai menjadi bidang-bidang berdasarkan nama kolom yang dikonfigurasi dan ditulis ke Log Service.

Tabel berikut menjelaskan parameter konfigurasi sink.

Parameter

Wajib

Deskripsi

type

Ya

Nama kelas untuk sink. Tetapkan nilai ke com.aliyun.Loghub.flume.sink.LoghubSink.

endpoint

Ya

Titik akhir layanan Proyek. Contoh: http://cn-qingdao.log.aliyuncs.com. Ganti contoh tersebut dengan titik akhir layanan Anda. Untuk informasi lebih lanjut, lihat Titik akhir layanan.

project

Ya

Nama Proyek.

LogStore

Ya

Nama LogStore.

accessKeyId

Ya

ID AccessKey yang digunakan untuk mengidentifikasi pengguna. Untuk keamanan, gunakan Pasangan Kunci Akses Pengguna RAM. Untuk informasi tentang cara memperoleh Pasangan Kunci Akses, lihat Pasangan Kunci Akses.

accessKey

Ya

Secret AccessKey yang digunakan untuk mengautentikasi pengguna. Untuk keamanan, gunakan Pasangan Kunci Akses Pengguna RAM. Untuk informasi tentang cara memperoleh Pasangan Kunci Akses, lihat Pasangan Kunci Akses.

batchSize

Tidak

Jumlah entri data yang ditulis ke Log Service dalam setiap batch. Nilai default: 1000.

maxBufferSize

Tidak

Ukuran antrian cache. Nilai default: 1000.

serializer

Tidak

Format serialisasi untuk event Flume. Nilai yang valid:

  • DELIMITED: Mengurai data dalam format delimited.

  • SIMPLE: Mengurai data dalam format satu baris. Ini adalah format default.

  • JSON: Mengurai data dalam format JSON.

  • serializer kustom: Tetapkan ke nama kelas lengkap (fully qualified class name) serializer kustom Anda.

columns

Tidak

Parameter ini wajib ketika serializer diatur ke DELIMITED. Menentukan daftar nama kolom yang dipisahkan koma. Nama kolom harus dalam urutan yang sama dengan bidang dalam data.

separatorChar

Tidak

Ketika serializer diatur ke DELIMITED, parameter ini menentukan pemisah bidang. Nilainya harus berupa satu karakter. Nilai default adalah koma (,).

quoteChar

Tidak

Ketika serializer diatur ke DELIMITED, parameter ini menentukan karakter tanda kutip. Nilai default adalah tanda kutip ganda (").

escapeChar

Tidak

Ketika serializer diatur ke DELIMITED, parameter ini menentukan karakter escape. Nilai default adalah tanda kutip ganda (").

useRecordTime

Tidak

Menentukan apakah akan menggunakan bidang timestamp dari data sebagai waktu log. Jika diatur ke false, waktu sistem saat ini yang digunakan. Nilai default adalah false.

Untuk contoh konfigurasi sink, lihat GitHub.

Source

Gunakan source untuk mengonsumsi data log dari Log Service dan mengirimkannya ke sumber data lain melalui Flume. Dua format output berikut didukung:

  • DELIMITED: Mengeluarkan data ke Flume dalam format log delimited.

  • JSON: Mengeluarkan data ke Flume dalam format log JSON.

Tabel berikut menjelaskan parameter konfigurasi source.

Parameter

Wajib

Deskripsi

type

Ya

Nama kelas untuk source. Tetapkan nilai ke com.aliyun.Loghub.flume.source.LoghubSource.

endpoint

Ya

Titik akhir layanan Proyek. Contoh: http://cn-qingdao.log.aliyuncs.com. Ganti contoh tersebut dengan titik akhir layanan Anda. Untuk informasi lebih lanjut, lihat Titik akhir layanan.

project

Ya

Nama Proyek.

LogStore

Ya

Nama LogStore.

accessKeyId

Ya

ID AccessKey yang digunakan untuk mengidentifikasi pengguna. Untuk keamanan, gunakan Pasangan Kunci Akses Pengguna RAM. Untuk informasi tentang cara memperoleh Pasangan Kunci Akses, lihat Pasangan Kunci Akses.

accessKey

Ya

Secret AccessKey yang digunakan untuk mengautentikasi pengguna. Untuk keamanan, gunakan Pasangan Kunci Akses Pengguna RAM. Untuk informasi tentang cara memperoleh Pasangan Kunci Akses, lihat Pasangan Kunci Akses.

heartbeatIntervalMs

Tidak

Interval heartbeat antara client dan Log Service. Nilai default adalah 30.000 milidetik.

fetchIntervalMs

Tidak

Interval pengambilan data. Nilai default adalah 100 milidetik.

fetchInOrder

Tidak

Menentukan apakah akan mengonsumsi data secara berurutan. Nilai default adalah false.

batchSize

Tidak

Jumlah entri data yang dibaca dalam setiap batch. Nilai default adalah 100.

consumerGroup

Tidak

Nama kelompok konsumen.

initialPosition

Tidak

Posisi awal untuk konsumsi data. Nilai yang valid adalah begin, end, dan timestamp. Nilai default adalah begin.

Catatan

Jika checkpoint sisi server ada, maka checkpoint tersebut memiliki prioritas lebih tinggi.

timestamp

Tidak

Parameter ini wajib ketika initialPosition diatur ke timestamp. Menentukan waktu mulai dalam format Stempel waktu UNIX.

deserializer

Ya

Format deserialisasi untuk event Flume. Nilai yang valid:

  • DELIMITED: Mengurai data dalam format delimited. Ini adalah format default.

  • JSON: Mengurai data dalam format JSON.

  • deserializer kustom: Tetapkan ke nama kelas lengkap (fully qualified class name) deserializer kustom Anda.

columns

Tidak

Parameter ini wajib ketika deserializer diatur ke DELIMITED. Menentukan daftar nama kolom yang dipisahkan koma. Nama kolom harus dalam urutan yang sama dengan bidang dalam data.

separatorChar

Tidak

Ketika deserializer diatur ke DELIMITED, parameter ini menentukan pemisah bidang. Nilainya harus berupa satu karakter. Nilai default adalah koma (,).

quoteChar

Tidak

Ketika deserializer diatur ke DELIMITED, parameter ini menentukan karakter tanda kutip. Nilai default adalah tanda kutip ganda (").

escapeChar

Tidak

Ketika deserializer diatur ke DELIMITED, parameter ini menentukan karakter escape. Nilai default adalah tanda kutip ganda (").

appendTimestamp

Tidak

Ketika deserializer diatur ke DELIMITED, parameter ini menentukan apakah akan menambahkan timestamp secara otomatis sebagai bidang di akhir setiap baris. Nilai default adalah false.

sourceAsField

Tidak

Ketika deserializer diatur ke JSON, menentukan apakah akan menambahkan sumber log sebagai bidang bernama __source__. Nilai default adalah false.

tagAsField

Tidak

Ketika deserializer diatur ke JSON, menentukan apakah akan menambahkan tag log sebagai bidang. Setiap tag ditambahkan sebagai bidang terpisah dengan nama dalam format __tag__:{tag_name}. Nilai default adalah false.

timeAsField

Tidak

Ketika deserializer diatur ke JSON, menentukan apakah akan menambahkan waktu log sebagai bidang bernama __time__. Nilai default adalah false.

useRecordTime

Tidak

Menentukan apakah akan menggunakan stempel waktu asli log. Jika diatur ke false, waktu sistem saat ini yang digunakan. Nilai default adalah false.

Untuk contoh konfigurasi source, lihat GitHub.