All Products
Search
Document Center

Simple Log Service:Cara kerja

Last Updated:Sep 12, 2026

Fitur transformasi data di Simple Log Service menggunakan kelompok konsumen untuk mengonsumsi dan memproses data log. Anda dapat menggabungkan lebih dari 200 fungsi bawaan untuk membuat aturan transformasi. Dokumen ini menjelaskan cara data dijadwalkan selama transformasi dan cara kerja mesin aturan.

Dasar-dasar penjadwalan

Fitur transformasi data Simple Log Service menggunakan kelompok konsumen untuk mengonsumsi data log dari Logstore sumber sebagai aliran. Data tersebut diproses per log menggunakan aturan transformasi, lalu menghasilkan output.

  • Scheduling mechanism

    Untuk setiap aturan transformasi, penjadwal menjalankan satu atau beberapa instans yang sedang berjalan. Setiap instans bertindak sebagai konsumen untuk satu atau beberapa shard di Logstore sumber. Penjadwal menentukan jumlah instans paralel berdasarkan penggunaan memori dan CPU. Jumlah maksimum instans sama dengan jumlah shard di Logstore sumber.

  • Running instance

    Instans yang berjalan membaca log sumber dari shard yang ditugaskan sesuai konfigurasi Anda. Instans tersebut memproses data menggunakan aturan transformasi dan menghasilkan output ke Logstore tujuan. Aturan transformasi dapat menggunakan sumber daya eksternal untuk memperkaya data log. Instans ini menggunakan mekanisme kelompok konsumen untuk menyimpan posisi konsumsinya di dalam shard, sehingga jika instans berhenti secara tidak terduga, ia dapat melanjutkan konsumsi dari titik putus terakhir yang tersimpan.

  • Task stop

    • Jika Anda tidak mengonfigurasi waktu akhir untuk tugas, instans yang berjalan akan terus berjalan secara default, dan pekerjaan transformasi data tidak berhenti.

    • Jika Anda mengonfigurasi waktu akhir untuk tugas, instans yang berjalan akan memproses semua log yang diterima hingga waktu tersebut. Setelah itu, instans secara otomatis keluar dan pekerjaan transformasi data berhenti.

    • Jika suatu pekerjaan berhenti karena alasan apa pun dan dijalankan ulang, ia akan melanjutkan konsumsi dari posisi terakhir yang tersimpan secara default.

Dasar-dasar mesin aturan: Operasi dasar

Anda dapat menggunakan fungsi bawaan yang disediakan oleh SLS DSL untuk menulis aturan transformasi. Setiap fungsi merepresentasikan satu langkah transformasi, dan mesin aturan mengeksekusi fungsi-fungsi tersebut secara berurutan.

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)

Gambar berikut menunjukkan logikanya.

  • Logika dasar

    Setiap fungsi event dalam suatu aturan dieksekusi secara berurutan. Setiap fungsi memproses dan memodifikasi sebuah event sebelum meneruskan event yang telah dimodifikasi tersebut ke fungsi berikutnya.

    Sebagai contoh, e_set("log_type", "access_log") menambahkan bidang bernama log_type dengan nilai access_log ke setiap event. Fungsi berikutnya kemudian menerima event yang telah diperbarui, yang kini mencakup bidang log_type.

  • Logika bersyarat

    Langkah-langkah dapat memiliki kondisi. Jika suatu event tidak memenuhi suatu kondisi, operasi pada langkah tersebut dilewati.

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

  • Hentikan pemrosesan

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

    Sebagai contoh, e_if(e_search("ret: unknown"), DROP) membuang event yang nilai bidang ret-nya adalah unknown. Setelah suatu event dibuang, tidak ada operasi lanjutan yang dilakukan terhadapnya, dan pemrosesan dilanjutkan ke event berikutnya.

Dasar-dasar mesin aturan: Output, copy, dan split

Mesin aturan juga mendukung penyalinan, pengeluaran (output), dan pemisahan (split) event.

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

Asumsikan log sumber yang akan diproses adalah sebagai berikut:

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

Gambar berikut menunjukkan logikanya.规则引擎原理逻辑图

  • Output event

    Operasi output dapat dianggap sebagai jenis khusus dari penghentian pemrosesan. Sebagai contoh, pada Langkah 3, jika suatu event memiliki bidang log_type dengan nilai alert, fungsi e_output("alert_Logstore") dipanggil. Fungsi ini mengeluarkan event ke tujuan yang ditentukan, lalu menghapus event tersebut. Operasi selanjutnya tidak dilakukan terhadap event ini.

  • Salin dan keluarkan event

    Fungsi e_coutput menyalin event saat ini dan mengeluarkan salinannya. Event asli melanjutkan ke langkah pemrosesan berikutnya. Sebagai contoh, pada Langkah 1, semua event yang diterima disalin lalu dikeluarkan ke tujuan archive_Logstore.

  • Pemisahan dan pemrosesan paralel

    Pada Langkah 2, jika bidang log_type berisi nilai access dan alert, fungsi e_split("log_type") memisahkan event tersebut menjadi dua event terpisah berdasarkan nilai-nilai dalam bidang log_type. Kedua event baru tersebut identik kecuali pada bidang log_type, yang akan memiliki nilai access pada satu event dan alert pada event lainnya. Setiap event baru tersebut kemudian melanjutkan langkah-langkah berikutnya secara independen.

    Setelah pemisahan, setiap event hasil pemisahan melanjutkan langkah-langkah berikutnya secara independen.