全部产品
Search
文档中心

Simple Log Service:Gunakan Logtail SPL untuk mengurai log

更新时间:Jul 06, 2025

Logtail mendukung tiga mode pemrosesan: mode plugin asli (diimplementasikan dalam C++, menawarkan kinerja tertinggi), mode plugin diperluas (diimplementasikan dalam Go, menyediakan ekosistem yang kaya dan fleksibel), serta mode Structured Process Language (SPL) (diperkenalkan di Logtail 2.0, menggabungkan kinerja dengan fleksibilitas). Dengan menulis pernyataan SPL, Anda dapat memanfaatkan kemampuan komputasi kuat SPL untuk pemrosesan data. Topik ini menjelaskan cara menggunakan pernyataan SPL untuk mencapai fungsionalitas yang sama dengan dua mode pemrosesan lainnya.

Prasyarat

Batasan

  • SPL hanya didukung untuk Logtail V2.0 dan versi lebih baru.

  • Pengumpulan log teks dapat dikonfigurasi melalui konsol, sedangkan pengumpulan jenis log lainnya memerlukan API atau definisi sumber daya kustom (CRD).

Prosedur

Tambahkan SPL saat memodifikasi konfigurasi Logtail

  1. Masuk ke Konsol Layanan Log Sederhana.

  2. Di bagian Proyek, klik proyek yang ingin Anda kelola.

    image

  3. Di tab Log Storage > Logstores, klik ikon > di sebelah logstore yang diinginkan, lalu pilih Data Collection > Logtail Configurations.

    image

  4. Di daftar Logtail Configuration, temukan konfigurasi Logtail yang diperlukan dan klik Manage Logtail Configuration di kolom Actions.

  5. Klik Edit. Di bagian Processor Configurations, atur Processing Method ke SPL, lalu klik Save.

    Konfigurasi Global

    Parameter

    Deskripsi

    Nama Konfigurasi

    Masukkan nama untuk konfigurasi Logtail. Nama tersebut harus unik dalam sebuah proyek dan tidak dapat diubah nanti.

    Jenis Topik Log

    Pilih metode untuk menghasilkan topik log. Untuk informasi lebih lanjut, lihat Topik log.

    • Machine Group Topic: Topik grup mesin digunakan sebagai topik log. Pilih opsi ini untuk membedakan log dari grup mesin yang berbeda.

    • File Path Extraction: Tentukan ekspresi reguler kustom. Sebagian jalur file yang cocok dengan ekspresi reguler digunakan sebagai topik log. Pilih opsi ini untuk membedakan log dari sumber yang berbeda.

    • Custom: Tentukan topik log kustom.

    Parameter Lanjutan

    Opsional. Konfigurasikan parameter lanjutan yang terkait dengan konfigurasi global. Untuk informasi lebih lanjut, lihat CreateLogtailPipelineConfig.

    Konfigurasi Input

    Parameter

    Deskripsi

    Jalur File

    Tentukan direktori dan nama file log berdasarkan lokasi log di server Anda, seperti instance Elastic Compute Service (ECS).

    • Jalur file Linux harus dimulai dengan garis miring (/). Contoh: /apsara/nuwa/**/app.Log.

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

    Anda dapat menentukan direktori dan nama yang tepat. Anda juga dapat menggunakan karakter wildcard untuk menentukan direktori dan nama. Saat mengonfigurasi parameter ini, gunakan hanya karakter asterisk (*) atau tanda tanya (?) sebagai karakter wildcard.

    Layanan Log Sederhana memindai semua tingkat direktori yang ditentukan untuk menemukan file log yang sesuai dengan kondisi yang ditentukan. Contoh:

    • Jika Anda menentukan /apsara/nuwa/**/*.log, Layanan Log Sederhana mengumpulkan log dari file log yang memiliki akhiran .log di direktori /apsara/nuwa dan subdirektori rekursifnya.

    • Jika Anda menentukan /var/logs/app_*/**/*.log, Layanan Log Sederhana mengumpulkan log dari file log yang memenuhi kondisi berikut: Nama file memiliki akhiran .log. File disimpan di subdirektori direktori /var/logs atau salah satu subdirektori rekursifnya. Nama subdirektori cocok dengan pola app_*.

    • Jika Anda menentukan /var/log/nginx/**/access*, Layanan Log Sederhana mengumpulkan log dari file log yang namanya dimulai dengan access di direktori /var/log/nginx dan subdirektori rekursifnya.

    Kedalaman Pemantauan Direktori Maksimum

    Tentukan jumlah maksimum tingkat subdirektori yang ingin Anda pantau. Subdirektori tersebut berada di direktori file log yang Anda tentukan. Parameter ini menentukan tingkat subdirektori yang dapat dicocokkan oleh karakter wildcard ** yang termasuk dalam nilai File Path. Nilai 0 menentukan bahwa hanya direktori file log yang Anda tentukan yang dipantau.

    Pengkodean File

    Pilih format pengkodean file log.

    Ukuran Pengumpulan Pertama

    Tentukan ukuran data yang dapat dikumpulkan Logtail dari file log pertama kali melakukannya. Nilai default: 1024. Unit: KB.

    • Jika kurang dari 1.024 KB, Logtail mengumpulkan data dari awal file.

    • Jika lebih dari 1.024 KB, Logtail mengumpulkan 1.024 KB terakhir data di file.

    Anda dapat mengonfigurasi First Collection Size berdasarkan kebutuhan bisnis Anda. Nilai valid: 0 hingga 10485760. Unit: KB.

    Daftar Hitam Pengumpulan

    Jika Anda mengaktifkan ini, konfigurasikan daftar hitam untuk menentukan direktori atau file yang ingin Anda lewati Layanan Log Sederhana saat mengumpulkan log. Anda dapat menentukan direktori dan nama file yang tepat. Anda juga dapat menggunakan karakter wildcard untuk menentukan direktori dan nama file. Saat mengonfigurasi parameter ini, Anda hanya dapat menggunakan karakter asterisk (*) atau tanda tanya (?) sebagai karakter wildcard.

    Penting
    • Jika Anda menggunakan karakter wildcard untuk menentukan nilai untuk File Path dan ingin melewati beberapa subdirektori di direktori yang ditentukan, konfigurasikan Collection Blacklist untuk menentukan subdirektori. Anda harus menentukan yang lengkap.

      Sebagai contoh, jika Anda mengatur File Path menjadi /home/admin/app*/log/*.log dan ingin melewatkan semua subdirektori di direktori /home/admin/app1*, pilih Directory Blacklist dan masukkan /home/admin/app1*/** di bidang Nama Direktori. Jika Anda memasukkan /home/admin/app1*, daftar hitam tidak akan berlaku.

    • Saat daftar hitam digunakan, overhead komputasi dihasilkan. Kami merekomendasikan maksimal 10 entri per daftar hitam.

    • Anda tidak dapat menentukan direktori yang diakhiri dengan garis miring (/). Sebagai contoh, jika Anda menentukan direktori /home/admin/dir1/, daftar hitam direktori tidak akan berlaku.

    Jenis daftar hitam berikut didukung:

    File Path Blacklist

    • Jika Anda memilih File Path Blacklist dan memasukkan /home/admin/private*.log di bidang Nama Jalur File, semua file yang diawali private dan diakhiri .log di direktori /home/admin/ dilewati.

    • Jika Anda memilih File Path Blacklist dan memasukkan /home/admin/private*/*_inner.log di bidang Nama Jalur File, semua file yang diakhiri _inner.log di subdirektori yang diawali private di direktori /home/admin/ dilewati. Sebagai contoh, file /home/admin/private/app_inner.log dilewati, tetapi file /home/admin/private/app.log tidak.

    Daftar Hitam File

    Jika Anda memilih File Blacklist dan memasukkan app_inner.log di bidang Nama File, semua file yang namanya adalah app_inner.log dilewati.

    Daftar Hitam Direktori

    • Jika Anda memilih Directory Blacklist dan memasukkan /home/admin/dir1 di bidang Nama Direktori, semua file di direktori /home/admin/dir1 dilewati.

    • Jika Anda memilih Directory Blacklist dan memasukkan /home/admin/dir* di bidang Nama Direktori, semua file di subdirektori yang diawali dir di direktori /home/admin/ dilewati.

    • Jika Anda memilih Directory Blacklist dan memasukkan /home/admin/*/dir di bidang Nama Direktori, semua file di subdirektori dir di setiap subdirektori tingkat kedua dari direktori /home/admin/ dilewati. Sebagai contoh, file di direktori /home/admin/a/dir dilewati, tetapi file di direktori /home/admin/a/b/dir tidak.

    Izinkan File Dikumpulkan Beberapa Kali

    Secara default, Anda hanya dapat menggunakan satu konfigurasi Logtail untuk mengumpulkan log dari file log. Jika Anda ingin mengumpulkan beberapa salinan log dari file log, aktifkan Allow File to Be Collected Multiple Times.

    Parameter Lanjutan

    Opsional. Konfigurasikan parameter lanjutan yang terkait dengan prosesor input. Untuk informasi lebih lanjut, lihat CreateLogtailPipelineConfig.

    Konfigurasi Prosesor

    Parameter

    Deskripsi

    Contoh Log

    Tambahkan contoh log yang dikumpulkan dari skenario aktual. Anda dapat menggunakan contoh log untuk mengonfigurasi parameter yang terkait dengan pemrosesan log dengan mudah. Anda dapat menambahkan beberapa contoh log. Panjang total log tidak boleh 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)

    Mode Multi-baris

    • Tentukan jenis log multi-baris. Log multi-baris mencakup beberapa baris berturut-turut. Anda dapat mengonfigurasi parameter ini untuk mengidentifikasi setiap log multi-baris di file log.

      • Custom: Log multi-baris diidentifikasi berdasarkan nilai Regex to Match First Line.

      • Multi-line JSON: Setiap objek JSON diperluas menjadi beberapa baris. Contoh:

        {
          "name": "John Doe",
          "age": 30,
          "address": {
            "city": "New York",
            "country": "USA"
          }
        }
    • Konfigurasikan 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 contoh log di atas, Layanan Log Sederhana dapat membuang log atau menyimpan setiap baris tunggal sebagai log saat gagal memisahkan log.

      • Discard: Log dibuang.

      • Retain Single Line: Setiap baris teks log disimpan sebagai log. Total empat log disimpan.

    Mode Pemrosesan

    Pilih SPL.

    Pernyataan SPL

    Untuk informasi lebih lanjut tentang pernyataan SPL, lihat Sintaksis SPL. Secara default, sebelum penguraian log, log disimpan di bidang content.

    Periode Timeout

    Durasi maksimum untuk satu eksekusi pernyataan SPL.

Tambahkan SPL saat membuat konfigurasi Logtail

  1. Masuk ke Konsol Layanan Log Sederhana.

  2. Di bagian Quick Data Import, klik Import Data, lalu klik tab Self-managed Open Source/Commercial Software. Pilih kartu yang memiliki akhiran Text Logs.

    image

  3. Di langkah Select Logstore, pilih proyek dan logstore, lalu klik Next.

    image

  4. Di langkah Machine Group Configurations, konfigurasikan grup mesin.

    1. Konfigurasikan parameter Skenario dan Lingkungan Instalasi sesuai kebutuhan bisnis Anda.

      Penting

      Anda harus mengonfigurasi parameter Skenario dan Lingkungan Instalasi terlepas dari apakah grup mesin tersedia. Pengaturan parameter memengaruhi konfigurasi selanjutnya.

    2. Pastikan grup mesin ditampilkan di bagian Applied Server Groups dan klik Next.

      Grup mesin tersedia

      Pilih grup mesin dari bagian Source Machine Group.

      image

      Tidak ada grup mesin tersedia

      Klik Create Machine Group. Di panel Create Machine Group, konfigurasikan parameter. Anda dapat mengatur parameter Pengenal Grup Mesin ke IP Address atau Custom Identifier. Untuk informasi lebih lanjut, lihat Buat grup mesin berbasis pengenal kustom atau Buat grup mesin berbasis alamat IP.

      Penting

      Jika Anda menerapkan grup mesin segera setelah membuat grup mesin, status detak jantung grup mesin mungkin FAIL. Masalah ini terjadi karena grup mesin belum terhubung ke Layanan Log Sederhana. Untuk menyelesaikan masalah ini, Anda dapat mengklik Retry. Jika masalah berlanjut, lihat Apa yang harus saya lakukan jika tidak ada koneksi detak jantung yang terdeteksi pada Logtail?

  5. Di langkah Konfigurasi Logtail, buat konfigurasi Logtail dan klik Next.

    • Konfigurasi Global

      Parameter

      Deskripsi

      Nama Konfigurasi

      Masukkan nama untuk konfigurasi Logtail. Nama tersebut harus unik dalam sebuah proyek dan tidak dapat diubah nanti.

      Jenis Topik Log

      Pilih metode untuk menghasilkan topik log. Untuk informasi lebih lanjut, lihat Topik log.

      • Machine Group Topic: Topik grup mesin digunakan sebagai topik log. Pilih opsi ini untuk membedakan log dari grup mesin yang berbeda.

      • File Path Extraction: Tentukan ekspresi reguler kustom. Sebagian jalur file yang cocok dengan ekspresi reguler digunakan sebagai topik log. Pilih opsi ini untuk membedakan log dari sumber yang berbeda.

      • Custom: Tentukan topik log kustom.

      Parameter Lanjutan

      Opsional. Konfigurasikan parameter lanjutan yang terkait dengan konfigurasi global. Untuk informasi lebih lanjut, lihat CreateLogtailPipelineConfig.

    • Konfigurasi Input

      Parameter

      Deskripsi

      Jalur File

      Tentukan direktori dan nama file log berdasarkan lokasi log di server Anda, seperti instance Elastic Compute Service (ECS).

      • Jalur file Linux harus dimulai dengan garis miring (/). Contoh: /apsara/nuwa/**/app.Log.

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

      Anda dapat menentukan direktori dan nama yang tepat. Anda juga dapat menggunakan karakter wildcard untuk menentukan direktori dan nama. Saat mengonfigurasi parameter ini, gunakan hanya karakter asterisk (*) atau tanda tanya (?) sebagai karakter wildcard.

      Layanan Log Sederhana memindai semua tingkat direktori yang ditentukan untuk menemukan file log yang sesuai dengan kondisi yang ditentukan. Contoh:

      • Jika Anda menentukan /apsara/nuwa/**/*.log, Layanan Log Sederhana mengumpulkan log dari file log yang memiliki akhiran .log di direktori /apsara/nuwa dan subdirektori rekursifnya.

      • Jika Anda menentukan /var/logs/app_*/**/*.log, Layanan Log Sederhana mengumpulkan log dari file log yang memenuhi kondisi berikut: Nama file memiliki akhiran .log. File disimpan di subdirektori direktori /var/logs atau salah satu subdirektori rekursifnya. Nama subdirektori cocok dengan pola app_*.

      • Jika Anda menentukan /var/log/nginx/**/access*, Layanan Log Sederhana mengumpulkan log dari file log yang namanya dimulai dengan access di direktori /var/log/nginx dan subdirektori rekursifnya.

      Kedalaman Pemantauan Direktori Maksimum

      Tentukan jumlah maksimum tingkat subdirektori yang ingin Anda pantau. Subdirektori tersebut berada di direktori file log yang Anda tentukan. Parameter ini menentukan tingkat subdirektori yang dapat dicocokkan oleh karakter wildcard ** yang termasuk dalam nilai File Path. Nilai 0 menentukan bahwa hanya direktori file log yang Anda tentukan yang dipantau.

      Pengkodean File

      Pilih format pengkodean file log.

      Ukuran Pengumpulan Pertama

      Tentukan ukuran data yang dapat dikumpulkan Logtail dari file log pertama kali melakukannya. Nilai default: 1024. Unit: KB.

      • Jika kurang dari 1.024 KB, Logtail mengumpulkan data dari awal file.

      • Jika lebih dari 1.024 KB, Logtail mengumpulkan 1.024 KB terakhir data di file.

      Anda dapat mengonfigurasi First Collection Size berdasarkan kebutuhan bisnis Anda. Nilai valid: 0 hingga 10485760. Unit: KB.

      Daftar Hitam Pengumpulan

      Jika Anda mengaktifkan ini, konfigurasikan daftar hitam untuk menentukan direktori atau file yang ingin Anda lewati Layanan Log Sederhana saat mengumpulkan log. Anda dapat menentukan direktori dan nama file yang tepat. Anda juga dapat menggunakan karakter wildcard untuk menentukan direktori dan nama file. Saat mengonfigurasi parameter ini, Anda hanya dapat menggunakan karakter asterisk (*) atau tanda tanya (?) sebagai karakter wildcard.

      Penting
      • Jika Anda menggunakan karakter wildcard untuk menentukan nilai untuk File Path dan ingin melewati beberapa subdirektori di direktori yang ditentukan, konfigurasikan Collection Blacklist untuk menentukan subdirektori. Anda harus menentukan yang lengkap.

        Sebagai contoh, jika Anda mengatur File Path menjadi /home/admin/app*/log/*.log dan ingin melewatkan semua subdirektori di direktori /home/admin/app1*, pilih Directory Blacklist dan masukkan /home/admin/app1*/** di bidang Nama Direktori. Jika Anda memasukkan /home/admin/app1*, daftar hitam tidak akan berlaku.

      • Saat daftar hitam digunakan, overhead komputasi dihasilkan. Kami merekomendasikan maksimal 10 entri per daftar hitam.

      • Anda tidak dapat menentukan direktori yang diakhiri dengan garis miring (/). Sebagai contoh, jika Anda menentukan direktori /home/admin/dir1/, daftar hitam direktori tidak akan berlaku.

      Jenis daftar hitam berikut didukung:

      File Path Blacklist

      • Jika Anda memilih File Path Blacklist dan memasukkan /home/admin/private*.log di bidang Nama Jalur File, semua file yang diawali private dan diakhiri .log di direktori /home/admin/ dilewati.

      • Jika Anda memilih File Path Blacklist dan memasukkan /home/admin/private*/*_inner.log di bidang Nama Jalur File, semua file yang diakhiri _inner.log di subdirektori yang diawali private di direktori /home/admin/ dilewati. Sebagai contoh, file /home/admin/private/app_inner.log dilewati, tetapi file /home/admin/private/app.log tidak.

      Daftar Hitam File

      Jika Anda memilih File Blacklist dan memasukkan app_inner.log di bidang Nama File, semua file yang namanya adalah app_inner.log dilewati.

      Daftar Hitam Direktori

      • Jika Anda memilih Directory Blacklist dan memasukkan /home/admin/dir1 di bidang Nama Direktori, semua file di direktori /home/admin/dir1 dilewati.

      • Jika Anda memilih Directory Blacklist dan memasukkan /home/admin/dir* di bidang Nama Direktori, semua file di subdirektori yang diawali dir di direktori /home/admin/ dilewati.

      • Jika Anda memilih Directory Blacklist dan memasukkan /home/admin/*/dir di bidang Nama Direktori, semua file di subdirektori dir di setiap subdirektori tingkat kedua dari direktori /home/admin/ dilewati. Sebagai contoh, file di direktori /home/admin/a/dir dilewati, tetapi file di direktori /home/admin/a/b/dir tidak.

      Izinkan File Dikumpulkan Beberapa Kali

      Secara default, Anda hanya dapat menggunakan satu konfigurasi Logtail untuk mengumpulkan log dari file log. Jika Anda ingin mengumpulkan beberapa salinan log dari file log, aktifkan Allow File to Be Collected Multiple Times.

      Parameter Lanjutan

      Opsional. Konfigurasikan parameter lanjutan yang terkait dengan prosesor input. Untuk informasi lebih lanjut, lihat CreateLogtailPipelineConfig.

    • Konfigurasi Prosesor

      Parameter

      Deskripsi

      Contoh Log

      Tambahkan contoh log yang dikumpulkan dari skenario aktual. Anda dapat menggunakan contoh log untuk mengonfigurasi parameter yang terkait dengan pemrosesan log dengan mudah. Anda dapat menambahkan beberapa contoh log. Panjang total log tidak boleh 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)

      Mode Multi-baris

      • Tentukan jenis log multi-baris. Log multi-baris mencakup beberapa baris berturut-turut. Anda dapat mengonfigurasi parameter ini untuk mengidentifikasi setiap log multi-baris di file log.

        • Custom: Log multi-baris diidentifikasi berdasarkan nilai Regex to Match First Line.

        • Multi-line JSON: Setiap objek JSON diperluas menjadi beberapa baris. Contoh:

          {
            "name": "John Doe",
            "age": 30,
            "address": {
              "city": "New York",
              "country": "USA"
            }
          }
      • Konfigurasikan 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 contoh log di atas, Layanan Log Sederhana dapat membuang log atau menyimpan setiap baris tunggal sebagai log saat gagal memisahkan log.

        • Discard: Log dibuang.

        • Retain Single Line: Setiap baris teks log disimpan sebagai log. Total empat log disimpan.

      Mode Pemrosesan

      Pilih SPL.

      Pernyataan SPL

      Untuk informasi lebih lanjut tentang pernyataan SPL, lihat Sintaksis SPL. Secara default, sebelum penguraian log, log disimpan di bidang content.

      Periode Timeout

      Durasi maksimum untuk satu eksekusi pernyataan SPL.