Simple Log Service memungkinkan Anda menggunakan Logstash untuk mengonsumsi data. Untuk melakukannya, konfigurasikan input Logstash Simple Log Service agar menarik data dari Simple Log Service dan mengirimkannya ke sistem lain, seperti Kafka dan HDFS.
Fitur
-
Distributed consumption: Konfigurasikan beberapa server untuk mengonsumsi data dari satu Logstore secara bersamaan.
-
High performance: Berdasarkan implementasi consumer group Java, plugin ini dapat memproses hingga 20 MB/detik data pada satu core (sebelum kompresi).
-
High reliability: Kemajuan konsumsi disimpan di server. Jika konsumen terputus, proses tersebut akan secara otomatis dilanjutkan dari checkpoint terakhir.
-
Automatic load balancing: Sistem secara otomatis mengalokasikan shard berdasarkan jumlah konsumen dan menyeimbangkan ulang beban saat konsumen ditambah atau dihapus.
Prosedur
Unduh paket instalasi Logstash untuk sistem operasi Anda dari Logstash.
Contoh berikut menggunakan lingkungan Linux:
-
Instal Logstash. Untuk informasi selengkapnya, lihat dokumentasi resmi Logstash.
-
Unduh dan instal kunci signature publik.
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch -
Di direktori
/etc/yum.repos.d/, buat file repositori dengan ekstensi.repo, sepertilogstash.repo, lalu tambahkan konten berikut:[logstash-9.x] name=Elastic repository for 9.x packages baseurl=https://artifacts.elastic.co/packages/9.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md -
Unduh dan instal Logstash.
sudo yum install logstash
-
-
Instal plugin input.
-
Unduh plugin input dari logstash-input-sls.
-
Instal plugin input.
/usr/share/logstash/bin/logstash-plugin install logstash-input-sls.zipCatatanUntuk informasi tentang potensi kegagalan instalasi dan solusinya, lihat instalasi dan konfigurasi plugin.
-
-
Buat pengguna
logstash. Logstash harus dijalankan sebagai pengguna non-root.-
Buat pengguna
logstash.sudo adduser --system --no-create-home --group logstash -
Tetapkan izin untuk pengguna logstash. Pastikan pengguna
logstashmemiliki kepemilikan atas direktori terkait Logstash, seperti/usr/share/logstash,/etc/logstash, dan/var/log/logstash.sudo chown -R logstash:logstash /usr/share/logstash /etc/logstash /var/log/logstash -
Verifikasi bahwa pengguna
logstashtelah dibuat.id logstashOutput harus menampilkan User ID (UID) dan Group ID (GID) untuk pengguna
logstash, yang mengonfirmasi bahwa pengguna berhasil dibuat.
-
-
Jalankan Logstash sebagai pengguna
logstash.-
Di direktori
/etc/logstash, buat file konfigurasi dengan ekstensi .conf. Topik ini menggunakanlogstash-sample.confsebagai contoh. -
Tambahkan kode contoh ke file
logstash-sample.confdan jalankan Logstash sebagai penggunalogstash.sudo -u logstash /usr/share/logstash/bin/logstash -f /etc/logstash/logstash-sample.confContoh berikut mengonfigurasi Logstash untuk mengonsumsi data dari Logstore dan mencetaknya ke standard output. Parameter yang digunakan dalam contoh dijelaskan di bawah ini.
Parameter
Kode contoh
input { logservice{ endpoint => "your project endpoint" access_id => "your_accesskey_id" access_key => "your_accesskey_secret" project => "your project name" logstore => "your logstore name" consumer_group => "consumer group name" consumer_name => "consumer name" position => "end" checkpoint_second => 30 include_meta => true consumer_name_with_ip => true } } output { stdout {} }endpoint
string(Wajib)Titik akhir layanan Proyek SLS. Untuk informasi selengkapnya, lihat Titik akhir layanan.
access_id
string(Wajib)ID AccessKey Akun Alibaba Cloud Anda. ID AccessKey harus memiliki izin yang diperlukan untuk mengelola kelompok konsumen. Untuk informasi selengkapnya, lihat Berikan izin untuk mengonsumsi data dari Logstore.
access_key
string(Wajib)Rahasia AccessKey Akun Alibaba Cloud Anda. Rahasia AccessKey harus memiliki izin yang diperlukan untuk mengelola kelompok konsumen. Untuk informasi selengkapnya, lihat Berikan izin untuk mengonsumsi data dari Logstore.
project
string(Wajib)Nama Proyek SLS.
logstore
string(Wajib)Nama penyimpanan log SLS.
consumer_group
string(Wajib)Nama kelompok konsumen.
consumer_name
string(Wajib)Nama konsumen. Nama ini harus unik dalam kelompok konsumen.
position
string(Wajib)Posisi tempat konsumsi data dimulai.
-
begin: Mulai konsumsi dari entri log pertama di Logstore.
-
end: Mulai konsumsi dari waktu saat ini.
-
yyyy-MM-dd HH:mm:ss: Mulai konsumsi dari titik waktu yang ditentukan.
checkpoint_second
number(Opsional)Interval, dalam detik, untuk menyimpan checkpoint. Nilainya harus berupa bilangan bulat antara 10 hingga 60. Default: 30.
include_meta
boolean(Opsional)Menentukan apakah metadata disertakan dalam output. Metadata mencakup bidang seperti source, time, tag, dan topic. Default: true.
consumer_name_with_ip
boolean(Opsional)Menentukan apakah alamat IP konsumen ditambahkan ke nama konsumen. Parameter ini harus diatur ke
trueuntuk mengaktifkan distributed consumption. Default: true. -
-