全部产品
Search
文档中心

Simple Log Service:Kumpulkan log teks host dalam operasi satu kali

更新时间:Jan 21, 2026

Metode pengumpulan log inkremental tradisional tidak cocok untuk mengumpulkan file statis yang sudah ada dalam tugas seperti analisis historis, migrasi data, atau pemrosesan batch. Fitur pengumpulan log satu kali mengatasi keterbatasan ini. Anda dapat menggunakan Konsol atau API untuk mengirimkan konfigurasi pengumpulan ke kelompok mesin secara batch dan mengumpulkan konten file statis tertentu dalam satu operasi. Tugas tersebut akan berhenti secara otomatis setelah pengumpulan selesai.

Cakupan

  • LoongCollector 3.3 atau versi yang lebih baru.

  • Fitur ini mendukung pengumpulan log dari host pada platform Linux dan Windows, tetapi tidak mendukung skenario kontainer.

Alur kerja konfigurasi pengumpulan

  1. Preparations: Buat Project dan Logstore. Project adalah unit manajemen sumber daya untuk mengisolasi log dari layanan yang berbeda, sedangkan Logstore adalah unit penyimpanan log.

  2. Konfigurasikan kelompok mesin (Instal LoongCollector): Instal LoongCollector pada server Anda dan tambahkan server tersebut ke kelompok mesin. Kelompok mesin memungkinkan Anda mengelola node pengumpulan secara terpusat, mendistribusikan konfigurasi, serta memantau status server.

  3. Buat dan konfigurasikan aturan pengumpulan file satu kali:

    1. Global and input configurations: Tentukan nama konfigurasi pengumpulan serta sumber dan cakupan pengumpulan log.

    2. Log processing and structuring: Konfigurasikan aturan pemrosesan berdasarkan format log.

      • Log multi-baris: Digunakan untuk log yang mencakup beberapa baris, seperti stack exception Java atau traceback Python. Anda dapat menggunakan ekspresi reguler awal-baris untuk mengidentifikasi setiap log dan menggabungkan baris-baris berurutan dari log yang sama menjadi satu entri log lengkap.

      • Penguraian terstruktur: Gunakan plugin parsing, seperti ekspresi reguler, pemisah, atau mode NGINX, untuk mengurai string mentah menjadi pasangan kunci-nilai terstruktur. Setiap field kemudian dapat dikueri dan dianalisis secara independen.

    3. Log filtering: Konfigurasikan blacklist pengumpulan dan aturan penyaringan konten untuk hanya menyimpan konten log yang valid serta mengurangi transmisi dan penyimpanan data berlebih.

    4. Log categorization: Gunakan topik untuk secara fleksibel membedakan log dari layanan, server, atau jalur sumber yang berbeda.

  4. Configure query and analysis: Sistem secara default mengaktifkan indeks teks penuh untuk mendukung pencarian kata kunci. Anda dapat mengaktifkan indeks bidang agar memungkinkan kueri dan analisis berbasis bidang terstruktur, yang meningkatkan efisiensi pencarian.

  5. Verify collection results: Setelah menyelesaikan konfigurasi, verifikasi apakah log berhasil dikumpulkan. Jika Anda mengalami masalah, seperti tidak ada data yang dikumpulkan, kegagalan detak jantung, atau error parsing, lihat bagian FAQ.

Persiapan

Sebelum mengumpulkan log, Anda harus merencanakan dan membuat Project serta Logstore untuk mengelola dan menyimpan log. Jika resource tersebut sudah tersedia, Anda dapat melewati langkah ini dan melanjutkan ke Konfigurasikan kelompok mesin (Instal LoongCollector).

Buat Project

  1. Masuk ke Konsol Simple Log Service.

  2. Klik Create Project dan konfigurasikan parameter berikut:

    • Region: Pilih wilayah berdasarkan sumber log. Nilai ini tidak dapat diubah setelah pembuatan.

    • Project Name: Harus unik secara global dalam Alibaba Cloud. Nilai ini tidak dapat diubah setelah pembuatan.

    • Pertahankan pengaturan default untuk konfigurasi lainnya dan klik Create. Untuk informasi selengkapnya tentang parameter lainnya, lihat Buat Project.

Buat Logstore

  1. Klik nama Project untuk membuka Project tersebut.

  2. Pada panel navigasi di sebelah kiri, pilih imageLog Storage dan klik +.

  3. Pada halaman Create Logstore, lengkapi konfigurasi inti berikut:

    • Logstore Name: Tetapkan nama yang unik dalam Project. Nama ini tidak dapat diubah setelah pembuatan.

    • Logstore Type: Pilih tipe Standard atau Query berdasarkan perbandingan spesifikasi.

    • Billing Mode:

      • Pay-By-Feature: Penagihan berdasarkan sumber daya individual seperti penyimpanan, indeks, dan operasi baca/tulis. Cocok untuk skenario skala kecil atau ketika penggunaan fitur belum pasti.

      • Pay-by-ingested-data: Penagihan hanya berdasarkan jumlah data mentah yang diingest. Menyediakan penyimpanan gratis selama 30 hari dan fitur gratis seperti transformasi data dan pengiriman. Cocok untuk skenario bisnis dengan periode penyimpanan mendekati 30 hari atau pipeline pemrosesan data kompleks.

    • Data Retention Period: Tetapkan jumlah hari untuk menyimpan log (1 hingga 3.650 hari, di mana 3.650 berarti retensi permanen). Nilai default adalah 30 hari.

    • Pertahankan pengaturan default untuk konfigurasi lainnya dan klik OK. Untuk informasi selengkapnya tentang konfigurasi lainnya, lihat Kelola Logstore.

Langkah 1: Konfigurasikan kelompok mesin (Instal LoongCollector)

Setelah menyelesaikan persiapan, instal LoongCollector pada server Anda dan tambahkan ke kelompok mesin.

Catatan

Langkah instalasi berikut hanya berlaku jika sumber log adalah Instance ECS Alibaba Cloud, dan instance tersebut berada dalam Akun Alibaba Cloud dan wilayah yang sama dengan Project Simple Log Service.

Jika Instance ECS dan Project Anda berada dalam akun atau wilayah yang berbeda, atau jika sumber log adalah server yang dikelola sendiri, lihat Instal dan konfigurasikan LoongCollector.

Prosedur:

  1. Pada halaman imageLogstores, klik image di sebelah kiri nama Logstore target untuk memperluasnya.

  2. Klik Data Ingestion > Logtail Configuration. Pada tab One-time Logtail Configurations, klik Add Logtail Configuration.

  3. Pada dialog Quick Data Import, klik Import Data pada kartu One-time File Collection - Host.

  4. Pada halaman Machine Group Configuration, konfigurasikan parameter berikut:

    • Scenario: Host

    • Installation Environment: ECS

    • Konfigurasikan Kelompok Mesin: Berdasarkan status instalasi LoongCollector dan konfigurasi kelompok mesin pada server target, lakukan salah satu operasi berikut:

      • Jika LoongCollector telah diinstal dan ditambahkan ke kelompok mesin, pilih dari daftar Source Machine Group dan tambahkan ke daftar Applied Machine Groups. Anda tidak perlu membuatnya lagi.

      • Jika LoongCollector belum diinstal, klik Create Machine Group:

        Langkah-langkah berikut memandu Anda melalui proses instalasi otomatis LoongCollector dan pembuatan kelompok mesin.
        1. Sistem secara otomatis mencantumkan Instance ECS di wilayah yang sama dengan Project. Pilih satu atau beberapa instance dari mana Anda ingin mengumpulkan log.

        2. Klik Install and Create as Machine Group. Sistem secara otomatis menginstal LoongCollector pada Instance ECS yang dipilih.

        3. Konfigurasikan Name untuk kelompok mesin dan klik OK.

        Catatan

        Jika instalasi gagal atau tetap dalam status menunggu, periksa apakah wilayah ECS sama dengan wilayah Project.

      • Untuk menambahkan server yang telah menginstal LoongCollector ke kelompok mesin yang sudah ada, lihat Bagaimana cara menambahkan server ke kelompok mesin yang sudah ada?

  5. Periksa Status Detak Jantung: Klik Next. Bagian Machine Group Heartbeat Status muncul. Periksa status Heartbeat. Jika statusnya OK, koneksi kelompok mesin normal. Klik Next untuk menuju halaman konfigurasi Logtail.

    Jika statusnya FAIL, mungkin diperlukan waktu hingga dua menit agar detak jantung awal terbentuk. Tunggu sekitar dua menit lalu refresh status detak jantung. Jika status masih FAIL setelah merefresh halaman, lihat Detak jantung kelompok mesin adalah FAIL untuk informasi troubleshooting.

Langkah 2: Buat dan konfigurasikan aturan pengumpulan file satu kali

Setelah menginstal LoongCollector dan mengonfigurasi kelompok mesin, buka halaman Logtail Configuration untuk menentukan aturan pengumpulan dan pemrosesan log.

1. Konfigurasi global dan input

Tentukan nama konfigurasi pengumpulan serta sumber dan cakupan pengumpulan log.

Global Configurations:

  • Configuration Name: Nama kustom untuk konfigurasi pengumpulan. Harus unik dalam Project-nya dan tidak dapat diubah setelah pembuatan. Konvensi penamaan:

    • Hanya boleh berisi huruf kecil, angka, tanda hubung (-), dan garis bawah (_).

    • Harus dimulai dan diakhiri dengan huruf kecil atau angka.

  • Execution Timeout: Nilai default adalah 600 detik (10 menit). Rentangnya antara 600 hingga 604.800 detik (10 menit hingga 7 hari). Jika pengumpulan tidak selesai dalam waktu ini, tugas akan berhenti secara otomatis dan tidak mengumpulkan bagian yang tersisa.

    Penting

    Catatan tentang pengiriman konfigurasi: Periode validitas konfigurasi diatur ulang saat Anda memperbaruinya. Untuk menghindari pengiriman ganda atau pelaporan data yang tidak diinginkan, pastikan cakupan kelompok mesin akurat dan waktu eksekusi tugas terakhir belum melebihi Execution Timeout.

  • Force Rerun on Update: Dinonaktifkan secara default.

    • Nonaktif:

      • Saat Anda memperbarui parameter konfigurasi pengumpulan selain Execution Timeout atau Input Configurations, sistem melanjutkan progres pengumpulan saat ini. Tugas pengumpulan tidak dimulai ulang, sehingga menjaga kontinuitas pengumpulan.

      • Jika Anda mengubah Execution Timeout atau Input Configurations, sistem akan memulai ulang tugas pengumpulan.

    • Aktif: Memaksa tugas pengumpulan dimulai ulang saat Anda memperbarui konfigurasi pengumpulan. Ini memastikan semua pemrosesan dan pelaporan data sesuai dengan perubahan terbaru. Catatan: Data yang dikumpulkan sebelum pembaruan tidak dihapus. Untuk menghapusnya, lihat Penghapusan lunak Simple Log Service.

Input Configurations:

  • Type: One-time File Collection (available for LoongCollector 3.3 and later).

  • File Path: Jalur untuk pengumpulan log.

    Catatan

    Daftar file untuk pengumpulan satu kali dan ukuran tiap file ditentukan saat LoongCollector menarik konfigurasi. File baru atau konten yang ditambahkan ke file yang sudah ada tidak dikumpulkan.

    • Linux: Dimulai dengan "/", misalnya /data/mylogs/**/*.log, yang menunjukkan semua file dengan ekstensi .log di direktori /data/mylogs dan subdirektorinya.

    • Windows: Dimulai dengan huruf drive, misalnya C:\Program Files\Intel\**\*.Log.

  • Maximum Directory Monitoring Depth: Kedalaman direktori maksimum yang dapat dicocokkan oleh karakter wildcard ** dalam File Path. Nilai default adalah 0, yang berarti hanya direktori saat ini yang dipantau.


2. Pemrosesan dan strukturisasi log

Dengan mengonfigurasi aturan pemrosesan log, Anda dapat mengubah log mentah yang tidak terstruktur menjadi data terstruktur yang dapat dicari, sehingga meningkatkan efisiensi kueri dan analisis log. Sebelum mengonfigurasi aturan, tambahkan contoh log:

Pada area Processing Configurations di halaman Logtail Configuration, klik Add Log Sample dan masukkan konten log yang akan dikumpulkan. Sistem mengidentifikasi format log berdasarkan contoh tersebut dan membantu Anda menghasilkan ekspresi reguler serta aturan parsing, yang menyederhanakan konfigurasi.

Skenario 1: Proses log multi-baris (seperti log stack Java)

Karena log seperti stack exception Java dan objek JSON sering kali mencakup beberapa baris, log tersebut terpecah menjadi beberapa catatan tidak lengkap dalam mode pengumpulan default. Hal ini menyebabkan hilangnya konteks. Untuk mencegahnya, Anda dapat mengaktifkan mode multi-baris dan mengonfigurasi ekspresi reguler awal-baris untuk menggabungkan baris-baris berurutan dari log yang sama menjadi satu entri log lengkap.

Contoh:

Log mentah tanpa pemrosesan apa pun

Dalam mode pengumpulan default, setiap baris dianggap sebagai log independen, sehingga memecah jejak stack dan kehilangan konteks

Dengan mode multi-baris diaktifkan, ekspresi reguler awal-baris mengidentifikasi log lengkap, sehingga mempertahankan struktur semantik penuhnya.

image

image

image

Prosedur: Pada area Processing Configurations di halaman Logtail Configuration, aktifkan Multi-line Mode:

  • Type: Pilih Custom atau Multi-line JSON.

    • Custom: Jika format log mentah tidak tetap, Anda perlu mengonfigurasi Start-of-line Regular Expression untuk mengidentifikasi baris awal setiap log.

      • Start-of-line Regular Expression: Dapat dihasilkan secara otomatis atau dimasukkan secara manual. Ekspresi reguler harus mencocokkan satu baris data lengkap. Misalnya, ekspresi reguler yang cocok pada contoh sebelumnya adalah \[\d+-\d+-\w+:\d+:\d+,\d+]\s\[\w+]\s.*.

        • Hasilkan Otomatis: Klik Auto Generate Regular Expression. Lalu, pada kotak teks Log Sample, pilih konten log yang akan diekstraksi dan klik Generate Regex.

        • Masukan Manual: Klik Manually Enter Regular Expression. Setelah memasukkan ekspresi, klik Validate.

    • Multi-line JSON: Saat semua log mentah berada dalam format JSON standar, Simple Log Service secara otomatis menangani jeda baris dalam satu log JSON.

  • Handling Chunking Failures:

    • Discard: Jika segmen teks tidak cocok dengan aturan awal-baris, segmen tersebut dibuang.

    • Keep as single lines: Teks yang tidak cocok dipisah dan disimpan dalam mode baris tunggal aslinya.

Skenario 2: Log terstruktur

Saat log mentah berupa teks tidak terstruktur atau semi-terstruktur, seperti log akses NGINX atau log output aplikasi, kueri dan analisis langsung sering kali tidak efisien. Simple Log Service menyediakan berbagai plugin parsing data yang dapat secara otomatis mengonversi log mentah dengan format berbeda menjadi data terstruktur. Hal ini memberikan fondasi data yang kuat untuk analisis, pemantauan, dan peringatan selanjutnya.

Contoh:

Raw logs

Parsed logs

192.168.*.* - - [15/Apr/2025:16:40:00 +0800] "GET /nginx-logo.png HTTP/1.1" 0.000 514 200 368 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.*.* Safari/537.36"
body_bytes_sent: 368
http_referer: -
http_user_agent : Mozi11a/5.0 (Nindows NT 10.0; Win64; x64) AppleMebKit/537.36 (KHTML, like Gecko) Chrome/131.0.x.x Safari/537.36
remote_addr:192.168.*.*
remote_user: -
request_length: 514
request_method: GET
request_time: 0.000
request_uri: /nginx-logo.png
status: 200
time_local: 15/Apr/2025:16:40:00

Prosedur: Pada area Processing Configurations di halaman Logtail Configuration:

  1. Tambahkan Plugin Parsing: Klik Add Processing Plugin dan konfigurasikan plugin seperti parsing regex, parsing pemisah, atau parsing JSON berdasarkan format aktual. Contoh ini menggunakan pengumpulan log NGINX. Pilih Native Processing Plugins > NGINX Mode Parsing.

  2. NGINX Log Configuration: Salin sepenuhnya definisi log_format dari file konfigurasi server Nginx (nginx.conf) dan tempelkan ke kotak teks ini.

    Contoh:

    log_format main  '$remote_addr - $remote_user [$time_local] "$request" ''$request_time $request_length ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent"';
    Penting

    Definisi format di sini harus persis sama dengan format yang menghasilkan log di server. Jika tidak, parsing log akan gagal.

  3. Parameter konfigurasi umum: Parameter berikut muncul di berbagai plugin parsing data, dan fungsinya konsisten.

    • Source Field: Menentukan nama field sumber yang akan diurai. Nilai default adalah content, yaitu seluruh konten log yang dikumpulkan.

    • Keep Source Field on Failure: Direkomendasikan. Jika log tidak dapat diurai dengan sukses oleh plugin (misalnya karena ketidakcocokan format), opsi ini memastikan konten log asli tidak hilang tetapi tetap disimpan sepenuhnya di field sumber yang ditentukan.

    • Keep Source Field on Success: Jika dipilih, konten log asli akan tetap disimpan meskipun log berhasil diurai.


3. Penyaringan log

Saat pengumpulan log, pengumpulan besar-besaran log bernilai rendah atau tidak relevan—seperti log tingkat DEBUG/INFO—tanpa seleksi tidak hanya membuang sumber daya penyimpanan dan meningkatkan biaya, tetapi juga memengaruhi efisiensi kueri serta menimbulkan risiko kebocoran data. Untuk mengatasinya, Anda dapat menerapkan kebijakan penyaringan detail halus untuk pengumpulan log yang efisien dan aman.

Kurangi biaya dengan penyaringan konten

Saring berdasarkan field konten log (misalnya, kumpulkan hanya log dengan level WARNING atau ERROR).

Contoh:

Log mentah tanpa pemrosesan apa pun

Kumpulkan hanya log WARNING atau ERROR saja

{"level":"WARNING","timestamp":"2025-09-23T19:11:40+0800","cluster":"yilu-cluster-0728","message":"Disk space is running low","freeSpace":"15%"}
{"level":"ERROR","timestamp":"2025-09-23T19:11:42+0800","cluster":"yilu-cluster-0728","message":"Failed to connect to database","errorCode":5003}
{"level":"INFO","timestamp":"2025-09-23T19:11:47+0800","cluster":"yilu-cluster-0728","message":"User logged in successfully","userId":"user-123"}
{"level":"WARNING","timestamp":"2025-09-23T19:11:40+0800","cluster":"yilu-cluster-0728","message":"Disk space is running low","freeSpace":"15%"}
{"level":"ERROR","timestamp":"2025-09-23T19:11:42+0800","cluster":"yilu-cluster-0728","message":"Failed to connect to database","errorCode":5003}

Prosedur: Pada area Processing Configurations di halaman Logtail Configuration:

Klik Add Processing Plugin dan pilih Native Processing Plugins > Filter:

  • Field Name: Field log yang akan disaring.

  • Field Value: Ekspresi reguler yang digunakan untuk penyaringan. Hanya mendukung pencocokan penuh, bukan pencocokan kata kunci parsial.

Kontrol cakupan pengumpulan dengan blacklist

Gunakan mekanisme blacklist untuk mengecualikan direktori atau file tertentu guna mencegah log yang tidak relevan atau sensitif diunggah.

Prosedur: Pada area Input Configurations > Other Input Configurations di halaman Logtail Configuration, aktifkan Collection Blacklist dan klik Add.

Mendukung pencocokan penuh dan pencocokan wildcard untuk direktori dan nama file. Hanya tanda bintang (*) dan tanda tanya (?) yang didukung sebagai karakter wildcard.
  • File Path Blacklist: Jalur file yang akan diabaikan. Contoh:

    • /home/admin/private*.log: Mengabaikan semua file di direktori /home/admin/ yang diawali dengan "private" dan diakhiri dengan ".log".

    • /home/admin/private*/*_inner.log: Mengabaikan file yang diakhiri "_inner.log" di direktori yang diawali "private" di bawah direktori /home/admin/.

  • File Blacklist: Konfigurasikan nama file yang akan diabaikan selama pengumpulan. Contoh:

    • app_inner.log: Mengabaikan semua file bernama app_inner.log selama pengumpulan.

  • Directory Blacklist: Jalur direktori tidak boleh diakhiri dengan garis miring (/). Contoh:

    • /home/admin/dir1/: Blacklist direktori tidak akan berlaku.

    • /home/admin/dir*: Mengabaikan file di semua subdirektori di bawah /home/admin/ yang diawali dengan "dir".

    • /home/admin/*/dir: Mengabaikan semua file di subdirektori bernama "dir" pada tingkat kedua di bawah direktori /home/admin/. Misalnya, file di direktori /home/admin/a/dir diabaikan, sedangkan file di direktori /home/admin/a/b/dir dikumpulkan.

4. Kategorisasi log

Saat log dari beberapa aplikasi atau instans memiliki format yang sama tetapi jalur berbeda (seperti /apps/app-A/run.log dan /apps/app-B/run.log), sulit membedakan sumbernya selama pengumpulan. Dengan mengonfigurasi topik, Anda dapat membedakan log dari aplikasi, layanan, atau jalur yang berbeda secara logis, sehingga memungkinkan kategorisasi efisien dan kueri tepat di bawah penyimpanan terpadu.

Prosedur: Di Global Configurations > Other Global Configurations > Topic Generation Mode, pilih metode pembuatan topik. Tiga jenis berikut didukung:

  • Machine Group Topic: Saat konfigurasi pengumpulan diterapkan ke beberapa kelompok mesin, LoongCollector secara otomatis menggunakan nama kelompok mesin tempat server tersebut berada sebagai nilai untuk field __topic__. Cocok untuk skenario di mana log dibagi berdasarkan host.

  • Custom: Formatnya adalah customized://<custom_topic_name>, misalnya customized://app-login. Cocok untuk skenario topik statis dengan pengenal bisnis tetap.

  • Extract from File Path: Mengekstraksi informasi kunci dari jalur lengkap file log untuk menandai sumber log secara dinamis. Cocok untuk situasi di mana beberapa pengguna atau aplikasi berbagi nama file log yang sama tetapi memiliki jalur berbeda. Saat beberapa pengguna atau layanan menulis log ke direktori tingkat atas yang berbeda, tetapi sub-jalur dan nama filenya sama, sumber tidak dapat dibedakan hanya berdasarkan nama file. Misalnya:

    /data/logs
    ├── userA
    │   └── serviceA
    │       └── service.log
    ├── userB
    │   └── serviceA
    │       └── service.log
    └── userC
        └── serviceA
            └── service.log

    Dalam kasus ini, Anda dapat mengonfigurasi Extract from File Path dan menggunakan ekspresi reguler untuk mengekstraksi informasi kunci dari jalur lengkap. Hasil yang cocok kemudian digunakan sebagai topik dan diunggah ke Logstore.

    Aturan ekstraksi jalur file: Berdasarkan grup penangkapan ekspresi reguler

    Saat mengonfigurasi ekspresi reguler, sistem secara otomatis menentukan format field output berdasarkan jumlah dan penamaan grup penangkapan. Aturannya sebagai berikut:

    Dalam ekspresi reguler untuk jalur file, Anda perlu melakukan escape terhadap garis miring (/).

    Jenis Grup Penangkap

    Skenario

    Bidang yang Dihasilkan

    Contoh Regex

    Jalur yang Cocok

    Contoh Bidang yang Dihasilkan

    Grup penangkapan tunggal (hanya satu (.*?))

    Hanya satu dimensi yang diperlukan untuk membedakan sumber (seperti username atau lingkungan)

    Menghasilkan field __topic__

    \/logs\/(.*?)\/app\.log

    /logs/userA/app.log

    __topic__:userA

    Beberapa grup penangkapan tak bernama (beberapa (.*?))

    Beberapa dimensi diperlukan untuk membedakan sumber, tetapi label semantik tidak diperlukan

    Menghasilkan field tag __tag__:__topic_{i}__, di mana {i} adalah nomor urut grup penangkapan

    \/logs\/(.*?)\/(.*?)\/app\.log

    /logs/userA/svcA/app.log

    __tag__:__topic_1__userA;

    __tag__:__topic_2__svcA

    Beberapa grup penangkapan bernama (menggunakan (?P<name>.*?))

    Beberapa dimensi diperlukan untuk membedakan sumber, dan Anda ingin makna field jelas untuk memudahkan kueri dan analisis

    Menghasilkan field tag __tag__:{name}

    \/logs\/(?P<user>.*?)\/(?P<service>.*?)\/app\.log

    /logs/userA/svcA/app.log

    __tag__:user:userA;

    __tag__:service:svcA

Langkah 3: Konfigurasikan kueri dan analisis

Setelah menyelesaikan konfigurasi pemrosesan log dan plugin, klik Next untuk menuju halaman Query and Analysis Configuration:

  • Sistem secara default mengaktifkan indeks teks penuh, yang mendukung pencarian kata kunci pada konten log asli.

  • Untuk melakukan kueri berbasis bidang, tunggu hingga Preview Data dimuat di halaman, lalu klik Auto Generate Indexes. Simple Log Service akan menghasilkan indeks bidang berdasarkan entri pertama dalam data pratinjau.

Setelah menyelesaikan konfigurasi, klik Next untuk menyelesaikan seluruh proses pengumpulan.

Langkah 4: Verifikasi hasil pengumpulan

Setelah konfigurasi berlaku, buka halaman kueri dan analisis Logstore target dan klik Search & Analysis untuk melihat data log yang dikumpulkan.

FAQ

Siklus hidup konfigurasi pengumpulan satu kali

Setelah konfigurasi pengumpulan satu kali dibuat, konfigurasi tersebut memiliki karakteristik siklus hidup berikut:

image
  • Periode validitas pengiriman konfigurasi: Dalam 5 menit setelah konfigurasi dibuat, LoongCollector dapat menarik konfigurasi tersebut. Setelah 5 menit, instance LoongCollector baru tidak dapat memperoleh konfigurasi ini.

  • Penghapusan otomatis konfigurasi: Konfigurasi dihapus secara otomatis 7 hari setelah dibuat.

  • Eksekusi tugas: Pengumpulan diselesaikan dalam periode timeout eksekusi. Setelah timeout, tugas berhenti secara otomatis.

Apa perbedaan antara pengumpulan file satu kali dan metode pengumpulan file historis sebelumnya?

Metode lama untuk pengumpulan file historis tidak lagi direkomendasikan. Gunakan fitur baru untuk impor data historis. Dibandingkan dengan metode lama yang memerlukan pembuatan manual file konfigurasi, fitur pengumpulan file satu kali yang baru menawarkan peningkatan signifikan dalam efisiensi konfigurasi, keandalan, dan observabilitas. Perbandingan spesifiknya sebagai berikut:

Item Perbandingan

Metode lama untuk pengumpulan file historis

Pengumpulan file satu kali yang baru

Metode Konfigurasi

Anda harus membuat file local_event.json di setiap host. Ini mengharuskan Anda melakukan operasi satu per satu di setiap mesin.

Anda dapat membuat konfigurasi menggunakan Konsol atau API dan mengirimkannya secara batch di tingkat kelompok mesin.

Pencocokan File

Memerlukan entri manual jalur dan nama file.

Konfigurasi cepat mirip input_file, dengan dukungan penyaringan blacklist.

Pemantauan Progres

Pelaporan tanpa status dan tanpa log lokal

Menyediakan checkpoint dengan pelacakan detail halus hingga offset pengumpulan saat ini untuk setiap file.

Keandalan

Rendah. Merupakan proses terpisah tanpa kontrol resource atau checkpoint.

Tinggi. Menyediakan manajemen sumber daya tingkat pipeline standar, mendukung pembatasan kecepatan, tidak memengaruhi pengumpulan lain, dan mendukung transmisi yang dapat dilanjutkan.

Fleksibilitas

Rendah. Anda harus menggunakan konfigurasi pengumpulan yang sudah ada.

Tinggi. Anda dapat mengatur konfigurasi pengumpulan dan memodifikasinya di tengah proses.

Detak jantung kelompok mesin adalah FAIL

  1. Periksa ID pengguna: Jika server Anda bukan Instance ECS, atau jika Instance ECS dan Project berada dalam Akun Alibaba Cloud yang berbeda, periksa apakah ID pengguna yang benar ada di direktori yang ditentukan. Jika tidak, jalankan perintah berikut untuk membuatnya secara manual.

    • Linux: Jalankan perintah cd /etc/ilogtail/users/ && touch <uid> untuk membuat file ID pengguna.

    • Windows: Buka direktori C:\LogtailData\users\ dan buat file kosong bernama <uid>.

  2. Periksa ID kelompok mesin: Jika Anda menggunakan ID kustom saat membuat kelompok mesin, periksa apakah file user_defined_id ada di direktori yang ditentukan. Jika ada, periksa apakah isi file tersebut konsisten dengan ID kustom yang dikonfigurasi untuk kelompok mesin.

    • Linux:

      # Konfigurasikan ID kustom. Jika direktori tidak ada, buat secara manual.
      echo "user-defined-1" > /etc/ilogtail/user_defined_id
    • Windows: Di direktori C:\LogtailData, buat file baru bernama user_defined_id dan tuliskan ID kustom ke dalamnya. (Jika direktori tidak ada, buat secara manual.)

  3. Jika ID pengguna dan ID kelompok mesin sudah dikonfigurasi dengan benar, lihat Troubleshoot masalah kelompok mesin LoongCollector (Logtail) untuk investigasi lebih lanjut.

Bagaimana cara menambahkan server ke kelompok mesin yang sudah ada?

Saat Anda memiliki kelompok mesin yang sudah ada dan ingin menambahkan server baru—seperti Instance ECS yang baru dideploy atau server yang dikelola sendiri—ke dalamnya agar mewarisi konfigurasi pengumpulannya, Anda dapat mengikuti langkah-langkah berikut.

Penting

Lima menit setelah konfigurasi dibuat, mesin yang baru ditambahkan ke kelompok mesin tidak akan menerima konfigurasi pengumpulan. Untuk waktu spesifiknya, lihat penghitung mundur di bagian atas halaman konfigurasi pengumpulan.

Prasyarat:

  • Kelompok mesin yang sudah dikonfigurasi sudah ada.

  • LoongCollector telah diinstal di server baru.

Prosedur:

  1. Lihat ID kelompok mesin target:

    1. Di halaman Project target, klik imageResource > Machine Groups di panel navigasi kiri.

    2. Di halaman Machine Groups, klik nama kelompok mesin target.

    3. Di halaman konfigurasi kelompok mesin, lihat ID kelompok mesin tersebut.

  2. Lakukan operasi yang sesuai berdasarkan jenis ID:

    Catatan

    Satu kelompok mesin tidak dapat berisi server Linux dan Windows sekaligus. Jangan mengonfigurasi ID kustom yang sama di server Linux dan Windows. Satu server dapat dikonfigurasi dengan beberapa ID kustom, dipisahkan dengan line feed.

    • Jenis 1: ID kelompok mesin adalah alamat IP

      1. Di server, jalankan perintah berikut untuk membuka file app_info.json dan lihat nilai ip.

        cat /usr/local/ilogtail/app_info.json
      2. Di halaman konfigurasi kelompok mesin target, klik Modify dan masukkan alamat IP server tersebut. Pisahkan beberapa alamat IP dengan line feed.

      3. Setelah konfigurasi selesai, klik Save dan konfirmasi status detak jantung. Setelah status detak jantung OK, server secara otomatis menerapkan konfigurasi pengumpulan kelompok mesin tersebut.

        Jika status detak jantung FAIL, lihat Detak jantung kelompok mesin adalah FAIL untuk troubleshooting lebih lanjut.
    • Jenis 2: ID kelompok mesin adalah ID kustom

      Bergantung pada sistem operasi, tuliskan string ID kustom yang konsisten dengan kelompok mesin target ke file yang ditentukan:

      Jika direktori tidak ada, buat secara manual. Jalur dan nama file ditetapkan oleh Simple Log Service dan tidak dapat dikustomisasi.
      • Linux: Tulis string kustom ke file /etc/ilogtail/user_defined_id.

      • Windows: Tulis string kustom ke C:\LogtailData\user_defined_id.

Lampiran: Penjelasan plugin parsing native

Parsing regex

Ekstrak field log menggunakan ekspresi reguler dan uraikan log menjadi pasangan kunci-nilai. Setiap field dapat dikueri dan dianalisis secara independen.

Contoh:

Log mentah tanpa pemrosesan apa pun

Menggunakan plugin parsing ekspresi reguler

127.0.0.1 - - [16/Aug/2024:14:37:52 +0800] "GET /wp-admin/admin-ajax.php?action=rest-nonce HTTP/1.1" 200 41 "http://www.example.com/wp-admin/post-new.php?post_type=page" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36 Edg/127.0.0.0"
body_bytes_sent: 41
http_referer: http://www.example.com/wp-admin/post-new.php?post_type=page
http_user_agent: Mozilla/5.0 (Windows NT 10.0; Win64; ×64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36 Edg/127.0.0.0
remote_addr: 127.0.0.1
remote_user: -
request_method: GET
request_protocol: HTTP/1.1
request_uri: /wp-admin/admin-ajax.php?action=rest-nonce
status: 200
time_local: 16/Aug/2024:14:37:52 +0800

Prosedur: Di bagian Processor Configurations pada halaman Logtail Configuration, klik Add Processor dan pilih Native Processor > Data Parsing (Regex Mode):

  • Regular Expression: Ekspresi yang digunakan untuk mencocokkan log. Hasilkan secara otomatis atau masukkan secara manual:

    • Generasi otomatis:

      • Klik Generate.

      • Di Log Sample, pilih konten log yang akan diekstraksi.

      • Klik Generate Regular Expression.

        image

    • Masukan manual: Manually Enter Regular Expression berdasarkan format log.

    Setelah konfigurasi, klik Validate untuk menguji apakah ekspresi reguler dapat mengurai konten log dengan benar.

  • Extracted Field: Nama field (Key) yang sesuai dengan konten log yang diekstraksi (Value).

  • Untuk parameter lainnya, lihat deskripsi parameter konfigurasi umum di Use case 2: Structured logs.

Parsing pemisah

Strukturisasi konten log menggunakan pemisah untuk mengurai menjadi beberapa pasangan kunci-nilai. Mendukung pemisah karakter tunggal maupun multi-karakter.

Contoh:

Log mentah tanpa pemrosesan apa pun

Field dipisah oleh karakter yang ditentukan ,

05/May/2025:13:30:28,10.10.*.*,"POST /PutData?Category=YunOsAccountOpLog&AccessKeyId=****************&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=******************************** HTTP/1.1",200,18204,aliyun-sdk-java
ip:10.10.*.*
request:POST /PutData?Category=YunOsAccountOpLog&AccessKeyId=****************&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=******************************** HTTP/1.1
size:18204
status:200
time:05/May/2025:13:30:28
user_agent:aliyun-sdk-java

Prosedur: Di bagian Processor Configurations pada halaman Logtail Configuration, klik Add Processor dan pilih Native Processor > Data Parsing (Delimiter Mode):

  • Delimiter: Menentukan karakter yang digunakan untuk memisah konten log.

    Contoh: Untuk file CSV, pilih Custom dan masukkan koma (,).

  • Quote: Jika nilai field berisi pemisah, Anda harus membungkus nilai field tersebut dalam tanda kutip untuk mencegah pemisahan yang salah.

  • Extracted Field: Tentukan nama field (Key) untuk setiap kolom sesuai urutannya. Aturannya sebagai berikut:

    • Nama field hanya boleh berisi huruf, angka, dan garis bawah (_).

    • Harus dimulai dengan huruf atau garis bawah (_).

    • Panjang maksimum: 128 byte.

  • Untuk parameter lainnya, lihat deskripsi parameter konfigurasi umum di Use case 2: Structured logs.

Parsing JSON standar

Strukturisasi log JSON bertipe Object dengan mengurai menjadi pasangan kunci-nilai.

Contoh:

Log mentah tanpa pemrosesan apa pun

Ekstraksi otomatis pasangan kunci-nilai JSON standar

{"url": "POST /PutData?Category=YunOsAccountOpLog&AccessKeyId=U0Ujpek********&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=pD12XYLmGxKQ%2Bmkd6x7hAgQ7b1c%3D HTTP/1.1", "ip": "10.200.98.220", "user-agent": "aliyun-sdk-java", "request": {"status": "200", "latency": "18204"}, "time": "05/Jan/2025:13:30:28"}
ip: 10.200.98.220
request: {"status": "200", "latency" : "18204" }
time: 05/Jan/2025:13:30:28
url: POST /PutData?Category=YunOsAccountOpLog&AccessKeyId=U0Ujpek******&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=pD12XYLmGxKQ%2Bmkd6x7hAgQ7b1c%3D HTTP/1.1
user-agent:aliyun-sdk-java

Prosedur: Di bagian Processor Configurations pada halaman Logtail Configuration, klik Add Processor dan pilih Native Processor > Data Parsing (JSON Mode):

  • Original Field: Bidang yang berisi log mentah untuk diurai. Nilai default-nya adalah content.

  • Untuk parameter lainnya, lihat deskripsi parameter konfigurasi umum di Use case 2: Structured logs.

Parsing JSON bersarang

Uraikan log JSON bersarang menjadi pasangan kunci-nilai dengan menentukan kedalaman ekspansi.

Contoh:

Log mentah tanpa pemrosesan apa pun

Kedalaman ekspansi: 0, menggunakan kedalaman ekspansi sebagai awalan

Kedalaman ekspansi: 1, menggunakan kedalaman ekspansi sebagai awalan

{"s_key":{"k1":{"k2":{"k3":{"k4":{"k51":"51","k52":"52"},"k41":"41"}}}}}
0_s_key_k1_k2_k3_k41:41
0_s_key_k1_k2_k3_k4_k51:51
0_s_key_k1_k2_k3_k4_k52:52
1_s_key:{"k1":{"k2":{"k3":{"k4":{"k51":"51","k52":"52"},"k41":"41"}}}}

Prosedur: Di bagian Processor Configurations pada halaman Logtail Configuration, klik Add Processor dan pilih Extended Processor > Expand JSON Field:

  • Original Field: Menentukan nama field sumber yang akan diekspansi, seperti content.

  • JSON Expansion Depth: Kedalaman ekspansi objek JSON, di mana 0 (default) menunjukkan ekspansi penuh, 1 menunjukkan ekspansi tingkat saat ini, dan seterusnya.

  • Character to Concatenate Expanded Keys: Pemisah untuk nama field saat objek JSON diekspansi. Nilai default adalah garis bawah (_).

  • Name Prefix of Expanded Keys: Awalan untuk nama field setelah ekspansi JSON.

  • Expand Array: Mengekspansi array menjadi pasangan kunci-nilai dengan indeks.

    Contoh: {"k":["a","b"]} diekspansi menjadi {"k[0]":"a","k[1]":"b"}.

    Untuk mengganti nama field yang diekspansi (misalnya dari prefix_s_key_k1 menjadi new_field_name), tambahkan rename fields plugin setelahnya untuk menyelesaikan pemetaan.
  • Untuk parameter lainnya, lihat deskripsi parameter konfigurasi umum di Use case 2: Structured logs.

Parsing array JSON

Gunakan json_extract fungsi untuk mengekstrak objek JSON dari array JSON.

Contoh:

Log mentah tanpa pemrosesan apa pun

Ekstraksi struktur array JSON

[{"key1":"value1"},{"key2":"value2"}]
json1:{"key1":"value1"}
json2:{"key2":"value2"}

Prosedur: Di bagian Processor Configurations pada halaman Logtail Configuration, ubah Processing Mode menjadi SPL, konfigurasikan Pernyataan SPL, dan gunakan fungsi json_extract untuk mengekstraksi objek JSON dari array JSON.

Contoh: Ekstrak elemen dari array JSON di field log content dan simpan hasilnya di field baru json1 dan json2.

* | extend json1 = json_extract(content, '$[0]'), json2 = json_extract(content, '$[1]')

Parsing log Apache

Strukturisasi konten log menjadi beberapa pasangan kunci-nilai berdasarkan definisi dalam file konfigurasi log Apache.

Contoh:

Log mentah tanpa pemrosesan apa pun

Apache Common Log Format combined Penguraian

1 192.168.1.10 - - [08/May/2024:15:30:28 +0800] "GET /index.html HTTP/1.1" 200 1234 "https://www.example.com/referrer" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.X.X Safari/537.36"
http_referer:https://www.example.com/referrer
http_user_agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.X.X Safari/537.36
remote_addr:192.168.1.10
remote_ident:-
remote_user:-
request_method:GET
request_protocol:HTTP/1.1
request_uri:/index.html
response_size_bytes:1234
status:200
time_local:[08/May/2024:15:30:28 +0800]

Prosedur: Di bagian Processor Configurations pada halaman Logtail Configuration, klik Add Processor dan pilih Native Processor > Data Parsing (Apache Mode):

  • Log Format adalah combined.

  • APACHE LogFormat Configuration diisi otomatis berdasarkan Log Format.

    Penting

    Pastikan untuk memverifikasi isi yang diisi otomatis agar persis sama dengan LogFormat yang didefinisikan dalam file konfigurasi Apache server Anda (biasanya terletak di /etc/apache2/apache2.conf).

  • Untuk parameter lainnya, lihat deskripsi parameter konfigurasi umum di Use case 2: Structured logs.

Parsing log IIS

Strukturisasi konten log menjadi beberapa pasangan kunci-nilai berdasarkan definisi format log IIS.

Contoh perbandingan:

Log mentah

Adaptasi untuk format khusus server Microsoft IIS

#Fields: date time s-sitename s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status sc-bytes cs-bytes time-taken
c-ip: cs-username
cs-bytes: sc-substatus
cs-method: cs-method
cs-uri-query: cs-uri-query
cs-uri-stem: cs-uri-stem
cs-username: s-port
date: #Fields:
s-computername: s-sitename
s-ip: s-ip
s-sitename: time
sc-bytes: sc-status
sc-status: c-ip
sc-win32-status: cs (User-Agent)
time: date
time-taken: sc-win32-status

Prosedur: Di bagian Processor Configurations pada halaman Logtail Configuration, klik Add Processor dan pilih Native Processor > Data Parsing (IIS Mode):

  • Log Format: Pilih format log untuk server IIS Anda.

    • IIS: Format file log untuk Microsoft Internet Information Services.

    • NCSA: Common Log Format.

    • W3C mengacu pada W3C Extended Log File Format.

  • IIS Configuration Fields: Saat Anda memilih IIS atau NCSA, SLS menggunakan field konfigurasi IIS default. Saat Anda memilih W3C, Anda harus mengatur field ke nilai parameter logExtFileFlags dalam file konfigurasi IIS Anda. Contoh:

    logExtFileFlags="Date, Time, ClientIP, UserName, SiteName, ComputerName, ServerIP, Method, UriStem, UriQuery, HttpStatus, Win32Status, BytesSent, BytesRecv, TimeTaken, ServerPort, UserAgent, Cookie, Referer, ProtocolVersion, Host, HttpSubStatus"
  • Untuk parameter lainnya, lihat deskripsi parameter konfigurasi umum di Use case 2: Structured logs.

Penyembunyian data

Sembunyikan data sensitif dalam log.

Contoh:

Log mentah tanpa pemrosesan apa pun

Hasil masking

[{'account':'1812213231432969','password':'04a23f38'}, {'account':'1812213685634','password':'123a'}]
[{'account':'1812213231432969','password':'********'}, {'account':'1812213685634','password':'********'}]

Prosedur: Di bagian Processor Configurations pada halaman Logtail Configuration, klik Add Processor dan pilih Native Processor > Data Masking:

  • Original Field: Field yang berisi konten log sebelum parsing.

  • Data Masking Method:

    • const: Mengganti konten sensitif dengan string konstan.

    • md5: Mengganti konten sensitif dengan hash MD5-nya.

  • Replacement String: Jika Data Masking Method diatur ke const, masukkan string untuk mengganti konten sensitif.

  • Content Expression that Precedes Replaced Content: Ekspresi yang digunakan untuk mendeteksi konten sensitif, dikonfigurasi menggunakan sintaksis RE2.

  • Content Expression to Match Replaced Content: Ekspresi reguler yang digunakan untuk mencocokkan konten sensitif. Ekspresi harus ditulis dalam sintaks RE2.

Parsing waktu

Uraikan field waktu dalam log dan tetapkan hasil parsing sebagai field __time__ log tersebut.

Contoh:

Log mentah tanpa pemrosesan apa pun

Parsing waktu

{"level":"INFO","timestamp":"2025-09-23T19:11:47+0800","cluster":"yilu-cluster-0728","message":"User logged in successfully","userId":"user-123"}

image

Prosedur: Di bagian Processor Configurations pada halaman Logtail Configuration, klik Add Processor dan pilih Native Processor > Time Parsing:

  • Original Field: Field yang berisi konten log sebelum parsing.

  • Time Format: Tetapkan format waktu yang sesuai dengan timestamp dalam log.

  • Time Zone: Pilih zona waktu untuk field waktu log. Secara default, ini adalah zona waktu lingkungan tempat proses LoongCollector (Logtail) berjalan.