Anda dapat menggunakan Logstash untuk mengonsumsi data dari Simple Log Service. Konfigurasikan Simple Log Service Simple Log Service untuk mengambil data dari Simple Log Service dan menuliskannya ke sistem lain, seperti Kafka atau HDFS.
Fitur
-
Distributed consumption: Konfigurasikan beberapa server untuk mengonsumsi data dari satu Logstore secara bersamaan.
-
High performance: Berdasarkan implementasi kelompok konsumen Java, satu core dapat mengonsumsi data yang tidak terkompresi hingga 20 MB/detik.
-
High reliability: Kemajuan konsumsi disimpan di server. Jika terjadi pengecualian, konsumsi dilanjutkan secara otomatis dari checkpoint terakhir.
-
Automatic load balancing: Shard dialokasikan secara otomatis berdasarkan jumlah konsumen. Beban secara otomatis diseimbangkan ulang jika konsumen ditambah atau dihapus.
Prosedur
Unduh paket instalasi Logstash untuk sistem operasi Anda dari Logstash.
Topik ini menggunakan sistem Linux sebagai contoh:
-
Instal Logstash. Untuk informasi lebih lanjut, lihat Logstash.
-
Unduh dan instal kunci penandatangan publik.
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch -
Di direktori
/etc/yum.repos.d/, buat file 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 input plugin.
-
Unduh input plugin dari logstash-input-sls.
-
Instal input plugin.
/usr/share/logstash/bin/logstash-plugin install logstash-input-sls.zipCatatanUntuk informasi tentang potensi kegagalan instalasi dan solusinya, lihat Plugin installation and configuration.
-
-
Buat pengguna
logstash. Logstash harus dijalankan sebagai pengguna non-root.-
Buat pengguna
logstash.sudo adduser --system --no-create-home --group logstash -
Atur izin untuk pengguna logstash. Pastikan direktori Logstash terkait, seperti
/usr/share/logstash,/etc/logstash, dan/var/log/logstash, dimiliki oleh penggunalogstash.sudo chown -R logstash:logstash /usr/share/logstash /etc/logstash /var/log/logstash -
Verifikasi bahwa pengguna
logstashtelah dibuat.id logstashOutput menampilkan UID (user ID) dan GID (group ID) untuk pengguna
logstash, yang mengonfirmasi bahwa pengguna tersebut berhasil dibuat.[root@iZxxx ~]# id logstash uid=995(logstash) gid=992(logstash) groups=992(logstash)
-
-
Jalankan Logstash sebagai pengguna
logstash.-
Di direktori
/etc/logstash, buat file dengan ekstensi .conf. Topik ini menggunakanlogstash-sample.confsebagai contoh. -
Pada file
logstash-sample.conf, tambahkan kode contoh dan 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 output standar. Tabel berikut menjelaskan parameter-parameter tersebut.
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 untuk SLS Project. Untuk informasi selengkapnya, lihat Service endpoints.
access_id
string(Wajib)ID AccessKey untuk Akun Alibaba Cloud Anda. Kunci ini harus memiliki izin untuk mengelola kelompok konsumen. Untuk informasi selengkapnya, lihat Grant permissions to consume data from a Logstore.
access_key
string(Wajib)AccessKey Secret untuk Akun Alibaba Cloud Anda. Kunci ini harus memiliki izin untuk mengelola kelompok konsumen. Untuk informasi selengkapnya, lihat Grant permissions to consume data from a Logstore.
project
string(Wajib)Nama SLS Project.
logstore
string(Wajib)Nama SLS Logstore.
consumer_group
string(Wajib)Nama kelompok konsumen.
consumer_name
string(Wajib)Nama konsumen. Nama ini harus unik dalam satu kelompok konsumen.
position
string(Wajib)Posisi awal konsumsi.
-
begin: Mulai konsumsi dari entri pertama di Logstore.
-
end: Mulai konsumsi dari waktu saat ini.
-
yyyy-MM-dd HH:mm:ss: Mulai konsumsi dari titik waktu tertentu.
checkpoint_second
number(Opsional)Interval, dalam detik, untuk menyimpan checkpoint. Rentang yang direkomendasikan adalah 10 hingga 60. Nilainya minimal 10. Default: 30.
include_meta
boolean(Opsional)Menentukan apakah metadata seperti source, time, tag, dan topic disertakan. Default: true.
consumer_name_with_ip
boolean(Opsional)Menentukan apakah alamat IP ditambahkan ke nama konsumen. Parameter ini harus diatur ke true untuk distributed consumption. Default: true.
-
-