全部产品
Search
文档中心

Simple Log Service:Kumpulkan log teks dari server

更新时间:Dec 02, 2025

Log bisnis dan sistem yang tersebar di berbagai server sulit dicari, dipantau, dan dianalisis secara terpusat. Gunakan LoongCollector (Logtail) untuk mengumpulkan log teks secara real-time dari instance ECS, IDC yang dikelola sendiri, atau host dari penyedia cloud lainnya, lalu kirimkan ke Simple Log Service (SLS) guna manajemen dan analisis terpusat. Untuk mengumpulkan log lengkap, impor file log historis.

Catatan penggunaan

  • Sistem operasi dan arsitektur yang didukung:

    LoongCollector hanya mendukung sistem Linux. Untuk host Windows, gunakan Logtail. Kami menyarankan Anda menggunakan LoongCollector untuk skenario pengumpulan baru.

    LoongCollector adalah agen pengumpulan log generasi berikutnya dari SLS, yang merupakan versi peningkatan dari Logtail. Anda hanya perlu menginstal LoongCollector atau Logtail, bukan keduanya.
  • Persyaratan sumber daya komputasi:

    • CPU: Minimal 0,4 core.

    • Memori: Minimal 300 MB.

    • Penggunaan yang disarankan: Untuk memastikan operasi stabil, pertahankan penggunaan sumber daya aktual LoongCollector (Logtail) di bawah 80% dari batas. Penggunaan aktual bergantung pada faktor seperti kecepatan pengumpulan, jumlah direktori dan file yang dipantau, serta tingkat pemblokiran pengiriman.

  • Persyaratan izin:

    Jika Anda menggunakan pengguna Resource Access Management (RAM), Anda harus memberikan izin AliyunLogFullAccess dan AliyunECSFullAccess. Untuk otorisasi detail halus, lihat Lampiran: Kebijakan izin kustom.

Alur kerja konfigurasi pengumpulan

  1. Preparations: Buat proyek dan penyimpanan log (logstore). Proyek adalah unit manajemen resource yang digunakan untuk mengisolasi log aplikasi yang berbeda, sedangkan logstore digunakan untuk menyimpan log.

  2. Configure a machine group (Install LoongCollector): Instal LoongCollector sesuai jenis server dan tambahkan server ke kelompok mesin. Kelompok mesin digunakan untuk mengelola node pengumpulan, mendistribusikan konfigurasi, dan mengelola status server.

  3. Create and configure log collection rules:

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

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

      • Log multiline: Gunakan mode ini untuk log tunggal yang mencakup beberapa baris, seperti stack exception Java atau traceback Python. Identifikasi awal setiap log dengan ekspresi reguler untuk menggabungkan baris-baris berurutan menjadi satu log lengkap.

      • Penguraian terstruktur: Gunakan plugin penguraian, seperti plugin ekspresi reguler, pemisah, atau pola NGINX, untuk mengekstrak 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 memfilter konten log yang valid. Hal ini mengurangi transmisi dan penyimpanan data berlebihan.

    4. Kategorisasi log: Gunakan topik untuk membedakan log dari aplikasi, server, atau sumber path yang berbeda.

  4. Query and analysis configuration: Indeks teks lengkap diaktifkan secara default untuk mendukung pencarian kata kunci. Aktifkan indeks field untuk kueri dan analisis presisi pada field terstruktur guna meningkatkan efisiensi pencarian.

  5. Verification and troubleshooting: Setelah konfigurasi selesai, verifikasi apakah log berhasil dikumpulkan. Jika Anda mengalami masalah seperti tidak ada pengumpulan data, kegagalan heartbeat, atau error parsing, lihat FAQ untuk troubleshooting.

Persiapan

Sebelum mengumpulkan log, Anda harus membuat proyek dan logstore untuk mengelola dan menyimpan log. Jika Anda sudah memiliki resource ini, lewati langkah ini dan lanjutkan ke Konfigurasikan kelompok mesin (Instal LoongCollector).

Buat proyek

  1. Masuk ke Konsol Simple Log Service.

  2. Klik Create Project dan konfigurasikan parameter berikut:

    • Region: Wilayah tempat sumber log berada. Pengaturan ini tidak dapat diubah setelah dibuat.

    • Project Name: Harus unik secara global dalam Alibaba Cloud dan tidak dapat diubah setelah dibuat.

    • Pertahankan pengaturan default untuk konfigurasi lainnya dan klik Create. Untuk informasi lebih lanjut tentang parameter lainnya, lihat Buat proyek.

Buat logstore

  1. Klik nama proyek untuk masuk ke proyek target.

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

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

    • Logstore Name: Nama unik untuk logstore dalam proyek. Nama ini tidak dapat diubah setelah dibuat.

    • Logstore Type: Pilih Standard atau Query sesuai kebutuhan Anda.

    • Billing Mode:

      • Pay-by-feature: Metode penagihan di mana resource seperti penyimpanan, pengindeksan, dan operasi baca/tulis dikenai biaya secara terpisah. Mode ini cocok untuk skenario skala kecil atau ketika penggunaan fitur tidak dapat diprediksi.

      • Pay-by-ingested-data: Penagihan hanya berdasarkan volume data mentah yang ditulis. Metode penagihan ini mencakup penyimpanan gratis selama 30 hari dan fitur pelengkap seperti transformasi data dan pengiriman. Ideal untuk skenario bisnis dengan periode penyimpanan sekitar 30 hari atau pipeline pemrosesan data kompleks.

    • Data Retention Period: Jumlah hari penyimpanan log (dari 1 hingga 3.650). Nilai 3.650 menunjukkan penyimpanan permanen. Default-nya adalah 30 hari.

    • Pertahankan pengaturan default untuk konfigurasi lainnya dan klik OK. Untuk informasi lebih lanjut 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 yang berada dalam akun dan wilayah Alibaba Cloud yang sama dengan proyek SLS.

Jika instance ECS dan proyek Anda berada di akun atau wilayah berbeda, atau jika sumber log adalah server on-premises, lihat Instal dan konfigurasikan LoongCollector.

Prosedur:

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

  2. Klik ikon image di sebelah Data Collection, lalu pada kotak dialog Quick Data Import, pilih templat pengumpulan log teks (misalnya Single Line - Text Log) dan klik Integrate Now.

    Semua templat pengumpulan log teks hanya berbeda pada plugin parsing-nya. Proses konfigurasi sisanya sama dan dapat dimodifikasi nanti.
  3. Pada halaman Machine Group Configurations, konfigurasikan parameter berikut:

    • Scenario: Servers

    • Installation Environment: ECS

    • Pilih Kelompok Mesin: Berdasarkan status instalasi LoongCollector dan konfigurasi kelompok mesin server target, pilih operasi yang sesuai:

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

      • Jika LoongCollector belum diinstal, klik Create Machine Group:

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

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

        3. Konfigurasikan Name kelompok mesin dan klik OK.

        Catatan

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

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

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

    Jika statusnya FAIL, mungkin diperlukan waktu untuk membangun heartbeat awal. Tunggu sekitar dua menit lalu refresh status heartbeat. Jika masih FAIL setelah direfresh, lihat Heartbeat kelompok mesin adalah FAIL untuk troubleshooting lebih lanjut.

Langkah 2: Buat dan konfigurasikan aturan pengumpulan log

Setelah menyelesaikan instalasi LoongCollector dan konfigurasi kelompok mesin, masuk ke halaman Logtail Configuration dan tentukan aturan pengumpulan dan pemrosesan log.

1. Konfigurasi global dan input

Tentukan nama konfigurasi pengumpulan dan sumber serta cakupan pengumpulan log.

Global Configurations:

  • Configuration Name: Nama kustom untuk konfigurasi pengumpulan. Nama ini harus unik dalam proyek dan tidak dapat diubah setelah dibuat. Konvensi penamaan:

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

    • Harus dimulai dan diakhiri dengan huruf kecil atau angka.

Input Configurations:

  • Type: Text Log Collection.

  • File Path: Jalur pengumpulan log.

    • Linux: Jalur harus dimulai dengan garis miring (/). Misalnya, /data/mylogs/**/*.log menunjukkan semua file dengan ekstensi .log di direktori /data/mylogs dan subdirektorinya.

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

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


2. Pemrosesan dan strukturisasi log

Konfigurasikan aturan pemrosesan log untuk mengubah log mentah yang tidak terstruktur menjadi data terstruktur yang dapat dicari. Hal ini meningkatkan efisiensi kueri dan analisis log. Kami menyarankan Anda terlebih dahulu menambahkan contoh log:

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

Skenario 1: Proses log multiline (seperti log stack Java)

Karena log seperti stack exception Java dan objek JSON sering kali mencakup beberapa baris, mode pengumpulan default membaginya menjadi beberapa catatan tidak lengkap, yang menyebabkan kehilangan konteks. Untuk mencegah hal ini, aktifkan mode multiline dan konfigurasikan Regex to Match First Line untuk menggabungkan baris-baris berurutan dari log yang sama menjadi satu log lengkap.

Contoh:

Log mentah tanpa pemrosesan apa pun

Dalam mode pengumpulan default, setiap baris adalah log terpisah, memecah jejak stack dan kehilangan konteks

Dengan mode multiline diaktifkan, Regex to Match First Line mengidentifikasi log lengkap, mempertahankan struktur semantik penuhnya.

image

image

image

Prosedur: Pada bagian Processor Configurations di halaman Logtail Configuration, aktifkan Multi-line Mode:

  • Untuk Type, pilih Custom atau Multi-line JSON.

    • Custom: Untuk log mentah dengan format variabel, konfigurasikan Regex to Match First Line untuk mengidentifikasi baris awal setiap log.

      • Regex to Match First Line: Secara otomatis menghasilkan atau memasukkan secara manual ekspresi reguler yang cocok dengan baris data lengkap. Misalnya, ekspresi reguler untuk contoh sebelumnya adalah \[\d+-\d+-\w+:\d+:\d+,\d+]\s\[\w+]\s.*.

        • Generasi otomatis: Klik Generate. Lalu, pada kotak teks Log Sample, pilih konten log yang ingin diekstrak dan klik Automatically Generate.

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

    • Multi-line JSON: SLS secara otomatis menangani jeda baris dalam satu log mentah jika log tersebut dalam format JSON standar.

  • Processing Method If Splitting Fails:

    • Discard: Membuang segmen teks jika tidak cocok dengan aturan awal baris.

    • Retain Single Line: Mempertahankan teks yang tidak cocok pada baris terpisah.

Skenario 2: Log terstruktur

Ketika 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. SLS menyediakan berbagai plugin parsing data yang 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:

Log mentah

Log 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: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/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 bagian Processor Configurations di halaman Logtail Configuration

  1. Tambahkan plugin parsing: Klik Add Processor dan konfigurasikan plugin seperti parsing ekspresi reguler, parsing pemisah, atau parsing JSON berdasarkan format aktual. Contoh ini menggunakan pengumpulan log NGINX dan memilih Native Processor > Data Parsing (NGINX Mode).

  2. NGINX Log Configuration: Salin 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. Deskripsi parameter konfigurasi umum: Parameter berikut muncul di beberapa plugin parsing data dan memiliki fungsi serta penggunaan yang terpadu.

    • Original Field: Menentukan nama field sumber yang akan diurai. Default-nya adalah content, yaitu seluruh entri log yang dikumpulkan.

    • Retain Original Field if Parsing Fails: Kami menyarankan Anda mengaktifkan opsi ini. Ketika log tidak dapat diurai dengan sukses oleh plugin, misalnya karena ketidakcocokan format, opsi ini memastikan bahwa konten log asli tidak hilang tetapi sepenuhnya dipertahankan di field sumber yang ditentukan.

    • Retain Original Field if Parsing Succeeds: Jika Anda memilih ini, konten log asli dipertahankan bahkan jika log berhasil diurai.


3. Penyaringan log

Mengumpulkan volume besar log bernilai rendah atau tidak relevan, seperti log tingkat DEBUG atau INFO, membuang sumber daya penyimpanan, meningkatkan biaya, memengaruhi efisiensi kueri, dan menimbulkan risiko kebocoran data. Untuk mengatasi hal ini, terapkan kebijakan penyaringan detail halus untuk pengumpulan log yang efisien dan aman.

Kurangi biaya dengan penyaringan konten

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

Contoh:

Log mentah tanpa pemrosesan apa pun

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: Pada bagian Processor Configurations di halaman Logtail Configuration

Klik Add Processor dan pilih Native Processor > Data Filtering:

  • Field Name: Field log yang digunakan untuk penyaringan.

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

Kontrol cakupan pengumpulan dengan blacklist

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

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

Mendukung kecocokan penuh dan wildcard untuk direktori dan nama file. Satu-satunya karakter wildcard yang didukung adalah tanda bintang (*) dan tanda tanya (?).
  • File Path Blacklist: Menentukan jalur file yang akan dikecualikan. Contoh:

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

    • /home/admin/private*/*_inner.log: Mengabaikan file yang diakhiri dengan _inner.log dalam direktori yang dimulai dengan private di bawah direktori /home/admin/.

  • File Blacklist: Daftar nama file yang 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 yang dimulai dengan dir di bawah direktori /home/admin/ selama pengumpulan.

    • /home/admin/*/dir: Mengabaikan semua file di subdirektori bernama dir pada tingkat kedua 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

Ketika 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. Hal ini memungkinkan kategorisasi efisien dan kueri presisi dalam satu logstore.

Prosedur: Global Configurations > Other Global Configurations > Log Topic Type: Pilih metode untuk menghasilkan topik. Tiga jenis berikut didukung:

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

  • Custom: Menggunakan format customized://<custom_topic_name>, seperti customized://app-login. Format ini cocok untuk skenario topik statis dengan pengenal bisnis tetap.

  • File Path Extraction: Ekstrak 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. Misalnya, ketika beberapa pengguna atau layanan menulis log ke direktori tingkat atas yang berbeda tetapi sub-jalur dan nama filenya identik, sumber tidak dapat dibedakan hanya berdasarkan nama file:

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

    Konfigurasikan File Path Extraction dan gunakan ekspresi reguler untuk mengekstrak informasi kunci dari jalur lengkap. Hasil yang cocok kemudian diunggah ke logstore sebagai topik.

    Aturan ekstraksi jalur file: Berdasarkan grup penangkapan ekspresi reguler

    Saat Anda 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 harus meng-escape garis miring (/).

    Jenis grup penangkapan

    Kasus penggunaan

    Field yang dihasilkan

    Contoh Regex

    Contoh jalur yang cocok

    Contoh bidang yang dihasilkan

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

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

    Menghasilkan field __topic__

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

    /logs/userA/app.log

    __topic__: userA

    Beberapa grup penangkapan - tidak bernama (beberapa (.*?))

    Beberapa dimensi dibutuhkan untuk membedakan sumber, tetapi tidak memerlukan tag semantik

    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 dibutuhkan untuk membedakan sumber, dan makna field harus 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: Konfigurasi kueri dan analisis

Setelah mengonfigurasi pemrosesan log dan plugin, klik Next untuk menuju halaman Query and Analysis Configurations:

  • Indeks teks lengkap diaktifkan secara default, yang mendukung pencarian kata kunci pada konten log mentah.

  • Untuk kueri presisi berdasarkan field, tunggu Preview Data dimuat, lalu klik Automatic Index Generation. SLS menghasilkan indeks field berdasarkan entri pertama dalam data pratinjau.

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

Langkah 4: Verifikasi dan troubleshooting

Setelah konfigurasi selesai, terapkan ke kelompok mesin dan simpan. Tunggu sebentar, lalu verifikasi menggunakan daftar periksa berikut.

Daftar periksa verifikasi

  1. Konfirmasi bahwa file log memiliki konten baru: LoongCollector hanya mengumpulkan log inkremental. Jalankan tail -f /path/to/your/log/file dan picu operasi bisnis untuk memastikan log baru sedang ditulis.

  2. Periksa status LoongCollector: sudo /etc/init.d/loongcollectord status.

  3. Periksa heartbeat kelompok mesin: Masuk ke halaman imageResources > Machine Groups. Klik nama kelompok mesin target. Di bagian Machine Group Configurations > Machine Group Status, periksa status Heartbeat.

  4. Kueri log: Masuk ke halaman kueri dan analisis logstore target. Klik Search & Analyze (rentang waktu default adalah 15 menit terakhir) dan periksa apakah log baru mengalir masuk.

Penyelesaian masalah umum

Heartbeat kelompok mesin adalah FAIL

  1. Periksa ID pengguna: Jika server Anda bukan instance ECS, atau jika instance ECS dan proyek termasuk 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: Masuk ke 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 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 tulis ID kustom ke dalamnya. (Jika direktori tidak ada, buat secara manual.)

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


Tidak ada data yang dikumpulkan

  1. Periksa log inkremental: Setelah Anda mengonfigurasi LoongCollector (Logtail) untuk pengumpulan, jika tidak ada log baru yang ditambahkan ke file log target, LoongCollector (Logtail) tidak mengumpulkan data dari file tersebut.

  2. Periksa status heartbeat kelompok mesin: Masuk ke halaman imageResources > Machine Groups. Klik nama kelompok mesin target. Di bagian Machine Group Configurations > Machine Group Status, periksa status Heartbeat.

  3. Konfirmasi bahwa konfigurasi pengumpulan LoongCollector (Logtail) telah diterapkan ke kelompok mesin: Bahkan jika konfigurasi pengumpulan LoongCollector (Logtail) dibuat, log tidak dapat dikumpulkan jika tidak diterapkan ke kelompok mesin.

    1. Masuk ke halaman imageResources > Machine Groups, klik nama kelompok mesin target, dan masuk ke halaman Machine Group Configurations.

    2. Di halaman tersebut, lihat Manage Configuration. Sisi kiri menampilkan All Logtail Configurations, dan sisi kanan menampilkan Applied Logtail Configs. Jika konfigurasi pengumpulan LoongCollector (Logtail) target telah dipindahkan ke area terapan di sebelah kanan, konfigurasi telah berhasil diterapkan ke kelompok mesin target.

    3. Jika konfigurasi pengumpulan LoongCollector (Logtail) target belum dipindahkan ke area terapan di sebelah kanan, klik Modify. Di daftar All Logtail Configurations di sebelah kiri, pilih nama konfigurasi LoongCollector (Logtail) target, klik image untuk memindahkannya ke area terapan di sebelah kanan, lalu klik Save.


Error pengumpulan log atau error format

Troubleshooting: Situasi ini menunjukkan bahwa koneksi jaringan dan konfigurasi dasar normal. Masalahnya kemungkinan besar ketidakcocokan antara konten log dan aturan parsing. Anda perlu memeriksa pesan error spesifik untuk menemukan masalahnya:

  1. Di halaman Logtail Configuration, klik nama konfigurasi LoongCollector (Logtail) yang mengalami error pengumpulan. Di tab Log Collection Error, klik Select Time Range untuk mengatur waktu kueri.

  2. Di bagian Collection Exception Monitoring > Complete Error Information, lihat metrik alarm log error dan temukan solusi yang sesuai di Error umum dalam pengumpulan data.

Batasan

Item

Batasan

Panjang log tunggal

Batas default adalah 512 KB. Sesuaikan ini menggunakan parameter startup max_read_buffer_size, hingga maksimum 8 MB. Untuk informasi lebih lanjut, lihat Jenis jaringan Logtail, parameter startup, dan file konfigurasi.

Setelah log multiline dibagi oleh Regex to Match First Line, batas ukuran untuk setiap log tetap 512 KB. Jika log melebihi 512 KB, log tersebut dipaksa dibagi menjadi beberapa entri untuk pengumpulan. Misalnya, jika satu log berukuran 1.025 KB, 512 KB pertama diproses, lalu 512 KB berikutnya, dan akhirnya sisa 1 KB. Hasil akhirnya adalah beberapa entri log tidak lengkap.

Encoding file

Mendukung file log dengan encoding UTF-8 atau GBK. Gunakan UTF-8 untuk kinerja pemrosesan yang lebih baik.

Peringatan

Jika file log menggunakan format encoding lain, masalah seperti karakter acak dan kehilangan data dapat terjadi.

Rotasi file log

Ukuran default antrian rotasi log adalah 20. Sesuaikan ini menggunakan parameter startup logreader_max_rotate_queue_size. Untuk informasi lebih lanjut, lihat Jenis jaringan Logtail, parameter startup, dan file konfigurasi.

Atur jalur pengumpulan ke format xxx.log atau xxx.log*.

Penting

Jangan mencampur kedua format ini dalam instans Logtail yang sama. Jika tidak, file yang sama mungkin cocok dengan beberapa konfigurasi pengumpulan Logtail, yang mengakibatkan pengumpulan duplikat.

Jika lebih dari 20 file belum diproses, log yang baru dihasilkan akan hilang. Dalam kasus seperti ini, pertama-tama periksa apakah kuota penulisan shard logstore telah terlampaui dan sesuaikan tingkat konkurensi Logtail. Untuk informasi lebih lanjut, lihat Jenis jaringan Logtail, parameter startup, dan file konfigurasi.

Perilaku pengumpulan saat parsing log diblokir

Saat parsing log diblokir, Logtail menyimpan deskriptor file untuk file log tersebut tetap terbuka. Hal ini mencegah file dihapus selama pemblokiran, yang dapat menyebabkan kehilangan data.

Jika terjadi beberapa rotasi file log saat parsing diblokir, Logtail menempatkan file-file tersebut dalam antrian rotasi.

Ekspresi reguler

Mendukung Perl Compatible Regular Expressions (PCRE).

JSON

Mendukung sepenuhnya JSON standar (RFC7159, ECMA-404). JSON non-standar, seperti {"name": "\xE5\xAD\xA6"}, tidak didukung.

Perilaku pembukaan file

Logtail menyimpan file yang dikumpulkan dan file dalam antrian rotasi tetap terbuka untuk memastikan integritas data. File ditutup dalam situasi berikut:

  • File tidak dimodifikasi selama lebih dari 5 menit.

  • Rotasi telah terjadi dan pengumpulan selesai.

  • Konfigurasi pengumpulan Logtail telah berubah.

Jika Anda ingin handle file dilepas dalam waktu yang dapat dikontrol setelah file dihapus, terlepas dari apakah file telah sepenuhnya dikumpulkan atau masih ditulis, atur timeout menggunakan parameter startup force_release_deleted_file_fd_timeout. Untuk informasi lebih lanjut, lihat Jenis jaringan Logtail, parameter startup, dan file konfigurasi.

Perilaku pengumpulan log awal

Logtail hanya mengumpulkan file log inkremental. Saat file pertama kali terdeteksi dimodifikasi, jika ukurannya melebihi 1 MB (512 KB untuk output standar kontainer), pengumpulan dimulai dari 1 MB terakhir. Jika tidak, dimulai dari awal file.

Sesuaikan ukuran pengumpulan awal untuk file baru menggunakan parameter tail_size_kb dalam konfigurasi pengumpulan Logtail. Untuk informasi lebih lanjut, lihat Konfigurasi Logtail (legacy).

Jika file log tidak dimodifikasi setelah konfigurasi pengumpulan Logtail diterapkan, Logtail tidak mengumpulkan file tersebut. Untuk mengumpulkan file historis, lihat Impor file log historis.

Perilaku saat file ditimpa

Logtail mengidentifikasi file menggunakan inode ditambah hash 1.024 byte pertama file. Jika file ditimpa dan inode atau hash 1.024 byte pertama berubah, file dianggap sebagai file baru dan pengumpulan dimulai dari awal. Jika tidak, file tidak dikumpulkan.

Perilaku saat file dipindahkan

Setelah file dipindahkan, jika file tersebut cocok dengan konfigurasi pengumpulan Logtail yang sebelumnya tidak pernah cocok dengan file ini, dokumen yang dipindahkan dianggap sebagai file baru dan pengumpulan dimulai dari awal. Jika tidak, file tidak dikumpulkan.

Riwayat pengumpulan file

Logtail menyimpan riwayat pengumpulan file dalam memori untuk memastikan hanya bagian inkremental yang dikumpulkan setelah file berubah. Jika terjadi penulisan ke log di luar rentang retensi, pengumpulan duplikat terjadi.

  • Secara default, file historis dari bulan terakhir dipertahankan.

  • Jika ada lebih dari 5.000 file historis di direktori yang sama, hanya catatan dari minggu terakhir yang disimpan.

  • Jika ada lebih dari 10.000 file historis di direktori yang sama, hanya catatan dari hari terakhir yang disimpan.

Log teks non-standar

Untuk baris dalam log yang berisi \0, versi yang lebih baru dari 2.1.10 dan 3.0.12 hanya menyimpan \0 di tengah log. Bagian awalan dan akhiran \0 dibuang. Versi lain mungkin terpotong pada \0 pertama atau menyimpannya sepenuhnya. Kami menyarankan Anda melakukan upgrade. Untuk karakter escape lainnya (seperti warna ASCII) atau karakter tak terlihat, Logtail melaporkannya apa adanya.

Penagihan

  • Menginstal LoongCollector atau Logtail tidak dikenai biaya.

  • Biaya dikenakan untuk injeksi log, penyimpanan, pengindeksan, kueri, transformasi, dan pengiriman berdasarkan metode penagihan logstore.

  • Jika Anda menggunakan fitur Global Accelerator selama instalasi atau konfigurasi, biaya trafik tambahan dikenakan untuk data yang ditransmisikan melalui jaringan yang dipercepat.

FAQ

Bagaimana cara mengirim log dari server ECS ke proyek di akun Alibaba Cloud lain?

Jika Anda belum menginstal LoongCollector, lihat Instalasi dan konfigurasi dan pilih skenario cross-account yang sesuai untuk instalasi.

Jika Anda telah menginstal LoongCollector, ikuti langkah-langkah berikut untuk mengonfigurasi ID pengguna. ID ini menunjukkan bahwa server memiliki izin untuk diakses dan lognya dikumpulkan oleh akun pemilik proyek SLS.

Anda hanya perlu mengonfigurasi ID pengguna saat mengumpulkan log dari instance ECS non-akun, server on-premises, atau server dari penyedia cloud lain.
  1. Salin ID akun Alibaba Cloud pemilik SLS: Arahkan kursor ke gambar profil di pojok kanan atas. Lihat dan salin ID akun dari tab yang muncul.

  2. Masuk ke server dari mana Anda ingin mengumpulkan log dan buat file ID akun Alibaba Cloud untuk mengonfigurasi ID pengguna:

    touch /etc/ilogtail/users/{Alibaba_Cloud_account_ID} # Jika direktori /etc/ilogtail/users tidak ada, buat secara manual. File konfigurasi ID pengguna hanya memerlukan nama file, bukan ekstensi file.

Bagaimana cara mengirim log dari server ECS ke proyek di akun yang sama tetapi wilayah berbeda?

Jika Anda belum menginstal LoongCollector, lihat Instalasi dan konfigurasi dan pilih skenario cross-region yang sesuai untuk instalasi.

Jika Anda telah menginstal LoongCollector, Anda perlu memodifikasi konfigurasi LoongCollector.

  1. Jalankan perintah sudo /etc/init.d/ilogtaild stop untuk menghentikan LoongCollector.

  2. Modifikasi file konfigurasi startup LoongCollector ilogtail_config.json. Pilih salah satu dari dua metode berikut berdasarkan kebutuhan jaringan Anda:

    Jalur file konfigurasi: /usr/local/ilogtail/ilogtail_config.json

    • Metode 1: Gunakan Internet untuk transmisi

      Lihat RegionID dan ganti wilayah dalam file konfigurasi dengan wilayah tempat SLS berada. Field yang perlu dimodifikasi meliputi:

      • primary_region

      • Bagian wilayah dalam config_servers

      • region dan bagian wilayah dari endpoint_list dalam data_servers

    • Metode 2: Gunakan akselerasi transfer

      Ganti baris endpoint dalam parameter data_server_list dengan log-global.aliyuncs.com. Untuk jalur file, lihat Jenis jaringan Logtail, parameter startup, dan file konfigurasi.

    Contoh file konfigurasi

    $cat 
    {
        "primary_region" : "cn-shanghai",
        "config_servers" :
        [
            "http://logtail.cn-shanghai.log.aliyuncs.com"
        ],
        "data_servers" :
        [
            {
                "region" : "cn-shanghai",
                "endpoint_list": [
                    "cn-shanghai.log.aliyuncs.com"
                ]
            }
        ],
        "cpu_usage_limit" : 0.4,
        "mem_usage_limit" : 384,
        "max_bytes_per_sec" : 20971520,
        "bytes_per_sec" : 1048576,
        "buffer_file_num" : 25,
        "buffer_file_size" : 20971520,
        "buffer_map_num" : 5
    }
  1. Jalankan perintah sudo /etc/init.d/ilogtaild start untuk memulai LoongCollector.

Bagaimana cara menambahkan server ke kelompok mesin yang sudah ada?

Saat Anda memiliki kelompok mesin yang telah dikonfigurasi dan ingin menambahkan server baru, seperti instance ECS yang baru dideploy atau server on-premises, untuk mewarisi konfigurasi pengumpulannya, ikat dengan mengikuti langkah-langkah berikut.

Prasyarat:

Prosedur:

  1. Lihat ID kelompok mesin target:

    1. Di halaman proyek target, klik imageResources > Machine Groups di panel navigasi sebelah kiri.

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

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

  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 pada server Linux dan Windows. 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. Pisahkan beberapa alamat IP dengan line feed.

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

        Jika status heartbeat FAIL, lihat FAQ Heartbeat kelompok mesin adalah FAIL untuk troubleshooting lebih lanjut.
    • Jenis 2: ID kelompok mesin adalah ID kustom

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

      Jika direktori tidak ada, Anda harus membuatnya secara manual. Jalur dan nama file ditetapkan oleh SLS 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.

Bagaimana cara mengimpor konfigurasi pengumpulan dari proyek lain?

Setelah menyelesaikan Persiapan dan Konfigurasi Kelompok Mesin, impor konfigurasi pengumpulan dari proyek yang ada ke logstore saat ini dengan cepat. Hal ini menghindari konfigurasi berulang dan meningkatkan efisiensi.

Prosedur:

  1. Setelah menyelesaikan konfigurasi kelompok mesin, klik Next untuk menuju halaman Logtail Configuration.

  2. Klik Import Other Configuration di pojok kanan atas halaman.

  3. Pilih proyek untuk diimpor dan konfigurasi pengumpulan di bawah proyek tersebut.

  4. Klik OK. Sistem secara otomatis memuat konfigurasi yang dipilih.

  5. Setelah memeriksa bahwa informasi konfigurasi yang diimpor benar, klik Next untuk menuju halaman Konfigurasi Kueri dan Analisis dan selesaikan konfigurasi selanjutnya.

Bagaimana cara mendapatkan alamat IP server untuk digunakan sebagai ID kelompok mesin?

Di server tempat LoongCollector (Logtail) diinstal, buka file /usr/local/ilogtail/app_info.json dan lihat nilai ip.

Alamat IP server yang diperoleh secara otomatis oleh Logtail dicatat di field ip file app_info.json, seperti yang ditunjukkan di bawah.IP地址

Penting
  • Jika ada beberapa server, masukkan alamat IP-nya secara manual. Alamat IP harus dipisahkan dengan line feed.

  • Satu kelompok mesin tidak dapat berisi server Linux dan Windows sekaligus. Jangan menambahkan alamat IP server Windows dan Linux ke kelompok mesin yang sama.

Bagaimana log file yang sama dapat dikumpulkan oleh beberapa konfigurasi pengumpulan sekaligus?

Secara default, untuk menghindari duplikasi data, SLS membatasi file log teks agar tidak dikumpulkan oleh lebih dari satu konfigurasi Logtail. Untuk mengizinkan file log yang sama dikumpulkan oleh beberapa konfigurasi pengumpulan sekaligus, Anda harus mengaktifkan fitur yang mengizinkan file dikumpulkan beberapa kali secara manual.

Prosedur:

Penting

Saat Anda mengumpulkan beberapa salinan, IO pembacaan file, sumber daya komputasi, dan IO jaringan meningkat secara linear.

  1. Masuk ke Konsol Simple Log Service dan masuk ke proyek target.

  2. Di panel navigasi sebelah kiri, pilih imageLogstores dan temukan logstore target.

  3. Klik ikon image di sebelah kiri namanya untuk memperluas logstore.

  4. Klik Logtail Configuration. Di daftar konfigurasi, temukan konfigurasi Logtail target dan klik Manage Logtail Configuration di kolom Actions.

  5. Di halaman konfigurasi Logtail, klik Edit:

    • Di Input Configurations > Other Input Configurations, aktifkan Allow File to Be Collected for Multiple Times.

  6. Setelah konfigurasi selesai, klik Save.

Mengapa entri log terakhir dilaporkan setelah penundaan lama? Mengapa kadang terpotong?

Penyebab: Pemotongan log biasanya terjadi ketika file log kehilangan line feed di akhir, atau ketika log multiline, seperti stack exception, belum sepenuhnya ditulis. Karena agen tidak dapat menentukan apakah log telah berakhir, bagian akhir konten mungkin terpotong lebih awal atau dilaporkan dengan penundaan. Versi LoongCollector (Logtail) yang berbeda memiliki mekanisme penanganan yang berbeda:

  • Versi sebelum 1.8:
    Jika baris terakhir log tidak memiliki line feed (carriage return), atau jika paragraf log multiline belum selesai, agen menunggu tulisan berikutnya untuk memicu output. Hal ini dapat menyebabkan entri log terakhir ditahan lama tanpa dikirim, hingga log baru ditulis.

  • Versi 1.8 dan lebih baru:
    Mekanisme refresh timeout diperkenalkan untuk mencegah log macet. Saat baris log yang tidak lengkap terdeteksi, sistem memulai timer. Setelah timeout, sistem secara otomatis mengirimkan konten saat ini, yang memastikan log akhirnya dikumpulkan.

    • Timeout default: 60 detik (untuk memastikan kelengkapan dalam sebagian besar skenario)

    • Sesuaikan nilai ini sesuai kebutuhan, tetapi jangan atur ke 0, karena hal ini dapat menyebabkan pemotongan log atau kehilangan konten sebagian.

Solusi:

Perpanjang waktu tunggu untuk memastikan log lengkap ditulis sebelum dikumpulkan:

  1. Masuk ke Konsol Simple Log Service dan masuk ke proyek target.

  2. Di panel navigasi sebelah kiri, pilih imageLogstores dan temukan logstore target.

  3. Klik ikon image di sebelah kiri namanya untuk memperluas logstore.

  4. Klik Logtail Configuration. Di daftar konfigurasi, temukan konfigurasi Logtail target dan klik Manage Logtail Configuration di kolom Actions.

  5. Di halaman konfigurasi Logtail, klik Edit:

    • Di Input Configurations > Other Input Configurations > Advanced Parameters, tambahkan konfigurasi JSON berikut untuk menyesuaikan timeout:

      {
        "FlushTimeoutSecs": 1
      }
      • Nilai default: Ditentukan oleh parameter startup default_reader_flush_timeout (biasanya beberapa detik).

      • Unit: Detik.

      • Nilai yang disarankan: ≥1 detik. Jangan atur ke 0, karena hal ini dapat menyebabkan pemotongan log atau kehilangan konten sebagian.

  6. Setelah konfigurasi selesai, klik Save.

Mengapa LoongCollector (Logtail) beralih dari titik akhir internal ke Internet selama operasi? Dapatkah beralih kembali secara otomatis?

Selama operasi, jika LoongCollector (Logtail) mendeteksi anomali komunikasi dengan titik akhir internal wilayah yang sama, seperti kegagalan jaringan atau timeout koneksi, sistem secara otomatis beralih ke nama domain publik untuk mengirim data. Hal ini memastikan kelangsungan dan keandalan pengumpulan log serta mencegah penumpukan atau kehilangan log.

  • LoongCollector: Secara otomatis beralih kembali ke jaringan internal setelah pulih.

  • Logtail: Tidak beralih kembali secara otomatis. Harus dimulai ulang secara manual untuk melanjutkan komunikasi jaringan internal.

Lampiran: Detail prosesor native

Di bagian Processor Configurations di halaman Logtail Configuration, tambahkan prosesor untuk menyusun log mentah. Untuk menambahkan plugin pemrosesan ke konfigurasi pengumpulan yang sudah ada, ikuti langkah-langkah berikut:

  1. Di panel navigasi sebelah kiri, pilih imageLogstores dan temukan logstore target.

  2. Klik ikon image di sebelah kiri namanya untuk memperluas logstore.

  3. Klik Logtail Configuration. Di daftar konfigurasi, temukan konfigurasi Logtail target dan klik Manage Logtail Configuration di kolom Actions.

  4. Di halaman konfigurasi Logtail, klik Edit.

Bagian ini hanya memperkenalkan plugin pemrosesan yang umum digunakan yang mencakup skenario pemrosesan log umum. Untuk fitur lainnya, lihat Prosesor ekstensi.
Penting

Aturan menggabungkan plugin (untuk LoongCollector / Logtail 2.0 dan lebih baru):

  • Prosesor native dan ekstensi dapat digunakan secara independen atau digabungkan sesuai kebutuhan.

  • Utamakan prosesor native karena menawarkan kinerja lebih baik dan stabilitas lebih tinggi.

  • Saat fitur native tidak dapat memenuhi kebutuhan bisnis Anda, tambahkan prosesor ekstensi setelah prosesor native yang dikonfigurasi untuk pemrosesan tambahan.

Batasan urutan:

Semua plugin dieksekusi secara berurutan sesuai urutan konfigurasinya, yang membentuk rantai pemrosesan. Catatan: Semua prosesor native harus mendahului prosesor ekstensi apa pun. Setelah Anda menambahkan prosesor ekstensi, Anda tidak dapat menambahkan prosesor native lagi.

Parsing 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 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 di 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 untuk 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 Skenario 2: Log terstruktur.


Parsing pemisah

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

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 di 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 membungkus nilai field tersebut dalam 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 Skenario 2: Log terstruktur.


Parsing JSON standar

Susun log JSON bertipe Objek dengan menguraikannya 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 di halaman Logtail Configuration, klik Add Processor dan pilih Native Processor > Data Parsing (JSON Mode):

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

  • Untuk parameter lainnya, lihat deskripsi parameter konfigurasi umum di Skenario 2: Log terstruktur.


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 di halaman Logtail Configuration, klik Add Processor dan pilih Extended Processor > Expand JSON Field:

  • Original Field: Menentukan nama field sumber untuk 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 Skenario 2: Log terstruktur.


Parsing array JSON

Gunakan fungsi json_extract fungsi 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 di halaman Logtail Configuration, ubah Processing Mode ke SPL, konfigurasikan Pernyataan SPL, 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]')

Parsing log Apache

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

Contoh:

Log mentah tanpa pemrosesan apa pun

Parsing format log umum 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 di 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 untuk memastikan persis sama dengan LogFormat yang didefinisikan dalam file konfigurasi server Apache Anda (biasanya terletak di /etc/apache2/apache2.conf).

  • Untuk parameter lainnya, lihat deskripsi parameter konfigurasi umum di Skenario 2: Log terstruktur.


Parsing log IIS

Susun 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 di 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. Misalnya:

    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 Skenario 2: Log terstruktur.


Penyembunyian data

Sembunyikan data sensitif dalam log.

Contoh:

Log mentah tanpa pemrosesan apa pun

Hasil penyembunyian

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

Prosedur: Di bagian Processor Configurations di 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

Uraikan 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 di 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.

Lampiran: Referensi kebijakan izin

Login akun Alibaba Cloud: Secara default, akun Alibaba Cloud memiliki izin penuh dan dapat melakukan semua operasi.

Login pengguna RAM: Akun Alibaba Cloud harus memberikan kebijakan akses yang diperlukan kepada pengguna RAM.

Kebijakan izin kustom (kontrol detail halus)

Jika kebijakan sistem tidak memenuhi prinsip hak istimewa minimal, buat kebijakan kustom untuk otorisasi detail halus. Berikut adalah contoh kebijakan izin yang mencakup izin-izin ini:

  • Lihat proyek: Lihat daftar proyek dan detail proyek tertentu.

  • Kelola logstore: Buat, modifikasi, atau hapus logstore di bawah proyek.

  • Kelola konfigurasi pengumpulan: Buat, hapus, dan modifikasi konfigurasi pengumpulan.

  • Lihat log: Kueri dan analisis data di logstore tertentu di bawah proyek tertentu.

Ganti ${regionName}, ${uid}, ${projectName}, dan ${logstoreName} dengan nama wilayah, ID akun Alibaba Cloud, proyek target, dan logstore yang sebenarnya.

Contoh kebijakan

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "log:ListProject",
        "log:GetAcceleration",
        "log:ListDomains",
        "log:GetLogging",
        "log:ListTagResources"
      ],
      "Resource": "acs:log:${regionName}:${uid}:project/*"
    },
    {
      "Effect": "Allow",
      "Action": "log:GetProject",
      "Resource": "acs:log:${regionName}:${uid}:project/${projectName}"
    },
    {
      "Effect": "Allow",
      "Action": [
        "log:ListLogStores",
        "log:*LogStore",
        "log:*Index",
        "log:ListShards",
        "log:GetCursorOrData",
        "log:GetLogStoreHistogram",
        "log:GetLogStoreContextLogs",
        "log:PostLogStoreLogs"
      ],
      "Resource": "acs:log:${regionName}:${uid}:project/${projectName}/*"
    },
    {
      "Effect": "Allow",
      "Action": "log:*",
      "Resource": [
        "acs:log:${regionName}:${uid}:project/${projectName}/logtailconfig/*",
        "acs:log:${regionName}:${uid}:project/${projectName}/machinegroup/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": "log:ListSavedSearch",
      "Resource": "acs:log:${regionName}:${uid}:project/${projectName}/savedsearch/*"
    },
    {
      "Effect": "Allow",
      "Action": "log:ListDashboard",
      "Resource": "acs:log:${regionName}:${uid}:project/${projectName}/dashboard/*"
    },
    {
      "Effect": "Allow",
      "Action": "log:GetLogStoreLogs",
      "Resource": "acs:log:${regionName}:${uid}:project/${projectName}/logstore/${logstoreName}"
    },
    {
      "Effect": "Allow",
      "Action": [
        "ecs:DescribeTagKeys",
        "ecs:DescribeTags",
        "ecs:DescribeInstances",
        "ecs:DescribeInvocationResults",
        "ecs:RunCommand",
        "ecs:DescribeInvocations",
        "ecs:InvokeCommand"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "oos:ListTemplates",
        "oos:StartExecution",
        "oos:ListExecutions",
        "oos:GetExecutionTemplate",
        "oos:ListExecutionLogs",
        "oos:ListTaskExecutions"
      ],
      "Resource": "*"
    }
  ]
}

Izin

Action

Resource

Proyek Hanya Baca

  • GetAcceleration

  • GetLogging

  • ListProject

  • ListDomains

  • ListTagResources

acs:log:${regionName}:${uid}:project/*

Ambil proyek tertentu

GetProject

acs:log:${regionName}:${uid}:project/${projectName}

Kelola logstore

  • ListLogStores

  • *LogStore

  • *Index

  • ListShards

  • GetCursorOrData

  • GetLogStoreHistogram

  • GetLogStoreContextLogs

  • PostLogStoreLogs

acs:log:${regionName}:${uid}:project/${projectName}/*

Kelola impor data LoongCollector (Logtail)

*

  • acs:log:${regionName}:${uid}:project/${projectName}/logtailconfig/*

  • acs:log:${regionName}:${uid}:project/${projectName}/machinegroup/*

Kueri pencarian tersimpan

ListSavedSearch

acs:log:${regionName}:${uid}:project/${projectName}/savedsearch/*

Kueri dasbor

ListDashboard

acs:log:${regionName}:${uid}:project/${projectName}/dashboard/*

Kueri log di logstore tertentu

GetLogStoreLogs

acs:log:${regionName}:${uid}:project/${projectName}/logstore/${logstoreName}

Izin untuk mengoperasikan ECS

  • DescribeTagKeys

  • DescribeTags

  • DescribeInstances

  • DescribeInvocationResults

  • RunCommand

  • DescribeInvocations

  • InvokeCommand

*

Izin untuk mengoperasikan OOS (Opsional)

Hanya diperlukan saat LoongCollector (Logtail) diinstal secara otomatis melalui OOS dalam akun dan wilayah yang sama dengan SLS dan instance ECS.

  • ListTemplates

  • StartExecution

  • ListExecutions

  • GetExecutionTemplate

  • ListExecutionLogs

  • ListTaskExecutions

*

Kebijakan izin sistem

Jika Anda menggunakan kebijakan yang ditentukan sistem, kami menyarankan Anda menambahkan izin berikut:

  • AliyunLogFullAccess: Izin untuk mengelola SLS.

  • AliyunECSFullAccess: Izin untuk mengelola ECS.

  • (Opsional) AliyunOOSFullAccess: Diperlukan saat LoongCollector (Logtail) diinstal dengan satu klik menggunakan OOS.

Informasi lebih lanjut

Konfigurasi Global

Parameter

Deskripsi

Configuration Name

Nama konfigurasi LoongCollector (Logtail). Harus unik dalam proyeknya. Nama ini tidak dapat diubah setelah dibuat.

Log Topic Type

Pilih metode untuk menghasilkan topik. Opsi-opsinya adalah Machine Group Topic, File Path Extraction, dan Custom.

Advanced Parameters

Parameter fitur lanjutan opsional lainnya terkait konfigurasi global. Untuk informasi lebih lanjut, lihat CreateLogtailPipelineConfig.

Konfigurasi Input

Parameter

Deskripsi

File Path

Atur direktori log dan nama file berdasarkan lokasi log di host (seperti instance ECS):

Baik direktori maupun nama file mendukung mode penuh dan wildcard. Untuk aturan nama file, lihat Pencocokan wildcard. Satu-satunya karakter wildcard yang didukung untuk jalur log adalah tanda bintang (*) dan tanda tanya (?).

Mode pencarian file log adalah pencocokan direktori multilayer, yang berarti semua file yang memenuhi kriteria di direktori yang ditentukan (termasuk semua level subdirektori) akan ditemukan. Misalnya:

  • /apsara/nuwa/**/*.log menunjukkan file dengan ekstensi .log di direktori /apsara/nuwa dan subdirektorinya.

  • /var/logs/app_*/**/*.log menunjukkan file dengan .log di semua direktori yang cocok dengan format app_* di bawah direktori /var/logs dan subdirektorinya.

  • /var/log/nginx/**/access* menunjukkan file yang dimulai dengan access di direktori /var/log/nginx dan subdirektorinya.

Maximum Directory Monitoring Depth

Atur kedalaman maksimum pemantauan direktori log. Ini adalah kedalaman direktori maksimum yang dapat dicocokkan oleh karakter wildcard ** dalam File Path. Nilai 0 berarti hanya direktori saat ini yang dipantau.

File Encoding

Pilih format encoding file log.

First Collection Size

Saat konfigurasi pertama kali berlaku, ini mengatur posisi pengumpulan awal relatif terhadap akhir file yang cocok. Ukuran pengumpulan awal diatur ke 1.024 KB.

  • Selama pengumpulan awal, jika file lebih kecil dari 1.024 KB, pengumpulan dimulai dari awal konten file.

  • Selama pengumpulan awal, jika file lebih besar dari 1.024 KB, pengumpulan dimulai dari 1.024 KB sebelum akhir file.

Nilai dapat berkisar dari 0 hingga 10.485.760 KB.

Collection Blacklist

Setelah Anda mengaktifkan sakelar Collection Blacklist, konfigurasikan blacklist untuk mengabaikan direktori atau file tertentu selama pengumpulan. Mendukung pencocokan penuh dan wildcard untuk direktori dan nama file. Satu-satunya karakter wildcard yang didukung adalah tanda bintang (*) dan tanda tanya (?).

Penting
  • Jika Anda menggunakan karakter wildcard saat mengonfigurasi File Path tetapi perlu memfilter beberapa jalur tersebut, Anda harus memasukkan jalur lengkap yang sesuai di Collection Blacklist untuk memastikan konfigurasi blacklist berlaku.

    Misalnya, jika Anda mengatur File Path ke /home/admin/app*/log/*.log tetapi ingin memfilter semua subdirektori di bawah direktori /home/admin/app1*, Anda harus memilih Directory Blacklist dan mengonfigurasi direktori sebagai /home/admin/app1*/**. Jika Anda mengonfigurasinya sebagai /home/admin/app1*, blacklist tidak akan berlaku.

  • Pencocokan terhadap blacklist memiliki overhead komputasi. Pertahankan jumlah entri blacklist di bawah 10.

  • Jalur direktori tidak boleh diakhiri dengan garis miring (/). Misalnya, jika Anda mengatur jalur ke /home/admin/dir1/, blacklist direktori tidak akan berlaku.

Atur blacklist jalur file, blacklist file, atau blacklist direktori sesuai kebutuhan. Detailnya sebagai berikut:

File Path Blacklist

  • Pilih File Path Blacklist dan konfigurasikan jalur sebagai /home/admin/private*.log. Ini mengabaikan semua file di direktori /home/admin/ yang dimulai dengan private dan diakhiri dengan .log.

  • Pilih File Path Blacklist dan konfigurasikan jalur sebagai /home/admin/private*/*_inner.log. Ini mengabaikan file yang diakhiri dengan _inner.log dalam direktori yang dimulai dengan private di bawah direktori /home/admin/. Misalnya, file /home/admin/private/app_inner.log diabaikan, sedangkan file /home/admin/private/app.log dikumpulkan.

File Blacklist

Pilih File Blacklist dan konfigurasikan nama file sebagai app_inner.log. Ini mengabaikan semua file bernama app_inner.log selama pengumpulan.

Directory Blacklist

  • Pilih Directory Blacklist dan konfigurasikan direktori sebagai /home/admin/dir1. Ini mengabaikan semua file di direktori /home/admin/dir1 selama pengumpulan.

  • Pilih Directory Blacklist dan konfigurasikan direktori sebagai /home/admin/dir*. Ini mengabaikan file di semua subdirektori yang dimulai dengan dir di bawah direktori /home/admin/.

  • Pilih Directory Blacklist dan konfigurasikan direktori sebagai /home/admin/*/dir. Ini mengabaikan semua file di subdirektori bernama dir pada tingkat kedua direktori /home/admin/. Misalnya, file di direktori /home/admin/a/dir diabaikan, tetapi file di direktori /home/admin/a/b/dir dikumpulkan.

Allow File to Be Collected for Multiple Times

Secara default, file log hanya dapat cocok dengan satu konfigurasi LoongCollector (Logtail). Jika log dalam file perlu dikumpulkan beberapa kali, Anda harus mengaktifkan sakelar Allow File to Be Collected for Multiple Times.

Advanced Parameters

Parameter fitur lanjutan opsional lainnya terkait plugin input file. Untuk informasi lebih lanjut, lihat CreateLogtailPipelineConfig.

Konfigurasi Prosesor

Parameter

Deskripsi

Log Sample

Contoh log yang akan dikumpulkan. Pastikan menggunakan log dari skenario aktual Anda. Contoh log membantu Anda mengonfigurasi parameter pemrosesan log dan menyederhanakan konfigurasi. Anda dapat menambahkan beberapa contoh, dengan panjang total tidak melebihi 1.500 karakter.

[2023-10-01T10:30:01,000] [INFO] java.lang.Exception: exception happened
    at TestPrintStackTrace.f(TestPrintStackTrace.java:3)
    at TestPrintStackTrace.g(TestPrintStackTrace.java:7)
    at TestPrintStackTrace.main(TestPrintStackTrace.java:16)

Multi-line Mode

  • Jenis log multiline: Log multiline adalah log di mana setiap entri tersebar di baris-baris berurutan. Anda perlu membedakan setiap log dari kontennya.

    • Custom: Bedakan setiap log menggunakan Regex to Match First Line.

    • Multi-line JSON: Setiap objek JSON diperluas menjadi beberapa baris, misalnya:

      {
        "name": "John Doe",
        "age": 30,
        "address": {
          "city": "New York",
          "country": "USA"
        }
      }
  • Processing Method If Splitting Fails:

    Exception in thread "main" java.lang.NullPointerException
        at com.example.MyClass.methodA(MyClass.java:12)
        at com.example.MyClass.methodB(MyClass.java:34)
        at com.example.MyClass.main(MyClass.java:½0)

    Untuk konten log di atas, jika SLS gagal membaginya:

    • Discard: Buang segmen log ini secara langsung.

    • Retain Single Line: Pertahankan setiap baris teks log sebagai log terpisah, menghasilkan total empat log.

Processing Method

Processors, yang mencakup Native Processor dan Extended Processor. Untuk informasi lebih lanjut tentang plugin pemrosesan, lihat Catatan penggunaan prosesor native dan ekstensi.

Penting

Batasan penggunaan plugin pemrosesan tunduk pada petunjuk di halaman konsol.

  • Logtail 2.0:

    • Prosesor native dapat digabungkan dengan cara apa pun.

    • Prosesor native dan ekstensi dapat digunakan secara bersamaan, tetapi prosesor ekstensi hanya dapat muncul setelah semua prosesor native.

  • Versi Logtail sebelum 2.0:

    • Menambahkan prosesor native dan ekstensi secara bersamaan tidak didukung.

    • Prosesor native hanya dapat digunakan untuk mengumpulkan log teks. Saat menggunakan prosesor native, persyaratan berikut harus dipenuhi:

      • Plugin pemrosesan pertama harus berupa plugin parsing ekspresi reguler, plugin parsing mode pemisah, plugin parsing JSON, plugin Data Parsing (NGINX Mode), plugin parsing pola Apache, atau plugin parsing pola IIS.

      • Dari plugin pemrosesan kedua hingga terakhir, Anda dapat menyertakan paling banyak satu plugin parsing waktu, satu plugin Data Filtering, dan beberapa plugin penyembunyian.

    • Untuk parameter Retain Original Field if Parsing Fails dan Retain Original Field if Parsing Succeeds, hanya kombinasi berikut yang valid. Kombinasi lain tidak valid.

      • Unggah hanya log yang berhasil diurai:

        image

      • Unggah log yang diurai saat sukses, dan unggah log mentah saat gagal:

        image

      • Saat parsing berhasil, unggah log yang diurai dan juga tambahkan field log mentah. Saat gagal, unggah log mentah.

        Misalnya, jika log mentah "content": "{"request_method":"GET", "request_time":"200"}" berhasil diurai, menambahkan field mentah menambahkan field lain ke log yang diurai. Nama field adalah New Name of Original Field (jika tidak diisi, default-nya adalah nama field sumber), dan nilai field adalah log mentah {"request_method":"GET", "request_time":"200"}.

        image