全部产品
Search
文档中心

Simple Log Service:Cara kerjanya

更新时间:Nov 09, 2025

Fitur transformasi data dari Simple Log Service menggunakan kelompok konsumen untuk mengonsumsi data log. Fitur ini memanfaatkan lebih dari 200 fungsi bawaan untuk mentransformasi data. Dokumen ini menjelaskan cara penjadwalan data log selama transformasi data dan bagaimana mesin aturan transformasi bekerja.

Prinsip penjadwalan

Fitur transformasi data dari Simple Log Service menggunakan kelompok konsumen untuk mengonsumsi data log dari Logstore sumber sebagai aliran. Setiap log diproses oleh aturan transformasi sebelum dikirim ke output.

  • Scheduling Mechanism

    Untuk setiap aturan transformasi, penjadwal layanan transformasi data memulai satu atau lebih instans. Setiap instans mengonsumsi satu atau lebih shard dari Logstore sumber. Penjadwal menentukan jumlah instans paralel berdasarkan konsumsi memori dan CPU mereka. Jumlah maksimum instans sama dengan jumlah shard dalam Logstore sumber.

  • Running Instance

    Sebuah instans membaca data log sumber dari shard yang ditugaskan sesuai konfigurasi Anda. Instans tersebut kemudian memproses data menggunakan aturan transformasi dan mengirimkan hasilnya ke Logstore tujuan. Aturan transformasi mendukung pengayaan data menggunakan sumber daya eksternal. Instans menggunakan mekanisme kelompok konsumen untuk menyimpan posisi konsumsi sebuah shard, memastikan konsumsi dapat dilanjutkan dari titik henti setelah berhenti tak terduga.

  • Task Stop

    • Jika Anda tidak mengonfigurasi waktu akhir untuk suatu tugas, instans tidak akan keluar secara default, dan tugas transformasi tidak akan berhenti.

    • Jika Anda mengonfigurasi waktu akhir untuk suatu tugas, instans akan otomatis keluar setelah memproses log yang diterima hingga waktu akhir yang dikonfigurasi. Tugas transformasi kemudian berhenti.

    • Jika suatu tugas dihentikan karena alasan apa pun, tugas tersebut secara default akan melanjutkan konsumsi dari posisi terakhir yang disimpan ketika dimulai kembali.

Prinsip mesin aturan: Operasi dasar

Anda dapat menulis aturan transformasi menggunakan fungsi bawaan yang disediakan oleh SLS DSL. Setiap fungsi dapat dianggap sebagai langkah transformasi. Mesin aturan menjalankan fungsi-fungsi ini secara berurutan. Sebagai contoh, empat fungsi berikut mendefinisikan empat langkah utama.

e_set("log_type", "access_log")
e_drop_fields("__action")
e_if(e_search("ret: pass"), e_set("result", "pass"))
e_if(e_search("ret: unknown"), DROP)

Grafik logika yang sesuai ditunjukkan di bawah ini:

  • Logika Dasar

    Setiap fungsi dalam aturan dijalankan secara berurutan. Setiap fungsi memproses dan memodifikasi sebuah event, lalu mengembalikan event yang telah diproses.

    Sebagai contoh, e_set("log_type", "access_log") menambahkan bidang bernama log_type dengan nilai access_log ke setiap event. Fungsi berikutnya menerima event setelah bidang log_type ditambahkan.

  • Logika Bersyarat

    Anda dapat menetapkan kondisi untuk suatu langkah. Event yang tidak memenuhi kondisi akan melewati langkah ini.

    Sebagai contoh, e_if(e_search("ret: pass"), e_set("result", "pass")) pertama-tama memeriksa apakah bidang ret berisi pass. Jika kondisi tidak terpenuhi, tidak ada operasi yang dilakukan. Jika kondisi terpenuhi, nilai bidang result diatur menjadi pass.

  • Menghentikan Pemrosesan

    Jika suatu langkah mengembalikan nol event, event tersebut dianggap dihapus.

    Sebagai contoh, e_if(e_search("ret: unknown"), DROP) membuang event di mana nilai bidang ret adalah unknown. Setelah event dibuang, operasi selanjutnya tidak dilakukan padanya, dan pemrosesan dilanjutkan dengan event berikutnya.

Prinsip mesin aturan: Output, salinan, dan pemisahan

Mesin aturan juga mendukung penyalinan, pengeluaran, dan pemisahan event. Sebagai contoh, empat fungsi berikut mendefinisikan empat langkah utama.

e_coutput("archive_Logstore") )
e_split("log_type")
e_if(e_search("log_type: alert"), e_output("alert_Logstore") )
e_set("result", "pass")

Asumsikan bahwa log sumber diproses sebagai berikut:

log_type: access,alert
content: admin login to database.

Grafik logika yang sesuai ditunjukkan di bawah ini:Rules engine principle logic diagram

  • Event Keluaran

    Operasi output default dapat dianggap sebagai jenis penghentian pemrosesan khusus. Sebagai contoh, pada Langkah 3, fungsi e_output("alert_Logstore") dipanggil untuk event di mana nilai bidang log_type adalah alert. Fungsi ini mengeluarkan event ke tujuan yang ditentukan dan kemudian menghapus event tersebut. Operasi selanjutnya tidak dilakukan pada event ini.

  • Menyalin dan Mengeluarkan Event

    Fungsi e_coutput menyalin event saat ini dan mengeluarkan salinannya. Event asli terus diproses oleh langkah-langkah berikutnya. Sebagai contoh, pada Langkah 1, semua log yang diterima dikeluarkan ke tujuan archive_Logstore.

  • Memisahkan dan Memparalelkan

    Pada Langkah 2, jika bidang log_type berisi baik access maupun alert, e_split("log_type") memisahkan event menjadi dua event. Dua event yang dihasilkan identik kecuali nilai bidang log_type mereka adalah access dan alert, masing-masing.

    Setiap event yang dipisahkan terus diproses secara terpisah oleh langkah-langkah berikutnya.