All Products
Search
Document Center

Simple Log Service:Kumpulkan log teks host dalam satu operasi

Last Updated:Mar 26, 2026

Untuk kasus penggunaan seperti pengumpulan file historis, migrasi data, atau pemrosesan data batch, pengumpulan log inkremental tradisional tidak cocok untuk pengumpulan satu kali terhadap file statis yang sudah ada. Fitur Host Text One-time Collection memungkinkan Anda menerapkan konfigurasi pengumpulan secara massal ke Machine Group melalui Konsol atau API. Tugas yang dihasilkan akan mengumpulkan konten file statis yang ditentukan satu kali, lalu secara otomatis menghentikan tugas tersebut.

Cakupan

  • LoongCollector versi 3.3 atau lebih baru.

  • Mendukung pengumpulan host pada Linux dan Windows, tetapi tidak mendukung pengumpulan container.

Alur kerja konfigurasi pengumpulan

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

  2. Konfigurasi machine group (instal LoongCollector): Instal LoongCollector sesuai jenis server Anda dan tambahkan ke machine group. Gunakan machine group untuk mengelola node pengumpulan, mendistribusikan konfigurasi, dan memantau kesehatan server.

  3. Buat dan konfigurasi aturan pengumpulan file satu kali:

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

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

      • Log multiline: Fitur ini menangani entri log yang mencakup beberapa baris, seperti stack trace Java atau traceback Python. Gunakan ekspresi reguler awal-baris untuk mengidentifikasi awal setiap entri log, lalu menggabungkan baris-baris berikutnya menjadi satu catatan.

      • Penguraian terstruktur: Konfigurasikan plugin parser (seperti regex, delimiter, atau mode NGINX) untuk mengurai string mentah menjadi pasangan kunci-nilai terstruktur. Hal ini memungkinkan Anda melakukan kueri dan analisis setiap field secara independen.

    3. Log filtering: Konfigurasikan daftar hitam pengumpulan dan aturan filtering konten untuk menyaring konten log yang relevan, sehingga mengurangi transmisi dan penyimpanan data berlebih.

    4. Log categorization: Konfigurasikan topik log untuk mengkategorisasi log secara fleksibel dari layanan, server, atau jalur sumber berbeda.

  4. Query and analysis configuration: Indeks teks penuh diaktifkan secara default dan mendukung pencarian kata kunci. Kami merekomendasikan mengaktifkan indeks bidang pada field terstruktur untuk meningkatkan efisiensi pencarian dan memungkinkan kueri serta analisis yang tepat.

  5. Verify collection results: Setelah menyelesaikan konfigurasi, verifikasi bahwa log berhasil dikumpulkan. Jika Anda mengalami masalah seperti log tidak terkumpul, kegagalan heartbeat, atau error parsing, lihat FAQ.

Prasyarat

Sebelum dapat mengumpulkan log, buat Project dan LogStore. Jika Anda sudah memilikinya, lewati langkah ini dan lanjutkan ke Konfigurasi Machine Group (Instal LoongCollector).

Buat Project

  1. Masuk ke Konsol Log Service.

  2. Klik Create Project dan konfigurasikan pengaturan berikut:

    • Region: Pilih wilayah tempat sumber log Anda berada. Pengaturan ini tidak dapat diubah setelah Project dibuat.

    • Project name: Masukkan nama yang unik secara global untuk Project dalam Alibaba Cloud. Nama ini tidak dapat diubah setelah dibuat.

    • Biarkan pengaturan lainnya sebagai default dan klik Create. Untuk informasi lebih lanjut tentang parameter lainnya, lihat Create a Project.

Buat LogStore

  1. Dalam daftar Project, klik Project target Anda.

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

  3. Di halaman Create LogStore, konfigurasikan pengaturan berikut:

    • LogStore name: Masukkan nama yang unik dalam Project. Nama ini tidak dapat diubah setelah dibuat.

    • LogStore type: Pilih Standard atau Query berdasarkan kebutuhan fitur Anda.

    • billing method:

      • pay-by-feature: Metode ini menagih Anda secara terpisah untuk sumber daya seperti penyimpanan, pengindeksan, dan operasi baca/tulis. Metode ini ideal untuk skenario skala kecil atau ketika penggunaan fitur Anda belum pasti.

      • pay-by-ingested-data: Metode ini hanya menagih Anda berdasarkan volume data mentah yang diingest. Metode ini mencakup penyimpanan gratis selama 30 hari dan fitur gratis seperti pemrosesan data dan pengiriman. Metode ini ideal untuk skenario bisnis dengan periode retensi sekitar 30 hari atau memiliki pipeline pemrosesan data kompleks.

    • data retention period: Tentukan jumlah hari untuk menyimpan log, dari 1 hingga 3.650. Nilai 3.650 berarti retensi permanen. Nilai default adalah 30 hari.

    • Biarkan pengaturan lainnya sebagai default dan klik OK. Untuk informasi lebih lanjut tentang pengaturan lainnya, lihat Manage a LogStore.

Langkah 1: Konfigurasi machine group (instal LoongCollector)

Setelah menyelesaikan prasyarat, instal LoongCollector pada server dan tambahkan ke machine group.

Catatan

Langkah instalasi ini hanya berlaku jika sumber log adalah Instance ECS dalam akun dan wilayah yang sama dengan Project Log Service.

Jika Instance ECS dan Project Anda tidak berada dalam akun atau wilayah yang sama, atau jika sumber log Anda adalah server on-premises, lihat Install and configure LoongCollector.

Prosedur

  1. Di halaman imageLogstores, klik image di sebelah nama Logstore target untuk membukanya.

  2. Klik Data Import > Logtail Configurations. Di tab One-time Logtail Configuration, klik Add Logtail Configuration.

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

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

    • Use Case: Host Scenario

    • Installation Environment: ECS

    • Konfigurasi Machine Group: Tindakan selanjutnya tergantung pada apakah LoongCollector sudah diinstal dan machine group sudah ada.

      • Jika LoongCollector sudah diinstal dan ditambahkan ke machine group, pilih machine group dari daftar Source Machine Groups dan tambahkan ke daftar Applied Machine Groups. Tidak perlu membuat machine group baru.

      • Jika LoongCollector belum diinstal, klik Create Machine Group.

        Langkah-langkah ini memandu Anda melalui instalasi otomatis LoongCollector dan pembuatan machine group.
        1. Sistem secara otomatis mencantumkan Instance ECS yang berada dalam wilayah yang sama dengan Project Anda. 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. Masukkan Name untuk machine group dan klik OK.

        Catatan

        Jika instalasi gagal atau tetap dalam status pending, pastikan Instance ECS berada dalam wilayah yang sama dengan Project.

      • Untuk menambahkan server yang sudah memiliki LoongCollector terinstal ke machine group yang sudah ada, lihat topik FAQ How do I add a server to an existing machine group?

  5. Periksa status heartbeat: Klik Next. Bagian Machine Group Heartbeat Status akan muncul. Pastikan status Heartbeat adalah OK, yang menunjukkan koneksi berhasil. Lalu, klik Next untuk melanjutkan ke konfigurasi Logtail.

    Jika statusnya FAIL, heartbeat awal mungkin memerlukan waktu beberapa saat untuk terbentuk. Tunggu sekitar dua menit, lalu refresh statusnya. Jika status tetap FAIL, lihat Machine group heartbeat connection fails untuk troubleshooting.

Langkah 2: Konfigurasi pengumpulan file satu kali

Setelah menyelesaikan instalasi LoongCollector dan konfigurasi machine group, buka halaman Logtail configuration untuk menentukan aturan pengumpulan dan pemrosesan log.

1. Konfigurasi global dan input

Tentukan nama konfigurasi pengumpulan dan tentukan sumber serta cakupan pengumpulan log.

global configuration:

  • Configuration name: Masukkan nama kustom untuk konfigurasi pengumpulan. Nama harus unik dalam Project dan tidak dapat diubah setelah dibuat. Aturan penamaan sebagai berikut:

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

    • Harus dimulai dan diakhiri dengan huruf kecil atau angka.

  • Execution timeout: Default adalah 600 detik (10 menit), dan rentang validnya dari 600 hingga 604.800 detik (10 menit hingga 7 hari). Jika tugas melebihi batas waktu ini, sistem akan menghentikannya dan tidak mengumpulkan data yang tersisa.

    Penting

    Penting: Saat Anda memperbarui konfigurasi, periode efektifnya diatur ulang. Untuk menghindari tugas duplikat atau pelaporan data yang tidak diinginkan, pastikan cakupan machine group benar dan eksekusi tugas sebelumnya tidak melebihi execution timeout yang ditentukan.

  • Force task rerun on update : Opsi ini dimatikan secara default.

    • Off:

      • Saat Anda memperbarui parameter pengumpulan selain execution timeout atau input configuration, sistem melanjutkan progres pengumpulan saat ini alih-alih memulai ulang tugas. Hal ini memastikan kelangsungan pengumpulan.

      • Jika Anda mengubah execution timeout atau input configuration, sistem menjalankan ulang tugas pengumpulan.

    • On: Saat Anda memperbarui konfigurasi pengumpulan, tugas pengumpulan dijalankan ulang dari awal. Hal ini memastikan semua data diproses dan dilaporkan menggunakan pengaturan baru. Catatan: Data yang telah dikumpulkan sebelumnya tidak dihapus. Untuk menghapus data yang telah dikumpulkan, lihat Log Service soft delete.

input configuration:

  • Type: one-time file collection (available in LoongCollector 3.3 and later).

  • File path: Jalur tempat log dikumpulkan.

    Catatan

    LoongCollector menentukan daftar file dan ukurannya untuk pengumpulan saat mengambil konfigurasi. LoongCollector tidak mengumpulkan file baru atau konten yang ditambahkan setelah titik ini.

    • Linux: Jalur harus dimulai dengan garis miring (/). Misalnya, /data/mylogs/**/*.log mengumpulkan semua file dengan ekstensi .log di semua subdirektori /data/mylogs.

    • Windows: Jalur harus dimulai dengan huruf drive. Misalnya, C:\Program Files\Intel\**\*.Log.

  • Maximum directory monitoring depth: Kedalaman direktori maksimum yang dapat dicocokkan oleh wildcard ** dalam file path. Default adalah 0, yang berarti hanya memantau direktori saat ini.


2. Pemrosesan dan penguraian log

Konfigurasikan aturan pemrosesan log untuk mengonversi log mentah yang tidak terstruktur menjadi data terstruktur yang dapat dicari, sehingga meningkatkan efisiensi kueri dan analisis. Kami merekomendasikan agar Anda terlebih dahulu Add Log Sample.

Di bagian processor configuration pada halaman Logtail configuration, klik Add Log Sample dan masukkan konten log Anda. Sistem menggunakan sampel ini untuk mengidentifikasi format log dan membantu menghasilkan ekspresi reguler serta aturan parsing, sehingga menyederhanakan proses konfigurasi.

Skenario 1: Memproses log multi-baris

Log seperti stack trace exception Java dan objek JSON sering kali mencakup beberapa baris. Dalam mode pengumpulan default, log ini dibagi menjadi beberapa catatan tidak lengkap, yang menyebabkan kehilangan konteks. Untuk mencegah hal ini, Anda dapat mengaktifkan mode multiline. Dengan mengonfigurasi ekspresi reguler awal-baris, Anda dapat menggabungkan baris berturut-turut yang termasuk dalam satu entri log menjadi satu log lengkap.

Contoh:

Log mentah yang belum diproses

Dalam mode default, collector memperlakukan setiap baris sebagai log terpisah, sehingga memecah stack trace dan menyebabkan kehilangan konteks.

Dengan mode multiline diaktifkan, ekspresi reguler awal-baris mengidentifikasi entri log lengkap, sehingga mempertahankan struktur semantik penuh.

image

image

image

Prosedur: Di bagian processor configuration pada halaman Logtail configuration, aktifkan Multiline Mode.

  • Type: Pilih Custom atau Multiline JSON.

    • Custom: Gunakan opsi ini untuk log dengan format tidak tetap. Anda harus mengonfigurasi line-beginning regular expression untuk mengidentifikasi awal setiap entri log.

      • Line-beginning regular expression: Anda dapat menghasilkan ekspresi ini secara otomatis atau memasukkannya secara manual. Ekspresi reguler harus mencocokkan satu baris data lengkap. Misalnya, ekspresi untuk log sampel adalah \[\d+-\d+-\w+:\d+:\d+,\d+]\s\[\w+]\s.*.

        • Untuk menghasilkan ekspresi secara otomatis, klik Auto-generate Regex, pilih konten log yang diinginkan di kotak teks Log Sample, lalu klik Generate Regex.

        • Untuk memasukkan ekspresi secara manual, klik Manually Enter Regex, masukkan ekspresi Anda, lalu klik Validate.

    • Multiline JSON: Saat log mentah Anda dalam format JSON standar, Log Service secara otomatis menangani baris baru dalam satu entri log JSON.

  • Action on split failure:

    • Discard: Jika blok teks tidak sesuai dengan aturan awal-baris, blok tersebut akan dibuang.

    • Keep as Single Lines: Menyimpan teks apa pun yang tidak sesuai aturan sebagai log satu baris individual.

Skenario 2: Memproses log terstruktur

Menanyakan dan menganalisis teks tidak terstruktur atau semi-terstruktur, seperti log akses NGINX atau output aplikasi, bisa menjadi tidak efisien. Log Service menyediakan prosesor data untuk secara otomatis mengonversi log mentah dengan berbagai format menjadi data terstruktur. Hal ini memberikan fondasi yang kuat untuk analisis, pemantauan, dan peringatan selanjutnya.

Contoh:

Log mentah yang belum diproses

Log setelah penguraian terstruktur

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: Di bagian processor configuration pada halaman Logtail configuration:

  1. Tambahkan prosesor: Klik Add Processing Plugin dan konfigurasikan prosesor regex, delimiter, atau JSON berdasarkan format log Anda. Contoh ini menggunakan log NGINX dan memilih native processor > NGINX-mode processor.

  2. NGINX log configuration: Salin definisi lengkap log_format dari file konfigurasi server NGINX Anda (nginx.conf) dan tempelkan ke kotak teks.

    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 digunakan untuk menghasilkan log di server Anda. Jika tidak, penguraian akan gagal.

  3. Parameter umum: Parameter berikut umum digunakan di berbagai prosesor data dan memiliki fungsi yang sama.

    • Source field: Menentukan field sumber yang akan diurai. Default adalah content, yang merujuk pada seluruh entri log yang dikumpulkan.

    • Keep source field on parse failure: Direkomendasikan. Jika prosesor gagal mengurai log (misalnya, karena ketidaksesuaian format), opsi ini mempertahankan konten log asli di field sumber yang ditentukan.

    • Keep source field on parse success: Jika dipilih, opsi ini mempertahankan konten log asli setelah penguraian berhasil.


3. Filtering log

Mengumpulkan volume besar log bernilai rendah atau tidak relevan tanpa seleksi, seperti entri level DEBUG atau INFO, dapat membuang sumber daya penyimpanan, meningkatkan biaya, menghambat kinerja kueri, dan menimbulkan risiko kebocoran data. Untuk mengatasi masalah ini, Anda dapat menggunakan filtering detail halus untuk memastikan pengumpulan log yang efisien dan aman.

Filter berdasarkan konten

Filter log berdasarkan konten field, misalnya hanya mengumpulkan log dengan level WARNING atau ERROR.

Contoh:

Log mentah yang belum diproses

Kumpulkan hanya log WARNING atau ERROR

{"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: Di bagian processor configuration pada halaman Logtail configuration:

Klik Add Processing Plugin dan pilih native processor > Filter Processing.

  • Field name: Field log yang akan difilter.

  • Field value: Ekspresi reguler yang digunakan untuk filtering. Diperlukan pencocokan teks penuh; pencocokan kata kunci parsial tidak didukung.

Filter dengan blacklist

Gunakan daftar hitam pengumpulan untuk mengecualikan direktori atau file tertentu dan mencegah pengunggahan log yang tidak relevan atau sensitif.

Prosedur: Di halaman Logtail configuration, buka bagian input configuration > Other Input Configurations, aktifkan collection blacklist, lalu klik Add.

Mendukung pencocokan eksak dan pencocokan wildcard untuk direktori dan nama file. Wildcard yang didukung hanya tanda bintang (*) dan tanda tanya (?).
  • 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 semua file yang diakhiri dengan _inner.log di direktori yang diawali dengan private di bawah direktori /home/admin/.

  • File blacklist: Nama file yang akan diabaikan selama pengumpulan. Contoh:

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

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

    • /home/admin/dir1/: Daftar hitam direktori tidak akan berpengaruh.

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

    • /home/admin/*/dir: Mengabaikan semua file di subdirektori tingkat kedua bernama dir di bawah direktori /home/admin/. Misalnya, file di direktori /home/admin/a/dir diabaikan, tetapi 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 (misalnya, /apps/app-A/run.log dan /apps/app-B/run.log), akan sulit membedakan sumbernya setelah dikumpulkan. Dengan mengonfigurasi topik log, Anda dapat membedakan log dari berbagai aplikasi, layanan, atau jalur secara logis, sehingga memungkinkan kategorisasi efisien dan kueri tepat dalam tujuan penyimpanan terpadu.

Prosedur: Di bagian Global Configuration > Other Global Configurations > Log Topic Type, pilih cara menghasilkan topik. Anda dapat menggunakan salah satu dari tiga metode berikut:

  • Machine group topic: Saat Anda menerapkan konfigurasi pengumpulan ke beberapa machine group, LoongCollector secara otomatis menggunakan nama machine group server sebagai nilai field __topic__. Ini berguna untuk skenario di mana Anda ingin mengkategorisasi log berdasarkan host.

  • Custom: Gunakan format customized://<your-topic-name>, misalnya, customized://app-login. Metode ini cocok untuk topik statis dengan pengenal bisnis tetap.

  • Ekstraksi berbasis jalur file: Mengekstraksi informasi kunci dari jalur lengkap file log untuk memberi tag sumber log secara dinamis. Ini berguna saat beberapa pengguna atau aplikasi berbagi nama file log yang sama tetapi berada di jalur berbeda. Misalnya, saat beberapa pengguna atau layanan menulis log ke direktori tingkat atas berbeda tetapi menggunakan subdirektori dan nama file yang sama, Anda tidak dapat membedakan sumber hanya berdasarkan nama file.

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

    Dalam kasus ini, Anda dapat mengonfigurasi ekstraksi berbasis jalur file dan menggunakan ekspresi reguler untuk mengekstraksi informasi kunci dari jalur lengkap. Log Service kemudian mengunggah hasil yang cocok ke Logstore sebagai topik log.

    Aturan ekstraksi berbasis jalur file: Berdasarkan grup tangkapan ekspresi reguler

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

    Dalam ekspresi reguler untuk jalur file, Anda harus meng-escape garis miring (/).

    Jenis grup tangkapan

    Kasus penggunaan

    Field yang dihasilkan

    Contoh regex

    Jalur yang cocok

    Field yang dihasilkan

    Grup tangkapan tunggal (satu (.*?))

    Saat Anda hanya memerlukan satu dimensi untuk membedakan sumber (misalnya, nama pengguna atau lingkungan).

    Menghasilkan field __topic__.

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

    /logs/userA/app.log

    __topic__:userA

    Beberapa grup tangkapan tanpa nama (beberapa (.*?))

    Saat Anda memerlukan beberapa dimensi untuk membedakan sumber tetapi tidak memerlukan label semantik.

    Menghasilkan field tag dengan kunci diformat sebagai __topic_{i}__, di mana {i} adalah indeks grup tangkapan.

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

    /logs/userA/svcA/app.log

    __tag__:__topic_1__:userA;

    __tag__:__topic_2__:svcA

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

    Saat Anda memerlukan beberapa dimensi untuk membedakan sumber dan menginginkan nama field yang jelas dan bermakna untuk memudahkan kueri dan analisis.

    Menghasilkan field tag dengan kunci berupa name grup tangkapan yang ditentukan.

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

    /logs/userA/svcA/app.log

    __tag__:user:userA;

    __tag__:service:svcA

Langkah 3: Kueri dan analisis

Setelah menyelesaikan pemrosesan log dan konfigurasi plugin, klik Next untuk membuka halaman query and analysis configuration.

  • Indeks teks penuh diaktifkan secara default dan mendukung pencarian kata kunci pada konten log mentah.

  • Untuk melakukan kueri tepat berdasarkan field, klik Automatic Index Generation setelah preview data dimuat. Log Service kemudian menghasilkan indeks bidang berdasarkan entri pertama dalam data pratinjau.

Setelah menyelesaikan konfigurasi, klik Next untuk menyelesaikan proses pengumpulan.

Langkah 4: Verifikasi hasil pengumpulan

Setelah konfigurasi diterapkan, klik Query / Analysis di halaman Query and Analysis Logstore target untuk melihat data log yang dikumpulkan.

FAQ

Siklus hidup konfigurasi pengumpulan satu kali

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

image
  • Jendela distribusi konfigurasi: LoongCollector dapat menarik konfigurasi dalam waktu 5 menit setelah dibuat. Setelah 5 menit, instans LoongCollector baru tidak dapat memperoleh konfigurasi ini.

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

  • Eksekusi tugas: Tugas pengumpulan harus diselesaikan dalam batas waktu eksekusi. Jika tugas melebihi waktu ini, sistem akan menghentikannya secara paksa.

Pengumpulan file satu kali vs. metode lama

Metode pengumpulan file historis lama tidak lagi direkomendasikan. Gunakan fitur pengumpulan file satu kali yang baru untuk mengimpor data historis. Dibandingkan dengan metode lama yang memerlukan pembuatan file konfigurasi secara manual, fitur baru ini secara signifikan meningkatkan efisiensi, keandalan, dan observabilitas konfigurasi. Tabel berikut memberikan perbandingan terperinci:

Item

Metode lama

Pengumpulan satu kali

Metode konfigurasi

Buat file local_event.json pada setiap host secara individual.

Buat konfigurasi di konsol atau melalui API dan terapkan ke machine group secara batch.

Pencocokan file

Masukkan jalur dan nama file secara manual.

Menyediakan konfigurasi yang disederhanakan mirip mode input_file dan mendukung filtering daftar hitam.

Pemantauan progres

Tidak ada pelaporan status atau log lokal.

Menggunakan checkpoint untuk melacak progres pengumpulan, dengan granularitas hingga offset saat ini dari setiap file.

Keandalan

Rendah. Berjalan sebagai proses terpisah tanpa kontrol sumber daya atau mekanisme checkpoint.

Tinggi. Menggunakan manajemen sumber daya tingkat pipeline standar, mendukung pengendalian aliran untuk menghindari dampak pada tugas pengumpulan lain, dan memungkinkan transfer yang dapat dilanjutkan.

Fleksibilitas

Rendah. Anda harus menggunakan konfigurasi pengumpulan yang sudah ada.

Tinggi. Anda dapat menyesuaikan konfigurasi pengumpulan dan bahkan memodifikasinya selama tugas berjalan.

Heartbeat machine group adalah FAIL

  1. Periksa ID pengguna. Jika server Anda bukan Instance ECS, atau jika Instance ECS dan Project Anda berada dalam akun Alibaba Cloud yang berbeda, periksa apakah file ID pengguna yang benar ada di direktori yang ditentukan. Jika tidak ada, buat secara manual menggunakan salah satu perintah berikut.

    • 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 pengenal machine group. Jika Anda menggunakan pengenal yang ditentukan pengguna saat membuat machine group, periksa apakah file bernama user_defined_id ada di direktori yang ditentukan. Jika ada, pastikan isinya sesuai dengan pengenal yang ditentukan pengguna yang dikonfigurasi untuk machine group.

    • Linux:

      # Konfigurasikan pengenal yang ditentukan pengguna. Jika direktori tidak ada, buat secara manual.
      echo "user-defined-1" > /etc/ilogtail/user_defined_id
    • Windows: Buat file bernama user_defined_id di direktori C:\LogtailData dan tuliskan pengenal yang ditentukan pengguna ke dalamnya. Jika direktori tidak ada, buat secara manual.

  3. Jika ID pengguna dan pengenal machine group sudah benar, lihat Troubleshoot LoongCollector (Logtail) machine group issues untuk investigasi lebih lanjut.

Tambahkan server ke machine group

Untuk menambahkan server baru ke machine group yang sudah ada, seperti Instance ECS yang baru diterapkan atau server yang dikelola sendiri, ikuti langkah-langkah berikut untuk mengaitkannya dengan grup dan menerapkan konfigurasi pengumpulannya.

Penting

Jika server ditambahkan ke machine group lebih dari 5 menit setelah konfigurasi pengumpulan satu kali dibuat, server tersebut tidak akan menerima konfigurasi. Anda dapat melihat penghitung mundur di bagian atas halaman konfigurasi pengumpulan untuk mengetahui waktu tersisa yang tepat.

Prasyarat

  • Machine group yang sudah ada.

  • LoongCollector telah diinstal di server baru.

Prosedur

  1. Lihat pengenal machine group dari machine group target.

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

    2. Di halaman Machine Groups, klik nama machine group target.

    3. Di halaman konfigurasi machine group, lihat pengenal machine group.

  2. Lakukan salah satu tindakan berikut berdasarkan jenis pengenal.

    Catatan

    Satu machine group tidak dapat berisi server Linux dan Windows sekaligus. Jangan mengonfigurasi pengenal yang ditentukan pengguna yang sama pada server Linux dan Windows. Anda dapat mengonfigurasi beberapa pengenal yang ditentukan pengguna pada satu server dengan memisahkannya menggunakan line break.

    • Jenis 1: Pengenal machine group adalah alamat IP.

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

        cat /usr/local/ilogtail/app_info.json
      2. Di halaman konfigurasi machine group target, klik Modify dan masukkan alamat IP server. Jika Anda memiliki beberapa alamat IP, pisahkan dengan line break.

      3. Setelah menyelesaikan konfigurasi, klik Save dan periksa status heartbeat. Jika statusnya OK, sistem secara otomatis menerapkan konfigurasi pengumpulan machine group ke server.

        Jika status heartbeat FAIL, lihat The machine group heartbeat status is FAIL untuk troubleshooting lebih lanjut.
    • Jenis 2: Pengenal machine group adalah pengenal yang ditentukan pengguna.

      Berdasarkan sistem operasi, tuliskan string pengenal yang ditentukan pengguna yang sesuai dengan machine group target ke file yang ditentukan.

      Jika direktori tidak ada, buat secara manual. Jalur dan nama file bersifat tetap dan tidak dapat dikustomisasi.
      • Linux: Tuliskan pengenal yang ditentukan pengguna ke file /etc/ilogtail/user_defined_id.

      • Windows: Tuliskan pengenal yang ditentukan pengguna ke file C:\LogtailData\user_defined_id.

Lampiran: Plugin pemrosesan native

Penguraian ekspresi reguler

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 penguraian 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 diekstrak.

      • 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 diekstrak (Value).

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

Penguraian delimiter

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

Contoh:

Log mentah tanpa pemrosesan apa pun

Field dipisahkan 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 memisahkan konten log.

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

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

  • Extracted Field: Tentukan nama field (Key) untuk setiap kolom sesuai urutan kemunculannya. 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.

Penguraian JSON

Strukturisasi log JSON tipe Objek 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: Field yang berisi log mentah yang akan diurai. Nilai default adalah content.

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

Penguraian JSON bersarang

Urai 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: Ekspansi 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.

Penguraian array JSON

Gunakan fungsi json_extract untuk mengekstrak objek JSON dari array JSON.

Contoh:

Log mentah tanpa pemrosesan apa pun

Ekstrak 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 SPL Statement, dan gunakan fungsi json_extract untuk mengekstrak 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]')

Penguraian log Apache

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

Contoh:

Log mentah tanpa pemrosesan apa pun

Parsing format log gabungan Apache combined

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 konten yang diisi otomatis agar persis sama dengan LogFormat yang didefinisikan dalam file konfigurasi Apache server Anda (biasanya berada di /etc/apache2/apache2.conf).

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

Penguraian 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 penyamaran

[{'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 menemukan konten sensitif, yang dikonfigurasi menggunakan sintaks RE2.

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

Parsing waktu

Urai field waktu dalam log dan atur hasil parsing sebagai field __time__ log.

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: Atur 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.