All Products
Search
Document Center

Simple Log Service:Kumpulkan log teks secara berkelanjutan dari host

Last Updated:Aug 27, 2026

Log aplikasi dan log sistem tersebar di berbagai server, sehingga sulit untuk dicari, dipantau, dan dianalisis. Anda dapat menggunakan kolektor data LoongCollector (Logtail) untuk mengumpulkan log teks dari instance ECS, pusat data yang dikelola sendiri, atau host dari penyedia cloud lainnya, lalu mengirimkannya ke Simple Log Service guna manajemen dan analisis terpusat. Dua mode pengumpulan didukung: pengumpulan berkelanjutan (pengumpulan inkremental real-time, cocok untuk pemantauan berkelanjutan di lingkungan produksi) dan pengumpulan satu kali (impor batch file statis, cocok untuk migrasi data historis).

Pilih mode pengumpulan

Skenario

Mode yang direkomendasikan

Log aplikasi terus ditulis dan memerlukan pemantauan serta peringatan real-time

Pengumpulan berkelanjutan

Impor satu kali objek arsip historis

Pengumpulan satu kali

Migrasi sistem atau data untuk mengisi kembali data historis

Pengumpulan satu kali

Investigasi sementara log historis untuk periode tertentu

Pengumpulan satu kali

Catatan

Secara default, LoongCollector hanya mengumpulkan log baru (inkremental). Untuk mengumpulkan file statis yang sudah ada, Anda harus menggunakan mode pengumpulan satu kali.

Lingkup

  • Sistem operasi dan arsitektur yang didukung:

    LoongCollector saat ini hanya mendukung sistem Linux. Untuk host Windows, gunakan Logtail. Kami merekomendasikan penggunaan LoongCollector untuk skenario ingesti data baru.

    LoongCollector adalah agen pengumpulan log generasi baru yang diluncurkan oleh Alibaba Cloud Simple Log Service. Ini merupakan versi peningkatan dari Logtail. Anda hanya perlu menginstal salah satu—LoongCollector atau Logtail—bukan keduanya.
  • Kebutuhan sumber daya komputasi:

    • CPU: Minimal 0,4 core.

    • Memori: Minimal 300 MB.

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

  • Kebutuhan izin:

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

Alur kerja konfigurasi pengumpulan

  1. Persiapan: Buat proyek dan penyimpanan log (Logstore). Proyek adalah unit manajemen sumber daya yang mengisolasi log dari layanan berbeda, sedangkan Logstore adalah wadah tempat log tersebut disimpan.

  2. Konfigurasikan kelompok mesin (Instal LoongCollector): Instal LoongCollector berdasarkan jenis server dan tambahkan ke kelompok mesin. Anda dapat menggunakan kelompok mesin untuk mengelola node pengumpulan secara terpusat, mendistribusikan konfigurasi, dan mengelola status server.

  3. Buat dan konfigurasikan aturan pengumpulan log:

    1. Konfigurasi global dan input: Tentukan nama konfigurasi pengumpulan serta sumber dan cakupan pengumpulan log.

    2. Pemrosesan dan strukturisasi log: Konfigurasikan aturan pemrosesan berdasarkan format log.

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

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

    3. Data Filtering: Konfigurasikan daftar hitam pengumpulan dan aturan filter konten untuk menyaring konten log, sehingga mengurangi transmisi dan penyimpanan data berlebih.

    4. Kategorisasi log: Gunakan topik untuk membedakan secara fleksibel log dari layanan, server, atau sumber path berbeda.

  4. Query and Analysis Configurations: Sistem secara default mengaktifkan indeks teks penuh, yang mendukung pencarian kata kunci. Kami merekomendasikan mengaktifkan indeks bidang untuk melakukan kueri dan analisis tepat pada field terstruktur, sehingga meningkatkan efisiensi pencarian.

  5. Verifikasi dan troubleshooting: Setelah konfigurasi selesai, verifikasi apakah log berhasil dikumpulkan. Jika mengalami masalah seperti tidak ada pengumpulan data, kegagalan heartbeat, atau error penguraian, lihat FAQ.

Persiapan

Sebelum mengumpulkan log, Anda harus merencanakan dan membuat proyek serta Logstore untuk mengelola dan menyimpan log. Jika Anda memiliki sumber daya yang tersedia, Anda dapat melewati langkah ini dan melanjutkan ke Konfigurasikan kelompok mesin (Instal LoongCollector).

Buat proyek

  1. Masuk ke Konsol Simple Log Service.

  2. Klik Create Project dan konfigurasikan parameter berikut:

    • Region: Pilih wilayah berdasarkan sumber log. Wilayah tidak dapat diubah setelah proyek dibuat.

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

    • Biarkan pengaturan default untuk parameter lain dan klik Create. Untuk informasi lebih lanjut tentang parameter lain, lihat Buat proyek.

Buat Logstore

  1. Klik nama proyek untuk membuka proyek tujuan.

  2. Di panel navigasi kiri, pilih imageLogstores dan klik +.

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

    • Logstore Name: Tetapkan nama yang unik dalam proyek. Nama tidak dapat diubah setelah Logstore dibuat.

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

    • Billing Mode:

      • Pay-by-feature (Cannot Be Changed): Anda ditagih secara terpisah untuk sumber daya seperti penyimpanan, indeks, dan operasi baca/tulis. Metode ini cocok untuk skenario skala kecil atau ketika penggunaan fitur belum pasti.

      • Pay-by-ingested-data: Anda hanya ditagih berdasarkan jumlah data mentah yang diingesti. Metode ini menyediakan penyimpanan gratis selama 30 hari dan fitur gratis seperti transformasi dan pengiriman data. Cocok untuk skenario bisnis dengan periode penyimpanan mendekati 30 hari atau pipeline pemrosesan data kompleks.

    • Data Retention Period: Tetapkan jumlah hari untuk menyimpan log (1 hingga 3650 hari, di mana 3650 berarti penyimpanan permanen). Default-nya adalah 30 hari.

    • Biarkan pengaturan default untuk parameter lain dan klik OK. Untuk informasi lebih lanjut tentang konfigurasi lain, lihat Kelola Logstore.

Langkah 1: Konfigurasikan kelompok mesin (Instal LoongCollector)

Setelah menyelesaikan Persiapan, instal LoongCollector pada berbagai jenis server dan tambahkan ke kelompok mesin.

Catatan

Langkah instalasi berikut hanya berlaku jika sumber log adalah instance ECS Alibaba Cloud, dan instance tersebut serta proyek Simple Log Service berada dalam akun Alibaba Cloud yang sama dan wilayah yang sama.

Jika instance ECS dan proyek Anda tidak berada dalam akun atau wilayah yang sama, atau jika sumber log adalah server yang dikelola sendiri, lihat Instal dan konfigurasikan LoongCollector.

Prosedur:

  1. Di halaman imageLogstores, klik image di sebelah kiri nama Logstore tujuan untuk memperluasnya.

  2. Di sebelah Import Data, klik ikon image. Di dialog Quick Data Import, pilih templat ingesti log teks (misalnya Single-line Text Log) dan klik Integrate Now.

    Semua templat ingesti log teks hanya berbeda pada plugin penguraiannya. Sisa proses konfigurasi sama dan dapat dimodifikasi nanti.
  3. Di halaman Machine Group Configurations, konfigurasikan parameter berikut:

    • Scenario: Servers

    • Installation Environment: ECS

    • Konfigurasi Kelompok Mesin: Berdasarkan status instalasi LoongCollector dan konfigurasi kelompok mesin server tujuan, pilih opsi yang sesuai:

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

      • Jika LoongCollector belum diinstal, klik Create Machine Group:

        Langkah-langkah berikut akan memandu Anda melalui instalasi otomatis 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 log akan dikumpulkan.

        2. Klik Install and Create as 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 sudah memiliki LoongCollector ke kelompok mesin yang sudah ada, lihat Bagaimana cara menambahkan server ke kelompok mesin yang sudah ada?

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

    Jika statusnya FAIL, mungkin diperlukan waktu 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.

Langkah 2: Buat dan konfigurasikan aturan pengumpulan log

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

1. Konfigurasi global dan input

Tentukan nama konfigurasi pengumpulan serta sumber dan cakupan pengumpulan log.

Global Configurations:

  • Configuration Name: Nama kustom untuk konfigurasi pengumpulan. Harus unik dalam proyeknya. Nama 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 file log yang akan dikumpulkan.

    • Linux: Harus dimulai dengan garis miring (/). Misalnya, /data/mylogs/**/*.log menunjukkan semua file dengan ekstensi .log di direktori /data/mylogs. Untuk aplikasi Node.js, jalur log umumnya adalah /var/log/nodejs/*.log, yang mengumpulkan setiap file .log di bawah /var/log/nodejs.

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

  • Maximum Directory Monitoring Depth: Kedalaman direktori maksimum yang dapat dicocokkan oleh karakter wildcard ** di File Path. Default-nya 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 merekomendasikan agar Anda menambahkan contoh log sebelum mengonfigurasi aturan:

Di halaman Logtail Configuration, di area Processor Configurations, 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 penguraian, sehingga menyederhanakan konfigurasi.

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

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

Contoh:

Log mentah tanpa pemrosesan apa pun

Dalam mode pengumpulan default, setiap baris dianggap sebagai log independen. Stack trace terpecah, dan konteks hilang.

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

2025-11-13 10:52:20.557 ERROR [app-thread-0] --- java.sql.SQLException: No suitable driver found for jdbc:mysql://db.host:3306/prod_db
    at com.datastore.util.DataProcessor.save(DataProcessor.java:434)
    at io.awesomeapp.util.PaymentGateway.fetchData(PaymentGateway.java:463)
    at org.awesomeapp.util.UserService.processRequest(UserService.java:252)
    at io.datastore.service.DatabaseConnector.fetchData(DatabaseConnector.java:172)
    at org.datastore.service.UserService.fetchData(UserService.java:517)

Dalam mode default, log ini dipisah menjadi 6 catatan independen: yang pertama hanya berisi pesan error java.sql.SQLException, sedangkan 5 frame stack berikutnya (seperti at com.datastore.util.DataProcessor.save(...)) disimpan sebagai entri terpisah. Frame stack tidak dapat dikorelasikan dengan exception asli melalui kueri, sehingga memerlukan upaya manual untuk merekonstruksi konteks guna troubleshooting.

Setelah mode multi-baris diaktifkan, log error java.sql.SQLException: No suitable driver found for jdbc:mysql://db.host:3306/prod_db beserta 5 frame stack (DataProcessor.saveUserService.fetchData) dikumpulkan sebagai satu catatan di layanan kueri log. Kolom metadata juga menampilkan IP, hostname, jalur log, dan field lainnya.

Prosedur: Di halaman Logtail Configuration, di area Processor Configurations, aktifkan Multi-line Mode:

  • Type: Pilih Custom atau Multi-line JSON.

    • Custom: Format log mentah tidak tetap. Anda harus mengonfigurasi Regex to Match First Line untuk mengidentifikasi baris awal setiap entri log.

      • Regex to Match First Line: Anda dapat menghasilkannya secara otomatis atau memasukkannya secara manual. Ekspresi reguler harus mencocokkan satu baris data lengkap. Misalnya, ekspresi reguler yang cocok pada contoh sebelumnya adalah \[\d+-\d+-\w+:\d+:\d+,\d+]\s\[\w+]\s.*.

        • Generasi otomatis: Klik Generate Regex Automatically. Lalu, di kotak teks Log Sample, pilih konten log yang akan diekstraksi dan klik Generate Regex.

          Mode pengumpulan output standar Kubernetes lama tidak mendukung fitur Add Log Sample dan generasi ekspresi reguler otomatis. Untuk menguji ekspresi reguler, buat LogStore dengan tipe log teks, uji ekspresi reguler di LogStore tersebut, lalu tempel ekspresi reguler ke konfigurasi Logtail LogStore target.

        • Input manual: Klik Enter Regex Manually. Setelah memasukkan ekspresi, klik Validate.

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

  • Processing Method If Splitting Fails:

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

    • Retain Single Line: Teks yang tidak cocok dipisah dan dipertahankan dalam mode baris tunggal aslinya.

Skenario 2: Logging 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. Simple Log Service menyediakan berbagai plugin penguraian data yang secara otomatis mengonversi log mentah dengan format berbeda menjadi data terstruktur. Hal ini memberikan fondasi yang kuat untuk analisis, pemantauan, dan peringatan selanjutnya.

Contoh:

Log mentah tanpa pemrosesan apa pun

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 area Processor Configurations halaman Logtail Configuration

  1. Tambahkan plugin penguraian: Klik Add Processor dan konfigurasikan plugin, seperti Penguraian Ekspresi Reguler, Penguraian Pemisah, atau Penguraian JSON, berdasarkan format aktual. Contoh ini menggunakan pengumpulan log NGINX. Pilih Native Processor > Data Parsing (NGINX Mode).

  2. NGINX Log Configuration: Salin definisi lengkap 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, penguraian log akan gagal.

  3. Contoh: kumpulkan log berformat JSON yang dihasilkan oleh winston

    winston secara default menghasilkan log berformat JSON. Karena ini adalah log JSON standar, Anda dapat langsung menggunakan penguraian JSON tanpa menulis ekspresi reguler.

    Contoh log:

    {"level":"info","message":"User logged in","timestamp":"2026-01-01T00:00:00.000Z"}

    Prosedur: Di halaman Logtail Configuration, di area Input Configurations, atur File Path ke /var/log/nodejs dan pola nama file ke app.log. Lalu, di area Processor Configurations, klik Add Processor dan pilih Native Processor > Data Parsing (JSON Mode).

    • Matikan Use System Time, atur Time Key ke timestamp, dan atur Time Conversion Format ke %Y-%m-%dT%H:%M:%S.%fZ.

    • Plugin penguraian JSON secara otomatis mengekstraksi timestamp, level, dan message sebagai field terpisah. Field kustom, seperti userId, juga diuraikan tanpa konfigurasi tambahan. Untuk detail parameter lengkap, lihat Standard JSON parsing dan Time parsing di Apendiks: Penjelasan plugin penguraian native.

  4. Contoh: kumpulkan log berformat kustom yang dihasilkan oleh pino

    Ketika pino atau library serupa dikonfigurasi untuk menghasilkan output teks biasa kustom, log tersebut bukan JSON standar, sehingga gunakan penguraian ekspresi reguler dan ekstrak field dengan grup tangkapan.

    Contoh log:

    2026-01-01T00:00:00.000Z [INFO] User logged in

    Prosedur: Di halaman Logtail Configuration, di area Input Configurations, atur File Path ke /var/log/nodejs dan pola nama file ke pino.log. Lalu, di area Processor Configurations, klik Add Processor dan pilih Native Processor > Data Parsing (Regex Mode).

    • Ekspresi reguler: ^(\S+) \[(\w+)\] (.*)$

    • Nama field, sesuai urutan grup tangkapan: time, level, dan message. Atur Time Key ke time. Untuk detail parameter lengkap, lihat Regular expression parsing di Apendiks: Penjelasan plugin penguraian native.

  5. Parameter konfigurasi umum: Parameter berikut muncul di beberapa plugin penguraian data, dan fungsinya konsisten.

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

    • Keep Source Field on Parse Failure: Kami merekomendasikan mengaktifkan opsi ini. Jika log tidak dapat diuraikan dengan sukses oleh plugin, misalnya karena ketidakcocokan format, opsi ini memastikan konten log asli tidak hilang tetapi tetap dipertahankan sepenuhnya di field sumber yang ditentukan.

    • Keep Source Field on Parse Success: Jika Anda memilih opsi ini, konten log asli tetap dipertahankan meskipun log berhasil diuraikan.


3. Filter log

Saat pengumpulan log, pengumpulan besar-besaran log bernilai rendah atau tidak relevan, seperti log level DEBUG/INFO, tidak hanya membuang sumber daya penyimpanan dan meningkatkan biaya, tetapi juga memengaruhi efisiensi kueri dan menimbulkan risiko kebocoran data. Untuk mengatasi hal ini, Anda dapat menerapkan strategi filter detail halus untuk pengumpulan log yang efisien dan aman.

Kurangi biaya dengan filter konten

Anda dapat memfilter berdasarkan field 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: Di area Processor Configurations halaman Logtail Configuration

Klik Add Processor dan pilih Native Processor > Data Filtering:

  • Field Name: Field log yang akan difilter.

  • Field Value: Ekspresi reguler yang digunakan untuk filter. Hanya pencocokan teks penuh yang didukung. Pencocokan kata kunci parsial tidak didukung.

Kontrol cakupan pengumpulan dengan daftar hitam

Anda dapat menggunakan daftar hitam untuk mengecualikan direktori atau file tertentu, sehingga mencegah log yang tidak relevan atau sensitif diunggah.

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

Mendukung pencocokan penuh dan pencocokan wildcard untuk direktori dan nama file. Hanya karakter wildcard asterisk (*) dan tanda tanya (?) yang didukung.
  • File Path Blacklist: Jalur file yang akan diabaikan. 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" di direktori yang dimulai 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 berlaku.

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

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

4. Kategorisasi log

Ketika beberapa aplikasi atau instans memiliki log dengan format yang sama tetapi jalur berbeda, seperti /apps/app-A/run.log dan /apps/app-B/run.log, sulit membedakan sumber log yang dikumpulkan. Dengan mengonfigurasi topik, Anda dapat membedakan secara logis log dari aplikasi, layanan, atau jalur berbeda. Hal ini memungkinkan kategorisasi efisien dan kueri tepat dalam penyimpanan terpadu.

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

  • Topik kelompok mesin: Ketika konfigurasi pengumpulan diterapkan ke beberapa kelompok mesin, LoongCollector secara otomatis menggunakan nama kelompok mesin server sebagai field __topic__ untuk diunggah. Ini cocok untuk skenario di mana log dikategorikan berdasarkan host.

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

  • Ekstraksi jalur file: Ekstrak informasi kunci dari jalur lengkap file log untuk menandai sumber log secara dinamis. Ini cocok untuk situasi di mana beberapa pengguna atau aplikasi berbagi nama file log yang sama tetapi memiliki jalur berbeda. Ketika beberapa pengguna atau layanan menulis log ke direktori tingkat atas berbeda tetapi sub-jalur dan nama file-nya sama, sumber tidak dapat dibedakan hanya berdasarkan nama file. Misalnya:

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

    Dalam kasus ini, Anda dapat mengonfigurasi Ekstraksi jalur file dan menggunakan ekspresi reguler untuk mengekstrak informasi kunci dari jalur lengkap. Hasil yang cocok kemudian diunggah ke Logstore sebagai topik.

    Aturan ekstraksi jalur file: Berdasarkan grup tangkapan ekspresi reguler

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

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

    Jenis grup tangkapan

    Skenario

    Field yang dihasilkan

    Contoh regex

    Contoh jalur yang cocok

    Contoh field yang dihasilkan

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

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

    Menghasilkan field __topic__

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

    /logs/userA/app.log

    __topic__: userA

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

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

    Menghasilkan field tag __tag__:__topic_{i}__, di mana {i} adalah nomor urut 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>.*?))

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

    Menghasilkan field tag __tag__:{name}

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

    /logs/userA/svcA/app.log

    __tag__:user:userA;

    __tag__:service:svcA

5. Konfigurasi output

Secara default, semua log dikirim ke Logstore saat ini, dan metode kompresinya adalah lz4. Untuk mendistribusikan log dari sumber yang sama ke Logstore berbeda, Anda dapat mengonfigurasi pengaturan berikut:

Distribusi dinamis multi-target

Penting
  • Pengiriman multi-tujuan hanya tersedia untuk LoongCollector 3.0.0 ke atas. Logtail tidak mendukung fitur ini.

  • Anda dapat mengonfigurasi hingga lima tujuan output.

  • Setelah mengonfigurasi beberapa tujuan output, konfigurasi pengumpulan ini tidak lagi ditampilkan di daftar konfigurasi pengumpulan Logstore saat ini. Untuk melihat, memodifikasi, atau menghapus konfigurasi pengiriman multi-tujuan, lihat Bagaimana cara mengelola konfigurasi pengiriman multi-tujuan?.

Prosedur: Di area Output Configurations halaman Logtail Configuration.

  1. Klik image untuk memperluas konfigurasi output.

  2. Klik Add Output Targets dan lengkapi konfigurasi berikut:

    • Logstores: Pilih Logstore tujuan.

    • Compression Method: Mendukung lz4 dan zstd.

    • Route Settings: Rute dan distribusikan log berdasarkan field tag-nya. Log yang cocok dengan konfigurasi routing diunggah ke Logstore tujuan. Jika konfigurasi routing kosong, semua log yang dikumpulkan diunggah ke Logstore tujuan.

      • Tag Name: Nama field tag yang digunakan untuk routing. Masukkan nama field secara langsung, seperti __path__, tanpa awalan __tag__:. Field tag dibagi menjadi dua kategori berikut:

        Untuk informasi lebih lanjut tentang tag, lihat Kelola tag pengumpulan LoongCollector.
        • Terkait agen: Tag ini terkait dengan agen pengumpulan itu sendiri dan tidak bergantung pada plugin. Contohnya termasuk __hostname__ dan __user_defined_id__.

        • Terkait plugin input: Tag ini bergantung pada plugin input, yang menyediakan dan memperkaya log dengan informasi relevan. Contohnya termasuk __path__ untuk pengumpulan file, dan _pod_name_ serta _container_name_ untuk pengumpulan Kubernetes.

      • Tag Value: Ketika nilai field tag log cocok dengan nilai ini, log dikirim ke Logstore tujuan ini.

      • Discard this tag?: Jika Anda mengaktifkan opsi ini, log yang diunggah tidak berisi field tag ini.

Langkah 3: Konfigurasikan kueri dan analisis

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

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

  • Untuk melakukan kueri tepat berdasarkan field, tunggu hingga Preview Data dimuat di halaman, lalu klik Automatic Index Generation. Simple Log Service menghasilkan indeks bidang berdasarkan entri pertama dalam data pratinjau.

Setelah konfigurasi selesai, klik Next untuk menyelesaikan konfigurasi pengumpulan.

Langkah 4: Verifikasi dan troubleshooting

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

Daftar periksa verifikasi

  1. Konfirmasi bahwa konten baru telah ditambahkan ke file log: 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: Buka halaman Resource Group > Machine Groups, klik nama kelompok mesin tujuan, dan di area Machine Group Configurations > Machine Group Status, periksa status Heartbeat.

  4. Kueri log: Buka halaman kueri dan analisis Logstore tujuan, klik Search & Analyze (rentang waktu default adalah 15 menit terakhir), dan periksa apakah log baru sedang diingesti.

Penyelesaian masalah umum

Heartbeat kelompok mesin GAGAL

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

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

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

  2. Periksa ID kelompok mesin: Jika Anda menggunakan ID kustom saat membuat kelompok mesin, periksa apakah file user_defined_id ada di direktori yang ditentukan. Jika ada, periksa apakah isi file 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 sudah dikonfigurasi dengan benar, lihat Troubleshoot masalah kelompok mesin LoongCollector (Logtail) untuk troubleshooting lebih lanjut.


Tidak ada data yang dikumpulkan

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

  2. Periksa status heartbeat kelompok mesin: Buka halaman Resource Group > Machine Groups, klik nama kelompok mesin tujuan, dan di area Machine Group Configurations > Machine Group Status, periksa status Heartbeat.

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

    1. Buka halaman Resource Group > Machine Groups, klik nama kelompok mesin tujuan untuk membuka 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) tujuan telah dipindahkan ke area terapan di sisi kanan, berarti konfigurasi tersebut telah berhasil diterapkan ke kelompok mesin tujuan.

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


Error pengumpulan log atau error format

Pendekatan troubleshooting: Situasi ini menunjukkan bahwa konektivitas jaringan dan konfigurasi dasar normal. Masalah utamanya adalah ketidakcocokan antara konten log dan aturan penguraian. Anda perlu melihat pesan error spesifik untuk menemukan masalah:

  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 rentang kueri.

  2. Di area , lihat metrik alarm log error dan temukan solusi yang sesuai berdasarkan Jenis error umum untuk pengumpulan data.

Kuota dan batasan

Batasan

Batasan

Ukuran entri log

Batas default adalah 512 KB. Anda dapat menyesuaikannya menggunakan parameter startup max_read_buffer_size, tetapi tidak boleh melebihi 8 MB. Untuk informasi lebih lanjut, lihat Jenis jaringan Logtail, parameter startup, dan file konfigurasi.

Setelah log multi-baris dipisah oleh ekspresi reguler awal baris, batas ukuran untuk setiap entri log tetap 512 KB. Jika log melebihi 512 KB, log tersebut dipaksa dipisah menjadi beberapa entri untuk pengumpulan. Misalnya, jika satu entri log berukuran 1025 KB, 512 KB pertama diproses, lalu 512 KB berikutnya, dan akhirnya 1 KB. Hasil pengumpulan akhir adalah beberapa log tidak lengkap.

Encoding file

Mendukung file log ber-encoding UTF-8 atau GBK. Kami merekomendasikan menggunakan encoding UTF-8 untuk kinerja pemrosesan yang lebih baik.

Peringatan

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

Rotasi file log

Ukuran antrian rotasi log default-nya adalah 20. Anda dapat menyesuaikannya menggunakan parameter startup logreader_max_rotate_queue_size. Untuk informasi lebih lanjut, lihat Jenis jaringan Logtail, parameter startup, dan file konfigurasi.

Anda dapat mengatur jalur pengumpulan ke format xxx.log atau xxx.log*.

Penting

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

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

Perilaku pengumpulan saat penguraian log diblokir

Ketika penguraian log diblokir, Logtail tetap membuka deskriptor file untuk file log tersebut untuk mencegah file dihapus selama blokir, yang dapat menyebabkan kehilangan data.

Jika terjadi beberapa rotasi file log selama blokir penguraian, Logtail menempatkan file-file tersebut di antrian rotasi.

Ekspresi reguler

Mendukung Perl Compatible Regular Expressions.

JSON

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

Perilaku pembukaan file

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

  • File tidak dimodifikasi selama lebih dari 5 menit.

  • Telah terjadi rotasi 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 log masih ditulis ke dalamnya, Anda dapat mengatur 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. Ketika file pertama kali ditemukan dimodifikasi, jika ukuran file melebihi 1 MB (512 KB untuk output standar kontainer), pengumpulan dimulai dari 1 MB terakhir. Jika tidak, pengumpulan dimulai dari awal file.

Anda dapat menyesuaikan ukuran pengumpulan awal untuk file baru menggunakan parameter tail_size_kb dalam konfigurasi pengumpulan Logtail. Untuk informasi lebih lanjut, lihat Konfigurasi Logtail (lama).

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 dikumpulkan dari awal. Jika tidak, file tidak dikumpulkan.

Perilaku saat file dipindahkan

Jika file dipindahkan dan cocok dengan konfigurasi pengumpulan Logtail yang sebelumnya belum pernah cocok dengan file ini, file yang dipindahkan dianggap sebagai file baru dan dikumpulkan dari awal. Jika tidak, file tidak dikumpulkan.

Riwayat pengumpulan file

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

  • Secara default, file historis paling lama satu bulan disimpan.

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

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

Log teks non-standar

Untuk baris dalam log yang berisi \0, versi di atas 2.1.10 dan 3.0.12 hanya menyimpan \0 di tengah log, sedangkan bagian awalan dan akhiran \0 dibuang. Versi lain mungkin terpotong pada \0 pertama atau menyimpannya sepenuhnya. Kami merekomendasikan Anda melakukan peningkatan. Untuk karakter escape lain, seperti warna ASCII atau karakter tidak dapat dicetak, Logtail mengingestinya apa adanya.

Penagihan

  • Menginstal LoongCollector atau Logtail gratis.

  • Biaya dikenakan untuk penulisan 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 akselerasi.

FAQ

Bagaimana cara mengelola konfigurasi pengiriman multi-tujuan?

Karena konfigurasi pengiriman multi-tujuan terkait dengan beberapa Logstore, konfigurasi ini perlu dipelihara melalui halaman manajemen tingkat proyek:

  1. Masuk ke Konsol Simple Log Service dan klik nama proyek tujuan.

  2. Di panel navigasi kiri, klik imageResource Group > Configurations.

    Catatan

    Halaman ini mengelola secara terpusat semua konfigurasi pengumpulan di bawah proyek, termasuk yang tersisa setelah Logstore dihapus secara tidak sengaja.

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

Jika Anda belum menginstal LoongCollector, lihat Instal kolektor data dan pilih skenario cross-account yang sesuai untuk instalasi.

Jika Anda sudah menginstal LoongCollector, konfigurasikan ID pengguna sebagai berikut. ID ini digunakan untuk menunjukkan bahwa server ini memiliki izin untuk diakses dan log-nya dikumpulkan oleh akun yang memiliki proyek Simple Log Service.

Anda hanya perlu mengonfigurasi ID pengguna ketika mengumpulkan log dari instance ECS non-akun, pusat data yang dikelola sendiri, atau server dari penyedia cloud lain.
  1. Salin ID akun Alibaba Cloud yang memiliki Simple Log Service: Arahkan kursor ke gambar profil di pojok kanan atas, lalu lihat dan salin ID akun dari tab pop-up.

  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, tanpa ekstensi.

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

Jika Anda belum menginstal LoongCollector, lihat Instal kolektor data dan pilih skenario cross-region yang sesuai untuk instalasi.

Jika Anda sudah 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 untuk memodifikasinya berdasarkan kebutuhan jaringan Anda:

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

    • Metode 1: Gunakan transmisi jaringan publik

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

      • primary_region

      • Bagian wilayah di config_servers

      • region dan bagian wilayah di endpoint_list dalam data_servers

    • Metode 2: Gunakan akselerasi transfer

      Ganti baris endpoint di 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?

Ketika Anda memiliki kelompok mesin yang sudah dikonfigurasi dan ingin menambahkan server baru, seperti instance ECS yang baru dideploy atau server yang dikelola sendiri, untuk mewarisi konfigurasi pengumpulannya, Anda dapat menambahkannya dengan mengikuti langkah-langkah berikut.

Prasyarat:

Prosedur:

  1. Lihat ID kelompok mesin tujuan:

    1. Di halaman proyek tujuan, di panel navigasi kiri, klik imageResource Group > Machine Groups.

    2. Di halaman kelompok mesin, klik nama kelompok mesin tujuan.

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

  2. Lakukan operasi yang sesuai berdasarkan jenis ID:

    Catatan

    Satu kelompok mesin tidak boleh 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 tujuan, klik Modify dan masukkan alamat IP server. Pisahkan beberapa alamat IP dengan line feed.

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

        Jika status heartbeat-nya FAIL, lihat 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 konsisten dengan kelompok mesin tujuan ke file yang ditentukan:

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

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

Bagaimana cara mengimpor konfigurasi pengumpulan dari proyek lain?

Setelah menyelesaikan Persiapan dan Konfigurasi Kelompok Mesin, Anda dapat dengan cepat mengimpor konfigurasi pengumpulan dari proyek yang ada ke Logstore saat ini untuk menghindari konfigurasi berulang dan meningkatkan efisiensi.

Prosedur:

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

  2. Di pojok kanan atas halaman, klik Import Other Configuration.

  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, Anda dapat mengklik Next untuk menuju halaman Konfigurasi Kueri dan Analisis untuk menyelesaikan 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 secara otomatis diperoleh oleh Logtail dicatat di field ip file app_info.json. Berikut adalah contohnya:

# cat /usr/local/ilogtail/app_info.json
{
	"UUID" : "xxx",
	"compiler" : "GCC 9.3.1",
	"hostname" : "iZ2zexxx",
	"instance_id" : "xxx_172.26.128.15_1730267282",
	"ip" : "172.26.128.15",
	"logtail_version" : "1.8.7",
	"os" : "Linux; 5.10.134-17.2.al8.x86_64; #1 SMP Fri Aug  9 15:49:42 CST 2024; x86_64",
	"update_time" : "2024-10-30 13:48:02"
}

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

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

Bagaimana agar file log yang sama dikumpulkan oleh beberapa konfigurasi secara bersamaan?

Secara default, untuk menghindari duplikasi data, Simple Log Service membatasi file log teks hanya dikumpulkan oleh satu konfigurasi Logtail. Untuk mengaktifkan file log yang sama dikumpulkan oleh beberapa konfigurasi secara bersamaan, Anda perlu mengaktifkan fitur yang memungkinkan file dikumpulkan beberapa kali.

Prosedur:

Penting

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

  1. Masuk ke Konsol Simple Log Service dan buka proyek tujuan.

  2. Di panel navigasi kiri, pilih imageLogstores dan temukan Logstore tujuan.

  3. Klik image di sebelah kiri namanya untuk memperluas Logstore.

  4. Klik Logtail Configuration. Di daftar konfigurasi, temukan konfigurasi Logtail tujuan 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 OK.

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

Analisis penyebab: Pemotongan log biasanya terjadi ketika file log tidak memiliki line feed di akhir, atau ketika log multi-baris, seperti stack exception, belum sepenuhnya ditulis. Karena kolektor data tidak dapat menentukan apakah log telah berakhir, bagian akhir konten mungkin terpisah secara prematur 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 segmen log multi-baris belum selesai, kolektor data menunggu tulisan berikutnya untuk memicu output. Hal ini dapat menyebabkan entri log terakhir ditahan lama tanpa dikirim, hingga log baru ditulis.

  • Versi 1.8 ke atas:
    Mekanisme refresh timeout diperkenalkan untuk mencegah log macet. Ketika baris log yang belum selesai terdeteksi, sistem memulai timer. Setelah timeout, konten saat ini secara otomatis dikirimkan, yang memastikan log akhirnya dikumpulkan.

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

    • Anda dapat menyesuaikan nilai ini sesuai kebutuhan, tetapi kami tidak merekomendasikan mengaturnya ke 0, karena hal ini dapat menyebabkan pemotongan log atau kehilangan sebagian konten.

Solusi:

Anda dapat memperpanjang waktu tunggu secara tepat untuk memastikan log lengkap ditulis sebelum dikumpulkan:

  1. Masuk ke Konsol Simple Log Service dan buka proyek tujuan.

  2. Di panel navigasi kiri, pilih imageLogstores dan temukan Logstore tujuan.

  3. Klik image di sebelah kiri namanya untuk memperluas Logstore.

  4. Klik Logtail Configuration. Di daftar konfigurasi, temukan konfigurasi Logtail tujuan 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 periode timeout:

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

      • Unit: Detik.

      • Nilai yang direkomendasikan: ≥1 detik. Kami tidak merekomendasikan mengaturnya ke 0, karena hal ini dapat menyebabkan pemotongan log atau kehilangan sebagian konten.

  6. Setelah konfigurasi selesai, klik OK.

Mengapa LoongCollector (Logtail) beralih dari titik akhir internal ke titik akhir publik selama operasi? Apakah bisa beralih kembali secara otomatis?

Selama operasi, jika LoongCollector (Logtail) mendeteksi anomali dalam komunikasi dengan titik akhir internal, seperti kegagalan jaringan atau timeout koneksi, sistem secara otomatis beralih ke titik akhir publik untuk transmisi data guna memastikan kelangsungan dan keandalan pengumpulan log serta menghindari 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.

Apendiks: Penjelasan plugin penguraian native

Di halaman Logtail Configuration, di area Processor Configurations, Anda dapat menambahkan plugin pemrosesan untuk menstrukturisasi log mentah. Untuk menambahkan plugin pemrosesan ke konfigurasi pengumpulan yang sudah ada, Anda dapat mengikuti langkah-langkah berikut:

  1. Di panel navigasi kiri, pilih imageLogstores dan temukan Logstore tujuan.

  2. Klik image di sebelah kiri namanya untuk memperluas Logstore.

  3. Klik Logtail Configuration. Di daftar konfigurasi, temukan konfigurasi Logtail tujuan 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 Plugin pemrosesan ekstensi.
Penting

Aturan penggabungan plugin (berlaku untuk LoongCollector / Logtail 2.0 ke atas):

  • Plugin pemrosesan native dan ekstensi dapat digunakan secara independen atau dikombinasikan sesuai kebutuhan.

  • Kami merekomendasikan menggunakan plugin pemrosesan native terlebih dahulu, karena menawarkan kinerja lebih baik dan stabilitas lebih tinggi.

  • Ketika fitur native tidak dapat memenuhi kebutuhan bisnis, Anda dapat menambahkan plugin pemrosesan ekstensi setelah plugin native yang dikonfigurasi untuk melakukan pemrosesan tambahan.

Batasan urutan:

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

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 halaman Logtail Configuration, di area Processor Configurations, klik Add Processor dan pilih Native Processor > Data Parsing (Regex Mode):

  • Regular Expression: Digunakan untuk mencocokkan log. Anda dapat menghasilkannya secara otomatis atau memasukkannya secara manual:

    • Generasi otomatis:

      • Klik Generate Regex Automatically.

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

      • Klik Generate Regex.

    • Input manual: Enter Regex Manually berdasarkan format log.

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

  • Extracted Field: Atur nama field (Key) yang sesuai untuk konten log yang diekstraksi (Value).


Penguraian pemisah

Strukturisasi konten log menggunakan pemisah, yang menguraikannya menjadi beberapa pasangan kunci-nilai. Mendukung pemisah karakter tunggal dan multi-karakter.

Contoh:

Log mentah tanpa pemrosesan apa pun

Pisahkan field berdasarkan 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 halaman Logtail Configuration, di area Processor Configurations, klik Add Processor dan pilih Native Processor > Data Parsing (Delimiter Mode):

  • Delimiter: Tentukan karakter yang digunakan untuk memisahkan konten log.

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

  • Quote: Ketika nilai field berisi pemisah, Anda perlu menentukan quote untuk mengapit field guna menghindari pemisahan yang salah.

  • Extracted Field: Atur nama field (Key) yang sesuai untuk setiap kolom sesuai urutan pemisahan. Aturannya sebagai berikut:

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

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

    • Panjang maksimum: 128 byte.


Penguraian JSON standar

Strukturisasi log JSON bertipe objek, yang menguraikannya menjadi pasangan kunci-nilai.

Contoh:

Log mentah tanpa pemrosesan apa pun

Ekstraksi otomatis 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 halaman Logtail Configuration, di area Processor Configurations, klik Add Processor dan pilih Native Processor > Data Parsing (JSON Mode):

  • Original Field: Nilai default-nya adalah content. Field ini digunakan untuk menyimpan konten log mentah yang akan diuraikan.


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

  • Original Field: Nama field sumber yang akan diekspansi, misalnya, content.

  • JSON Expansion Depth: Tingkat ekspansi objek JSON. 0 berarti diekspansi sepenuhnya (default), 1 berarti tingkat saat ini, dan seterusnya.

  • Character to Concatenate Expanded Keys: Pemisah untuk nama field selama ekspansi JSON. Default-nya adalah garis bawah _.

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

  • Expand Array: Aktifkan ini untuk mengekspansi array menjadi pasangan kunci-nilai dengan indeks.

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

    Untuk mengganti nama field yang diekspansi, misalnya dari prefix_s_key_k1 menjadi new_field_name, Anda dapat menambahkan plugin Rename Fields setelahnya untuk menyelesaikan pemetaan.

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 halaman Logtail Configuration, di area Processor Configurations, ubah Processing Method ke 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 berdasarkan definisi dalam file konfigurasi log Apache, yang menguraikannya menjadi beberapa pasangan kunci-nilai.

Contoh:

Log mentah tanpa pemrosesan apa pun

Penguraian format log Apache Common 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 halaman Logtail Configuration, di area Processor Configurations, klik Add Processor dan pilih Native Processor > Data Parsing (Apache Mode):

  • Log Format: combined.

  • APACHE LogFormat Configuration: Sistem secara otomatis mengisi konfigurasi berdasarkan Log Format.

    Penting

    Harap verifikasi konten yang diisi otomatis untuk memastikan persis sama dengan LogFormat yang didefinisikan dalam file konfigurasi server Apache Anda, yang biasanya terletak di /etc/apache2/apache2.conf.


Penguraian log IIS

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

Contoh perbandingan:

Log mentah

Adaptasi 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 halaman Logtail Configuration, di area Processor Configurations, klik Add Processor dan pilih Native Processor > Data Parsing (IIS Mode):

  • Log Format: Pilih format log yang digunakan oleh log server IIS Anda.

    • IIS: Format file log IIS.

    • NCSA: Format Log Common NCSA.

    • W3C: Format File Log Extended W3C.

  • IIS Configuration Fields: Saat Anda memilih IIS atau NCSA, Simple Log Service mengatur field konfigurasi IIS secara default. Saat Anda memilih W3C, atur ke konten 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"

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 halaman Logtail Configuration, di area Processor Configurations, klik Add Processor dan pilih Native Processor > Data Masking:

  • Original Field: Field sumber yang berisi konten log sebelum penguraian.

  • Data Masking Method:

    • const: Mengganti konten sensitif dengan string yang ditentukan.

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

  • Replacement String: Saat Anda memilih const untuk Data Masking Method, Anda perlu memasukkan string untuk mengganti konten sensitif.

  • Content Expression that Precedes Replaced Content: Digunakan untuk menemukan konten sensitif. Konfigurasikan menggunakan sintaks RE2.

  • Content Expression to Match Replaced Content: Ekspresi untuk konten sensitif. Konfigurasikan menggunakan sintaks RE2.


Penguraian waktu

Uraikan field waktu dalam log dan atur hasil penguraian sebagai field __time__ log.

Contoh:

Log mentah tanpa pemrosesan apa pun

Penguraian waktu

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

Di tampilan detail log SLS, log JSON diuraikan dengan benar menjadi field terstruktur. Setiap field (cluster, level, message, time, userId) dan nilainya ditampilkan secara independen.

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

  • Original Field: Field sumber yang berisi konten log sebelum penguraian.

  • Time Format: Atur format waktu yang sesuai berdasarkan konten waktu dalam log.

  • Time Zone: Pilih zona waktu field waktu log. Secara default, menggunakan zona waktu mesin, yaitu zona waktu lingkungan tempat proses LoongCollector (Logtail) berjalan.

Apendiks: Referensi kebijakan akses

Login akun Alibaba Cloud: Akun Alibaba Cloud memiliki semua izin secara default dan dapat melakukan operasi langsung.

Login pengguna RAM: Memerlukan akun Alibaba Cloud untuk memberikan kebijakan akses yang sesuai.

Kebijakan kustom (kontrol detail halus)

Ketika kebijakan sistem tidak dapat memenuhi prinsip hak istimewa minimal, Anda dapat mencapai otorisasi detail halus dengan membuat kebijakan kustom. Berikut adalah contoh kebijakan akses yang mencakup izin-izin ini:

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

  • Kelola Logstore: Buat Logstore baru di bawah proyek, atau modifikasi atau hapus Logstore yang sudah ada.

  • 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 tujuan, 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

Operasi yang sesuai

Sumber daya

Proyek hanya baca

  • GetAcceleration

  • GetLogging

  • ListProject

  • ListDomains

  • ListTagResources

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

Dapatkan proyek tertentu

GetProject

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

Mengelola Penyimpanan Log

  • ListLogStores

  • *LogStore

  • *Index

  • ListShards

  • GetCursorOrData

  • GetLogStoreHistogram

  • GetLogStoreContextLogs

  • PostLogStoreLogs

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

Kelola ingesti 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)

Diperlukan hanya ketika LoongCollector (Logtail) diinstal secara otomatis melalui OOS dalam akun dan wilayah yang sama dengan Simple Log Service dan instance ECS.

  • ListTemplates

  • StartExecution

  • ListExecutions

  • GetExecutionTemplate

  • ListExecutionLogs

  • ListTaskExecutions

*

Kebijakan sistem

Jika Anda menggunakan kebijakan sistem yang telah ditentukan, kami merekomendasikan memberikan izin berikut:

  • AliyunLogFullAccess: Izin untuk mengelola Simple Log Service.

  • AliyunECSFullAccess: Izin untuk mengelola ECS.

  • (Opsional) AliyunOOSFullAccess: Diperlukan ketika Anda menginstal LoongCollector (Logtail) dengan satu klik menggunakan OOS.

Informasi lebih lanjut

Parameter konfigurasi global

Item konfigurasi

Deskripsi

Nama Konfigurasi

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

Jenis Topik

Pilih metode untuk menghasilkan topik. Termasuk topik kelompok mesin, ekstraksi jalur file, dan kustom.

Parameter Lanjutan

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

Parameter konfigurasi input

Item konfigurasi

Deskripsi

Jalur File

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

Nama direktori dan nama file mendukung mode penuh dan wildcard. Untuk aturan nama file, lihat Pencocokan wildcard. Karakter wildcard jalur log hanya mendukung asterisk (*) dan tanda tanya (?).

Mode pencarian file log adalah pencocokan direktori multi-level, artinya semua file yang memenuhi kondisi di direktori yang ditentukan (termasuk semua level subdirektori) akan ditemukan. Misalnya:

  • /apsara/nuwa/**/*.log menunjukkan file dengan ekstensi .log di direktori /apsara/nuwa (termasuk subdirektori rekursifnya).

  • /var/logs/app_*/**/*.log menunjukkan file dengan ekstensi .log di semua direktori yang cocok dengan format app_* di bawah direktori /var/logs (termasuk subdirektori rekursifnya).

  • /var/log/nginx/**/access* menunjukkan file yang dimulai dengan access di direktori /var/log/nginx (termasuk subdirektori rekursifnya).

Di konsol, field Jalur File dibagi menjadi dua kotak input terpisah: satu untuk jalur direktori dan satu untuk nama file. Konsol secara otomatis memasukkan pemisah /**/ di antara kedua nilai tersebut, sehingga Anda tidak perlu (dan tidak dapat) memasukkan ** secara manual. Kotak jalur direktori mendukung karakter wildcard * dan ?.

Kedalaman Pemantauan Direktori Maksimum

Atur kedalaman maksimum pemantauan direktori log, yaitu kedalaman direktori maksimum yang dapat dicocokkan oleh karakter wildcard ** di File Path. 0 berarti hanya memantau direktori saat ini.

Encoding File

Pilih format encoding file log.

Ukuran Pengumpulan Awal

Konfigurasikan posisi pengumpulan awal relatif terhadap akhir file saat konfigurasi pertama kali diterapkan. Ukuran pengumpulan awal diatur ke 1024 KB.

  • Saat pengumpulan awal, jika file lebih kecil dari 1024 KB, pengumpulan dimulai dari awal konten file.

  • Saat pengumpulan awal, jika file lebih besar dari 1024 KB, pengumpulan dimulai dari 1024 KB dari akhir file.

Anda dapat memodifikasi First Collection Size di sini. Rentang nilainya adalah 0 hingga 10485760 KB.

Daftar Hitam Pengumpulan

Setelah Anda mengaktifkan sakelar Collection Blacklist, Anda dapat mengonfigurasi daftar hitam untuk mengabaikan direktori atau file tertentu selama pengumpulan. Daftar hitam pengumpulan mendukung tiga jenis: daftar hitam jalur file (mencocokkan jalur file lengkap), daftar hitam direktori (mencocokkan jalur direktori), dan daftar hitam file (mencocokkan nama file). Ketiga jenis ini mendukung pencocokan penuh dan wildcard. Karakter wildcard hanya mendukung asterisk (*) dan tanda tanya (?).

Penting
  • Jika Anda menggunakan karakter wildcard saat mengonfigurasi File Path tetapi perlu memfilter beberapa jalur, Anda harus memasukkan jalur lengkap yang sesuai di Collection Blacklist untuk memastikan konfigurasi daftar hitam 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 perlu memilih Directory Blacklist dan mengonfigurasi direktori sebagai /home/admin/app1*/**. Jika Anda mengonfigurasinya sebagai /home/admin/app1*, daftar hitam tidak akan berlaku.

  • Pencocokan terhadap daftar hitam melibatkan overhead komputasi. Kami merekomendasikan menjaga jumlah entri daftar hitam di bawah 10.

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

Mendukung pengaturan berdasarkan daftar hitam jalur file, daftar hitam file, dan daftar hitam direktori, seperti dijelaskan di bawah ini:

File Path Blacklist

  • Pilih File Path Blacklist dan konfigurasikan jalur sebagai /home/admin/private*.log. Ini berarti selama pengumpulan, semua file di direktori /home/admin/ yang dimulai dengan "private" dan diakhiri dengan ".log" akan diabaikan.

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

Daftar Hitam File

Pilih File Blacklist dan konfigurasikan nama file sebagai app_inner.log. Ini berarti selama pengumpulan, semua file bernama app_inner.log akan diabaikan.

Daftar Hitam Direktori

  • Pilih Directory Blacklist dan konfigurasikan direktori sebagai /home/admin/dir1. Ini berarti selama pengumpulan, semua file di direktori /home/admin/dir1 akan diabaikan.

  • Pilih Directory Blacklist dan konfigurasikan direktori sebagai /home/admin/dir*. Ini berarti selama pengumpulan, file di semua subdirektori di bawah /home/admin/ yang dimulai dengan "dir" akan diabaikan.

  • Pilih Directory Blacklist dan konfigurasikan direktori sebagai /home/admin/*/dir. Ini berarti selama pengumpulan, semua file di subdirektori bernama "dir" di tingkat kedua di bawah direktori /home/admin/ akan diabaikan. Misalnya, file di direktori /home/admin/a/dir diabaikan, sedangkan file di direktori /home/admin/a/b/dir dikumpulkan.

Izinkan File Dikumpulkan Beberapa Kali

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

Parameter Lanjutan

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

Parameter konfigurasi pemrosesan

Item konfigurasi

Deskripsi

Contoh Log

Contoh log yang akan dikumpulkan. Pastikan menggunakan log dari skenario aktual. Contoh log dapat membantu Anda mengonfigurasi parameter pemrosesan log dan menyederhanakan konfigurasi. Anda dapat menambahkan beberapa contoh, dengan panjang total tidak melebihi 1500 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)

Mode Multi-baris

  • Jenis log multi-baris: Log multi-baris adalah entri log yang tersebar di beberapa baris berurutan. Anda perlu membedakan setiap entri log dari konten log.

    • Custom: Bedakan setiap entri 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"
        }
      }
  • Tindakan pada Baris yang Tidak Cocok:

    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 Simple Log Service gagal memisahkannya:

    • Discard: Buang segmen log ini secara langsung.

    • Retain Single Line: Pertahankan setiap baris teks log sebagai entri log terpisah, sehingga totalnya empat entri log.

Mode Pemrosesan

Processors, termasuk Native Processor dan Extended Processor. Untuk informasi lebih lanjut tentang plugin pemrosesan, lihat Catatan penggunaan untuk plugin pemrosesan native dan ekstensi.

Penting

Batasan penggunaan plugin pemrosesan mengikuti petunjuk di halaman konsol.

  • Versi Logtail 2.0:

    • Plugin pemrosesan native dapat dikombinasikan dengan cara apa pun.

    • Plugin pemrosesan native dan ekstensi dapat digunakan bersamaan, tetapi plugin pemrosesan ekstensi hanya dapat muncul setelah semua plugin pemrosesan native.

  • Versi Logtail sebelum 2.0:

    • Tidak mendukung penambahan plugin pemrosesan native dan ekstensi secara bersamaan.

    • Plugin native hanya dapat digunakan untuk mengumpulkan log teks. Saat menggunakan plugin pemrosesan native, Anda harus memenuhi persyaratan berikut:

      • Plugin pemrosesan pertama harus berupa plugin Penguraian Ekspresi Reguler, Penguraian Mode Pemisah, Penguraian JSON, Penguraian Mode NGINX, Penguraian Mode Apache, atau Penguraian Mode IIS.

      • Dari plugin pemrosesan kedua hingga terakhir, Anda dapat menyertakan paling banyak satu plugin Penguraian Waktu, satu plugin Filter, dan beberapa plugin Penyembunyian Data.

    • 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 diuraikan dengan sukses:

        Kosongkan kedua Retain Original Field if Parsing Fails dan Retain Original Field if Parsing Succeeds.

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

        Pilih Retain Original Field if Parsing Fails, kosongkan Retain Original Field if Parsing Succeeds, dan atur Renamed Original Field ke __raw__.

      • Saat sukses, unggah log yang diuraikan dan tambahkan field log asli. Saat gagal, unggah log mentah.

        Misalnya, jika log mentah "content": "{"request_method":"GET", "request_time":"200"}" diuraikan dengan sukses, menambahkan field asli akan menambahkan field baru ke log yang diuraikan. Nama field adalah Renamed Source Field (jika tidak diisi, default-nya adalah nama field asli), dan nilai field adalah log mentah {"request_method":"GET", "request_time":"200"}.

        Pilih kedua Retain Original Field if Parsing Fails dan Retain Original Field if Parsing Succeeds, aktifkan sakelar Advanced Parameters, dan masukkan {"CopingRawLog":true}.