Simple Log Service (SLS) menyediakan fitur konsumsi data real-time melalui Consume Processors. Structured Process Language (SPL) dapat digunakan untuk memproses data di server sebelum dikonsumsi. Topik ini mencakup konsep, manfaat, skenario penggunaan, aturan penagihan, serta target konsumsi yang didukung oleh Consume Processors.
Cara kerja
Consume Processor menggunakan SPL untuk memproses data SLS secara real-time. Fitur ini cocok untuk berbagai aplikasi, termasuk perangkat lunak pihak ketiga, aplikasi multi-bahasa, produk cloud, dan framework komputasi aliran. SPL adalah bahasa pemrosesan data berkinerja tinggi yang dirancang khusus untuk log semi-terstruktur. SPL memungkinkan pra-pemrosesan dan pembersihan data log di server, seperti penyaringan baris, pemangkasan kolom, dan ekstraksi berbasis regex. Setelah diproses, klien menerima data dalam format terstruktur. Untuk informasi lebih lanjut mengenai sintaksis SPL, lihat Sintaksis SPL.
Manfaat
-
Mengurangi biaya transfer data untuk konsumsi data melalui internet.
Sebagai contoh, jika Anda menulis log ke SLS lalu mengonsumsinya melalui internet, Anda mungkin perlu menyaring log tersebut sebelum mendistribusikannya ke sistem internal. Dengan konsumsi berbasis SPL, penyaringan log dapat dilakukan langsung di SLS. Hal ini mencegah pengiriman volume besar log yang tidak relevan ke konsumen dan menghemat biaya transfer data.
-
Menghemat sumber daya CPU lokal dan mempercepat komputasi.
Sebagai contoh, jika Anda menulis log ke SLS lalu mengonsumsinya di mesin lokal untuk komputasi, gunakan konsumsi berbasis SPL untuk melakukan komputasi langsung di SLS. Pendekatan ini mengurangi beban pada sumber daya lokal.
Aturan penagihan
-
Jika Logstore Anda menggunakan mode penagihan pay-by-data-written, penggunaan prosesor konsumen tidak dikenai biaya tambahan. Anda hanya dikenai biaya untuk transfer data outbound saat menarik data dari public endpoint Simple Log Service (SLS). Biaya dihitung berdasarkan jumlah data terkompresi. Untuk informasi lebih lanjut, lihat Item penagihan untuk mode pay-by-data-written.
-
Jika Logstore Anda menggunakan mode penagihan pay-by-feature, penggunaan prosesor konsumen dikenai biaya komputasi di sisi server. Anda juga mungkin dikenai biaya transfer data outbound jika menggunakan public endpoint. Untuk informasi lebih lanjut, lihat Item penagihan untuk mode pay-by-feature.
Target konsumsi
Tabel berikut menjelaskan target konsumsi yang didukung SLS untuk Consume Processors.
|
Tipe |
Target |
Deskripsi |
|
Aplikasi multi-bahasa |
Aplikasi multi-bahasa |
Aplikasi berbasis bahasa seperti Java, Python, dan Go dapat mengonsumsi data dari SLS menggunakan kelompok konsumen berbasis Consume Processor. Untuk informasi lebih lanjut, lihat Mengonsumsi data menggunakan API dan Mengonsumsi log menggunakan kelompok konsumen. Praktik terbaik: Mengonsumsi log berdasarkan Consume Processor (SPL) menggunakan SDK |
|
Produk cloud |
Alibaba Cloud Flink |
Anda dapat menggunakan komputasi real-time Alibaba Cloud Flink untuk mengonsumsi data dari SLS. Untuk informasi lebih lanjut, lihat Simple Log Service (SLS). Praktik terbaik: |
|
Komputasi aliran |
Kafka |
Jika Anda memerlukan fitur ini, ajukan tiket. |
Catatan penggunaan
-
Consume Processors melakukan komputasi kompleks di server. Latensi sisi server untuk pembacaan data mungkin sedikit meningkat karena variasi kompleksitas komputasi SPL dan karakteristik data. Sebagai contoh, pemrosesan data 5 MB dapat menambahkan latensi 10 ms hingga 100 ms. Namun, latensi end-to-end keseluruhan—yaitu total waktu mulai dari penarikan data hingga penyelesaian komputasi lokal—biasanya berkurang meskipun latensi sisi server meningkat.
-
Saat menggunakan Consume Processor, isu seperti kesalahan sintaksis SPL atau bidang data sumber yang tidak tersedia dapat menyebabkan loss data atau kegagalan konsumsi. Untuk informasi lebih lanjut, lihat Penanganan kesalahan.
-
Panjang maksimum pernyataan SPL dalam konfigurasi Consume Processor adalah 4 KB.
-
Batas baca shard untuk Consume Processors sama dengan batas konsumsi real-time biasa. Trafik baca shard untuk Consume Processor dihitung berdasarkan volume data mentah sebelum pemrosesan SPL. Untuk informasi lebih lanjut mengenai batas tersebut, lihat Pembacaan dan penulisan data.
Batasan
|
Item |
Deskripsi |
|
Jumlah Prosesor yang Dikonsumsi |
Anda dapat membuat maksimal 100 Consume Processors di setiap Proyek. Untuk meminta kuota lebih tinggi, submit a ticket. |
|
Panjang pernyataan SPL dalam konfigurasi Consume Processor |
Setiap pernyataan SPL tidak boleh melebihi 4.000 karakter. |
|
Batas instruksi SPL dalam Consume Processor |
Hanya instruksi pemrosesan baris yang didukung. Instruksi untuk agregasi, penilaian logis, atau operasi serupa lainnya tidak didukung. |
|
Periode efektif untuk pembaruan atau penghapusan Consume Processor |
Pembaruan atau penghapusan konfigurasi Consume Processor berlaku dalam waktu satu menit. |
FAQ
-
Bagaimana cara menangani error ShardReadQuotaExceed saat menggunakan Consume Processor?
-
Kode kesalahan ini menunjukkan bahwa trafik baca shard telah melebihi kuota. Untuk mengatasi masalah ini, gunakan salah satu solusi berikut:
-
Jika aplikasi client Anda mengalami error ini, tunggu beberapa saat lalu coba ulang operasi tersebut.
-
Alternatifnya, Anda dapat membagi shard secara manual. Hal ini mengurangi kecepatan baca untuk setiap shard saat Anda mengonsumsi data baru dari shard hasil pemisahan tersebut.
-
-
-
Apa kebijakan traffic shaping untuk Consume Processors?
-
Kebijakan throttling untuk Consume Processors sama dengan konsumsi data standar. Untuk informasi lebih lanjut, lihat Pembacaan dan penulisan data. Trafik untuk Consume Processor dihitung berdasarkan volume data mentah sebelum pemrosesan SPL.
-
Sebagai contoh, asumsikan ukuran data mentah adalah 100 MB (terkompresi). Setelah data disaring oleh pernyataan SPL
* | where method = 'POST', data yang dikembalikan ke klien adalah 20 MB (terkompresi). Trafik untuk tujuan throttling dihitung sebagai 100 MB.
-
-
-
Mengapa lalu lintas keluar rendah pada grafik "Traffic/min" di Pemantauan Proyek setelah saya menggunakan aturan untuk mengonsumsi data?
-
Nilai lalu lintas keluar pada grafik 'Traffic/Minute' di Pemantauan Proyek menunjukkan volume data setelah pemrosesan SPL, bukan volume data mentah. Jika pernyataan SPL Anda mencakup instruksi yang mengurangi volume data, seperti penyaringan baris atau pemangkasan kolom, nilai lalu lintas keluar mungkin rendah.
-