All Products
Search
Document Center

Simple Log Service:Gunakan Logtail SPL untuk mengurai log

Last Updated:May 31, 2026

Logtail mendukung tiga mode pemrosesan: mode plugin native (berbasis C++ untuk performa tertinggi), mode plugin ekstensi (berbasis Go untuk ekosistem yang kaya dan fleksibel), serta mode SPL (diperkenalkan di Logtail 2.0, yang menggabungkan performa dan fleksibilitas). Anda dapat menulis pernyataan SPL untuk memanfaatkan kemampuan komputasi canggih dalam pemrosesan data. Topik ini menjelaskan cara menggunakan SPL untuk mereplikasi fungsionalitas kedua mode lainnya.

Prasyarat

Batasan

  • Pengumpulan log dengan SPL hanya didukung di Logtail 2.0 dan versi setelahnya.

  • Anda dapat mengonfigurasi pengumpulan log teks melalui konsol. Untuk tipe data lainnya, Anda harus menggunakan API atau Custom Resource Definitions (CRDs).

Contoh penggunaan

Untuk contoh penggunaan SPL, lihat Gunakan SPL untuk mengumpulkan log teks.

Untuk kasus penggunaan SPL, lihat Praktik terbaik pemrosesan data dengan SPL.

Prosedur

Ubah konfigurasi

  1. Masuk ke konsol Simple Log Service.

  2. Di bagian Projects, klik proyek yang diinginkan.

    image

  3. Pada tab Log Storage > Logstores, klik ikon > di samping Logstore yang ingin dikelola, lalu pilih Data Collection > Logtail Configuration.

  4. Pada daftar Logtail Configuration, temukan konfigurasi target dan klik Manage Logtail Configuration pada kolom Actions.

  5. Klik Edit di bagian atas halaman. Pada area Processor Configurations di bagian bawah halaman, pada Processor Configurations, pilih SPL untuk Processing Method, lalu klik Save.

    Global Configurations

    Parameter

    Description

    Configuration Name

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

    Log Topic Type

    Pilih metode untuk menghasilkan topik log. Untuk informasi selengkapnya, lihat Log topics.

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

    • File Path Extraction: Tentukan ekspresi reguler kustom. Bagian dari path file yang sesuai dengan ekspresi reguler tersebut digunakan sebagai topik log. Pilih opsi ini untuk membedakan log dari sumber yang berbeda.

    • Custom: Tentukan topik log kustom.

    Advanced Parameters

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

    Input Configurations

    Parameter

    Description

    File Path

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

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

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

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

    Simple Log Service memindai semua tingkat direktori yang ditentukan untuk menemukan file log yang sesuai dengan kondisi yang ditetapkan. Contoh:

    • Jika Anda menentukan /apsara/nuwa/**/*.log, Simple Log Service mengumpulkan log dari file log yang berakhiran .log di direktori /apsara/nuwa dan subdirektori rekursifnya.

    • Jika Anda menentukan /var/logs/app_*/**/*.log, Simple Log Service mengumpulkan log dari file log yang memenuhi kondisi berikut:

      • Nama file berakhiran .log.

      • File disimpan di subdirektori direktori /var/logs atau salah satu subdirektori rekursifnya.

      • Nama subdirektori sesuai dengan pola app_*.

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

    Maximum Directory Monitoring Depth

    Tentukan jumlah maksimum tingkat subdirektori yang ingin dipantau. Subdirektori tersebut berada di dalam 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 berarti hanya direktori file log yang Anda tentukan yang dipantau.

    File Encoding

    Pilih format encoding file log.

    First Collection Size

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

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

    • Jika sama dengan atau lebih besar dari 1.024 KB, Logtail mengumpulkan 1.024 KB data terakhir dalam file.

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

    Collection Blacklist

    Jika Anda mengaktifkan fitur ini, konfigurasikan blacklist untuk menentukan direktori atau file yang ingin dilewati Simple Log Service saat mengumpulkan log. Anda dapat menentukan direktori dan nama file secara eksplisit. Anda juga dapat menggunakan karakter wildcard untuk menentukan direktori dan nama file. Saat mengonfigurasi parameter ini, Anda hanya dapat menggunakan tanda bintang (*) atau tanda tanya (?) sebagai karakter wildcard.

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

      Sebagai contoh, jika Anda mengatur File Path menjadi /home/admin/app*/log/*.log dan ingin melewatkan semua subdirektori dalam direktori /home/admin/app1*, pilih Directory Blacklist dan masukkan /home/admin/app1*/** di kolom Directory Name. Jika Anda memasukkan /home/admin/app1*, blacklist tidak berlaku.

    • Saat blacklist digunakan, beban komputasi akan dihasilkan. Kami merekomendasikan maksimal 10 entri per blacklist.

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

    Jenis blacklist berikut didukung:

    File Path Blacklist

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

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

    File Blacklist

    Jika Anda memilih File Blacklist dan memasukkan app_inner.log di kolom File Name, semua file yang namanya app_inner.log dilewati.

    Directory Blacklist

    • Jika Anda memilih Directory Blacklist dan memasukkan /home/admin/dir1 di kolom Directory Name, semua file di direktori /home/admin/dir1 dilewati.

    • Jika Anda memilih Directory Blacklist dan memasukkan /home/admin/dir* di kolom Directory Name, semua file di subdirektori yang diawali dengan dir di direktori /home/admin/ dilewati.

    • Jika Anda memilih Directory Blacklist dan memasukkan /home/admin/*/dir di kolom Directory Name, 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.

    Allow File to Be Collected Multiple Times

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

    Advanced Parameters

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

    Processor Configurations

    Parameter

    Description

    Log sample

    Contoh entri log dari kasus penggunaan Anda. Ini membantu Anda mengonfigurasi parameter pemrosesan.

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

    Multi-line mode

    • Log multi-baris terdiri dari beberapa baris berurutan. Anda harus menentukan pola untuk membedakan setiap entri log.

      • Custom: Menggunakan Regex to Match First Line untuk mengidentifikasi setiap entri log.

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

        {
          "name": "John Doe",
          "age": 30,
          "address": {
            "city": "New York",
            "country": "USA"
          }
        }
    • Action on parsing failure:

      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)

      Jika Simple Log Service gagal memisahkan konten log di atas:

      • Discard: Membuang entri log tersebut.

      • Retain Single Line: Menyimpan setiap baris teks sebagai entri log terpisah. Dalam kasus ini, empat entri log disimpan.

    Processing mode

    Atur Processing Method menjadi SPL.

    SPL statement

    Untuk informasi selengkapnya tentang pernyataan SPL, lihat Sintaks SPL. Sebelum log diurai, kontennya disimpan di bidang content secara default.

    Timeout

    Durasi maksimum yang diizinkan untuk satu eksekusi pernyataan SPL.

Buat konfigurasi

  1. Masuk ke konsol Simple Log Service.

  2. Di area Data Import, klik Import Data. Di kotak dialog Quick Data Import, pada tab Self-managed Open Source/Commercial Software, pilih sumber data yang menyertakan Text Logs dalam namanya.

    Catatan

    Saat ini, Anda hanya dapat mengonfigurasi pengumpulan berbasis SPL untuk log teks melalui konsol. Untuk sumber data lainnya, seperti output standar dari Kubernetes atau Docker, Anda harus menggunakan API atau CRD.

    Pada bagian Quick Data Collection, klik Collect Data untuk membuka kotak dialog Quick Data Collection.

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

    image

  4. Pada langkah Machine Group Configurations, konfigurasikan kelompok mesin.

    1. Konfigurasikan parameter Scenario dan Installation Environment sesuai kebutuhan.

      Penting

      Anda harus mengonfigurasi parameter Scenario dan Installation Environment terlepas dari apakah kelompok mesin tersedia atau tidak. Pengaturan parameter ini memengaruhi konfigurasi selanjutnya.

    2. Pastikan kelompok mesin ditampilkan di bagian Applied Server Groups, lalu klik Next.

      Kelompok mesin tersedia

      Pilih kelompok mesin dari bagian Source Machine Group.

      image

      Tidak ada kelompok mesin yang tersedia

      Klik Create Machine Group. Pada panel Create Machine Group, konfigurasikan parameter. Anda dapat mengatur parameter Machine Group Identifier menjadi IP Address atau Custom Identifier. Untuk informasi selengkapnya, lihat Buat kelompok mesin berbasis pengenal kustom atau Buat kelompok mesin berbasis alamat IP.

      Penting

      Jika Anda menerapkan kelompok mesin segera setelah membuatnya, status heartbeat kelompok mesin mungkin FAIL. Masalah ini terjadi karena kelompok mesin belum terhubung ke Simple Log Service. Untuk mengatasi masalah ini, Anda dapat mengklik Automatic Retry. Jika masalah tetap berlanjut, lihat Apa yang harus saya lakukan jika tidak ada koneksi heartbeat yang terdeteksi pada Logtail?

  5. Buat konfigurasi Logtail dan klik Next. Parameter untuk Global Configurations dan Input Configurations sama seperti yang dijelaskan pada bagian sebelumnya. Pada bagian Processor Configurations, atur Processing Method menjadi SPL.

    • Global Configurations

      Parameter

      Description

      Configuration Name

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

      Log Topic Type

      Pilih metode untuk menghasilkan topik log. Untuk informasi selengkapnya, lihat Log topics.

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

      • File Path Extraction: Tentukan ekspresi reguler kustom. Bagian dari path file yang sesuai dengan ekspresi reguler tersebut digunakan sebagai topik log. Pilih opsi ini untuk membedakan log dari sumber yang berbeda.

      • Custom: Tentukan topik log kustom.

      Advanced Parameters

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

    • Input Configurations

      Parameter

      Description

      File Path

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

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

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

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

      Simple Log Service memindai semua tingkat direktori yang ditentukan untuk menemukan file log yang sesuai dengan kondisi yang ditetapkan. Contoh:

      • Jika Anda menentukan /apsara/nuwa/**/*.log, Simple Log Service mengumpulkan log dari file log yang berakhiran .log di direktori /apsara/nuwa dan subdirektori rekursifnya.

      • Jika Anda menentukan /var/logs/app_*/**/*.log, Simple Log Service mengumpulkan log dari file log yang memenuhi kondisi berikut:

        • Nama file berakhiran .log.

        • File disimpan di subdirektori direktori /var/logs atau salah satu subdirektori rekursifnya.

        • Nama subdirektori sesuai dengan pola app_*.

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

      Maximum Directory Monitoring Depth

      Tentukan jumlah maksimum tingkat subdirektori yang ingin dipantau. Subdirektori tersebut berada di dalam 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 berarti hanya direktori file log yang Anda tentukan yang dipantau.

      File Encoding

      Pilih format encoding file log.

      First Collection Size

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

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

      • Jika sama dengan atau lebih besar dari 1.024 KB, Logtail mengumpulkan 1.024 KB data terakhir dalam file.

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

      Collection Blacklist

      Jika Anda mengaktifkan fitur ini, konfigurasikan blacklist untuk menentukan direktori atau file yang ingin dilewati Simple Log Service saat mengumpulkan log. Anda dapat menentukan direktori dan nama file secara eksplisit. Anda juga dapat menggunakan karakter wildcard untuk menentukan direktori dan nama file. Saat mengonfigurasi parameter ini, Anda hanya dapat menggunakan tanda bintang (*) atau tanda tanya (?) sebagai karakter wildcard.

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

        Sebagai contoh, jika Anda mengatur File Path menjadi /home/admin/app*/log/*.log dan ingin melewatkan semua subdirektori dalam direktori /home/admin/app1*, pilih Directory Blacklist dan masukkan /home/admin/app1*/** di kolom Directory Name. Jika Anda memasukkan /home/admin/app1*, blacklist tidak berlaku.

      • Saat blacklist digunakan, beban komputasi akan dihasilkan. Kami merekomendasikan maksimal 10 entri per blacklist.

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

      Jenis blacklist berikut didukung:

      File Path Blacklist

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

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

      File Blacklist

      Jika Anda memilih File Blacklist dan memasukkan app_inner.log di kolom File Name, semua file yang namanya app_inner.log dilewati.

      Directory Blacklist

      • Jika Anda memilih Directory Blacklist dan memasukkan /home/admin/dir1 di kolom Directory Name, semua file di direktori /home/admin/dir1 dilewati.

      • Jika Anda memilih Directory Blacklist dan memasukkan /home/admin/dir* di kolom Directory Name, semua file di subdirektori yang diawali dengan dir di direktori /home/admin/ dilewati.

      • Jika Anda memilih Directory Blacklist dan memasukkan /home/admin/*/dir di kolom Directory Name, 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.

      Allow File to Be Collected Multiple Times

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

      Advanced Parameters

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

    • Processor Configurations

      Parameter

      Description

      Log sample

      Contoh entri log dari kasus penggunaan Anda. Ini membantu Anda mengonfigurasi parameter pemrosesan.

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

      Multi-line mode

      • Log multi-baris terdiri dari beberapa baris berurutan. Anda harus menentukan pola untuk membedakan setiap entri log.

        • Custom: Menggunakan Regex to Match First Line untuk mengidentifikasi setiap entri log.

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

          {
            "name": "John Doe",
            "age": 30,
            "address": {
              "city": "New York",
              "country": "USA"
            }
          }
      • Action on parsing failure:

        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)

        Jika Simple Log Service gagal memisahkan konten log di atas:

        • Discard: Membuang entri log tersebut.

        • Retain Single Line: Menyimpan setiap baris teks sebagai entri log terpisah. Dalam kasus ini, empat entri log disimpan.

      Processing mode

      Atur Processing Method menjadi SPL.

      SPL statement

      Untuk informasi selengkapnya tentang pernyataan SPL, lihat Sintaks SPL. Sebelum log diurai, kontennya disimpan di bidang content secara default.

      Timeout

      Durasi maksimum yang diizinkan untuk satu eksekusi pernyataan SPL.