Integrasikan Log Service dengan Apache Flume menggunakan plugin aliyun-log-flume untuk menulis dan mengonsumsi data log.
Informasi latar belakang
aliyun-log-flume adalah plugin yang menghubungkan Log Service dengan Apache Flume, memungkinkan pertukaran data antara Log Service dan sistem lain seperti HDFS dan Kafka. Plugin ini menyediakan sink dan source.
-
Sink: Flume membaca data dari sumber lain dan menuliskannya ke Log Service.
-
Source: Flume mengonsumsi data log dari Log Service dan menuliskannya ke sistem lain.
Untuk informasi selengkapnya, lihat aliyun-log-flume.
Prosedur
-
Unduh dan instal Apache Flume.
Untuk informasi selengkapnya, lihat Apache Flume.
-
Unduh plugin aliyun-log-flume dan letakkan di direktori
/flume/lib.Untuk informasi selengkapnya, lihat aliyun-log-flume-1.3.jar.
-
Di direktori
/flume/conf, buat file konfigurasi bernama flumejob.conf. -
Jalankan Flume.
Sink
Sink menulis data dari sumber lain ke Log Service dan mendukung dua format parsing:
-
SIMPLE: menulis seluruh event Flume sebagai satu bidang ke Log Service.
-
DELIMITED: memperlakukan event Flume sebagai data yang dibatasi pemisah, menguraikannya menjadi bidang berdasarkan nama kolom yang dikonfigurasi, lalu menuliskannya ke Log Service.
Tabel berikut menjelaskan parameter sink.
|
Parameter |
Wajib |
Deskripsi |
|
type |
Ya |
Jenis sink. Atur parameter ini ke |
|
endpoint |
Ya |
Titik akhir proyek Log Service. Contoh: |
|
project |
Ya |
Nama proyek Log Service. |
|
LogStore |
Ya |
Nama Logstore. |
|
accessKeyId |
Ya |
ID AccessKey Akun Alibaba Cloud Anda. Kami menyarankan Anda menggunakan pasangan Kunci Akses Pengguna RAM. Untuk informasi selengkapnya, lihat Create an AccessKey. |
|
accessKey |
Ya |
Rahasia AccessKey Akun Alibaba Cloud Anda. Kami menyarankan Anda menggunakan pasangan Kunci Akses Pengguna RAM. Untuk informasi selengkapnya, lihat Create an AccessKey. |
|
batchSize |
Tidak |
Jumlah entri data yang ditulis ke Log Service dalam setiap batch. Nilai default: 1000. |
|
maxBufferSize |
Tidak |
Ukuran antrian buffer. Nilai default: 1.000 entri. |
|
serializer |
Tidak |
Format serialisasi event. Nilai yang valid:
|
|
columns |
Tidak |
Parameter ini wajib saat |
|
separatorChar |
Tidak |
Parameter ini digunakan saat |
|
quoteChar |
Tidak |
Parameter ini digunakan saat |
|
escapeChar |
Tidak |
Parameter ini digunakan saat |
|
useRecordTime |
Tidak |
Menentukan apakah akan menggunakan bidang |
Untuk contoh konfigurasi sink, lihat GitHub.
Source
Source mengonsumsi data log dari Log Service dan mengirimkannya ke sistem lain. Dua format output didukung:
-
DELIMITED: menulis data ke Flume dalam format delimited.
-
JSON: menulis data ke Flume dalam format JSON.
Tabel berikut menjelaskan parameter source.
|
Parameter |
Wajib |
Deskripsi |
|
type |
Ya |
Jenis source. Atur parameter ini ke |
|
endpoint |
Ya |
Titik akhir proyek Log Service. Contoh: |
|
project |
Ya |
Nama proyek Log Service. |
|
LogStore |
Ya |
Nama Logstore. |
|
accessKeyId |
Ya |
ID AccessKey Akun Alibaba Cloud Anda. Kami menyarankan Anda menggunakan pasangan Kunci Akses Pengguna RAM. Untuk informasi selengkapnya, lihat Create an AccessKey. |
|
accessKey |
Ya |
Rahasia AccessKey Akun Alibaba Cloud Anda. Kami menyarankan Anda menggunakan pasangan Kunci Akses Pengguna RAM. Untuk informasi selengkapnya, lihat Create an AccessKey. |
|
heartbeatIntervalMs |
Tidak |
Interval heartbeat antara client dan Log Service. Nilai default: 30.000 ms. |
|
fetchIntervalMs |
Tidak |
Interval pengambilan data. Nilai default: 100 ms. |
|
fetchInOrder |
Tidak |
Menentukan apakah akan mengonsumsi data secara berurutan. Nilai default: |
|
batchSize |
Tidak |
Jumlah entri data yang dibaca dalam setiap batch. Nilai default: 100. |
|
consumerGroup |
Tidak |
Nama kelompok konsumen yang digunakan untuk membaca data. |
|
initialPosition |
Tidak |
Posisi awal untuk mulai membaca data. Nilai yang valid: begin, end, dan timestamp. Nilai default: begin. Catatan
Jika checkpoint sisi server ada, maka checkpoint tersebut memiliki prioritas lebih tinggi. |
|
timestamp |
Tidak |
Parameter ini wajib saat |
|
deserializer |
Ya |
Format deserialisasi event. Nilai yang valid:
|
|
columns |
Tidak |
Parameter ini wajib saat |
|
separatorChar |
Tidak |
Parameter ini digunakan saat |
|
quoteChar |
Tidak |
Parameter ini digunakan saat |
|
escapeChar |
Tidak |
Parameter ini digunakan saat |
|
appendTimestamp |
Tidak |
Parameter ini digunakan saat |
|
sourceAsField |
Tidak |
Parameter ini digunakan saat |
|
tagAsField |
Tidak |
Parameter ini digunakan saat |
|
timeAsField |
Tidak |
Parameter ini digunakan saat |
|
useRecordTime |
Tidak |
Menentukan apakah akan menggunakan waktu log asli dari Log Service untuk stempel waktu event Flume. Jika |
Untuk contoh konfigurasi source, lihat GitHub.