All Products
Search
Document Center

Simple Log Service:Kumpulkan log eksekusi skrip

Last Updated:Jul 06, 2025

Topik ini menjelaskan cara membuat konfigurasi Logtail di konsol Simple Log Service untuk mengumpulkan log eksekusi skrip.

Prasyarat

Logtail V1.7.1 atau yang lebih baru telah terinstal di Server Linux Anda. Untuk informasi lebih lanjut, lihat Instal Logtail pada server Linux.

Deskripsi

Anda dapat menentukan pengguna dan skrip dalam konfigurasi Logtail. Logtail menjalankan skrip sebagai pengguna untuk mendapatkan log eksekusi skrip.

  • Anda dapat menentukan salah satu dari jenis skrip berikut: bash, shell, python2, dan python3.

  • Anda dapat menentukan pengguna untuk menjalankan skrip. Dengan cara ini, Anda dapat mencapai kontrol akses berbasis pengguna pada sumber daya yang dapat diakses oleh skrip.

  • Jika waktu eksekusi skrip habis, Logtail secara otomatis menghentikan eksekusi skrip. Logtail tidak mengumpulkan log eksekusi skrip.

Prosedur

  1. Masuk ke konsol Simple Log Service.

  2. Pada bagian Import Data, pilih Custom Data Plug-in.

  3. Pilih proyek dan penyimpanan log. Lalu, klik Next.

  4. Buat grup mesin.

    • Jika grup mesin tersedia, klik Use Existing Machine Groups.

    • Jika tidak ada grup mesin yang tersedia, lakukan langkah-langkah berikut untuk membuat grup mesin. Dalam contoh ini, instance Elastic Compute Service (ECS) digunakan.

      1. Pada tab ECS Instances, pilih Pilih Instance Secara Manual. Kemudian, pilih instance ECS yang ingin Anda gunakan dan klik Create.

        Untuk informasi lebih lanjut, lihat Instal Logtail pada instance ECS.

        Penting

        Jika server Anda adalah instance ECS yang dimiliki oleh akun Alibaba Cloud yang berbeda dari Simple Log Service, server di pusat data, atau server dari penyedia layanan cloud pihak ketiga, Anda harus menginstal Logtail secara manual di server tersebut. Untuk informasi lebih lanjut, lihat Instal Logtail pada server Linux atau Instal Logtail pada server Windows. Setelah Anda menginstal Logtail secara manual, Anda harus mengonfigurasi pengenal pengguna untuk server tersebut. Untuk informasi lebih lanjut, lihat Konfigurasikan pengenal pengguna.

      2. Setelah Logtail terinstal, klik Complete Installation.

      3. Pada langkah Create Machine Group, konfigurasikan parameter Name dan klik Next.

        Simple Log Service memungkinkan Anda membuat grup mesin berbasis alamat IP dan grup mesin berbasis pengenal kustom. Untuk informasi lebih lanjut, lihat Buat grup mesin berbasis alamat IP dan Buat grup mesin berbasis pengenal kustom.

  5. Pilih grup mesin dari Source Server Groups dan pindahkan grup mesin ke Applied Server Groups. Lalu, klik Next.

    Penting

    Jika Anda menerapkan grup mesin segera setelah Anda membuat grup mesin, status detak jantung grup mesin mungkin FAIL. Masalah ini terjadi karena grup mesin belum terhubung ke Simple Log Service. Untuk menyelesaikan masalah ini, Anda dapat mengklik Automatic Retry. Jika masalah tetap ada, atasi masalah dengan mengikuti petunjuk yang diberikan di Bagaimana cara saya menangani kesalahan yang terkait dengan grup mesin Logtail di lingkungan host?.

  6. Pada langkah Specify Data Source, konfigurasikan parameter Config Name dan Plug-in Config. Lalu, klik Next.

    • inputs wajib dan digunakan untuk mengonfigurasi pengaturan pengumpulan data untuk konfigurasi Logtail. Anda harus mengonfigurasi inputs berdasarkan sumber data Anda.

      Penting

      Anda hanya dapat mengonfigurasi satu jenis sumber data di bidang inputs.

    • processors opsional dan digunakan untuk mengonfigurasi pengaturan pemrosesan data untuk konfigurasi Logtail. Anda dapat menentukan satu atau beberapa metode pemrosesan.

      Jika log Anda tidak dapat diurai hanya berdasarkan pengaturan inputs, Anda dapat mengonfigurasi prosesor di bidang Plug-in Config untuk menambahkan plug-in untuk pemrosesan data. Sebagai contoh, Anda dapat mengekstrak bidang, mengekstrak waktu log, menyamarkan data, dan memfilter log. Untuk informasi lebih lanjut, lihat Ikhtisar.

    {
        "inputs":[
            {
                "type":"input_command",
                "detail":{
                    "ScriptType":"python2",
                    "User":"test",
                    "ScriptContent":"print(\"test input_command 0\")\nprint(\"test input_command 1\")\nprint(\"test input_command 2\")\nprint(\"test input_command 3\")\nprint(\"test input_command 4\")\nprint(\"test input_command 5\")\nprint(\"test input_command 6\")\nprint(\"test input_command 7\")\nprint(\"test input_command 8\")\nprint(\"test input_command 9\")\n",
                    "ContentEncoding":"PlainText",
                    "CmdPath":"/usr/bin/python",
                    "TimeoutMilliSeconds":1000,
                    "IgnoreError":false,
                    "Environments":[
                        "DEBUG=true"
                    ],
                    "IntervalMs":5000
                }
            }
        ]
    }

    Parameter

    Tipe

    Wajib

    Deskripsi

    type

    string

    Ya

    Tipe sumber data. Tetapkan nilainya menjadi input_command.

    ScriptType

    string

    Ya

    Tipe skrip. Nilai valid: bash, shell, python2, dan python3.

    User

    string

    Ya

    Nama pengguna yang digunakan untuk menjalankan skrip. Hanya pengguna non-root yang didukung.

    Catatan
    • Pastikan nama pengguna yang ditentukan ada di server.

    • Kami sarankan Anda memberikan izin rwx saja kepada pengguna pada direktori atau file yang diperlukan.

    ScriptContent

    string

    Ya

    Isi skrip. Isi dapat dikodekan Base64 atau teks biasa. Isi harus dalam batas 524.288 byte panjangnya.

    ContentEncoding

    string

    Tidak

    Format teks isi skrip. Parameter ini opsional. Nilai valid:

    • PlainText (default)

    • Base64

    LineSplitSep

    string

    Tidak

    Pemisah yang digunakan untuk memisahkan keluaran skrip. Jika Anda biarkan parameter ini kosong, keluaran skrip dikembalikan sebagai satu rekaman data tunggal.

    CmdPath

    string

    Tidak

    Jalur ke skrip. Jika Anda biarkan parameter ini kosong, jalur default digunakan. Jalur default:

    • bash: /usr/bin/bash

    • shell: /usr/bin/sh

    • python2: /usr/bin/python2

    • python3: /usr/bin/python3

    TimeoutMilliSeconds

    string

    Tidak

    Periode timeout untuk eksekusi skrip. Nilai default: 3000. Unit: milidetik.

    IgnoreError

    Bool

    Tidak

    Menentukan apakah akan mengabaikan log kesalahan yang dihasilkan ketika Logtail gagal menjalankan skrip. Nilai default: false. Nilai false menunjukkan bahwa log kesalahan tidak diabaikan.

    Environments

    []string

    Tidak

    Variabel lingkungan. Secara default, nilai os.Environ() digunakan. Jika Anda mengonfigurasi parameter ini, nilai parameter ini digunakan bersama dengan nilai os.Environ().

    IntervalMs

    int

    Ya

    Interval waktu pengumpulan log atau eksekusi skrip. Nilai default: 5000. Unit: milidetik.

  7. Pratinjau data, konfigurasikan indeks, lalu klik Berikutnya.

    Secara default, pengindeksan teks penuh diaktifkan di Simple Log Service. Anda dapat mengonfigurasi indeks bidang berdasarkan log yang dikumpulkan dalam mode manual atau otomatis. Untuk mengonfigurasi indeks bidang dalam mode otomatis, klik Pembuatan Indeks Otomatis. Simple Log Service secara otomatis membuat indeks bidang. Untuk informasi lebih lanjut, lihat Buat indeks.

    Penting

    Jika Anda ingin menanyakan dan menganalisis log, Anda harus mengaktifkan pengindeksan teks penuh atau pengindeksan bidang. Jika Anda mengaktifkan kedua pengindeksan teks penuh dan pengindeksan bidang, sistem hanya menggunakan indeks bidang.

  8. Klik Log Query. Lalu, Anda akan dialihkan ke halaman kueri dan analisis Logstore Anda.

    Anda harus menunggu sekitar 1 menit agar indeks berlaku. Lalu, Anda dapat melihat log yang dikumpulkan di tab Raw Logs. Untuk informasi lebih lanjut, lihat Kueri dan analisis log.

Contoh

Mendapatkan waktu sistem menggunakan skrip python2.

  • Konfigurasi Logtail

    {
        "inputs":[
            {
                "type":"input_command",
                "detail":{
                    "ScriptType":"python2",
                    "User":"test",
                    "ScriptContent":"print(\"test input_command 0\")\nprint(\"test input_command 1\")\nprint(\"test input_command 2\")\nprint(\"test input_command 3\")\nprint(\"test input_command 4\")\nprint(\"test input_command 5\")\nprint(\"test input_command 6\")\nprint(\"test input_command 7\")\nprint(\"test input_command 8\")\nprint(\"test input_command 9\")\n",
                    "ContentEncoding":"PlainText",
                    "CmdPath":"/usr/bin/python",
                    "TimeoutMilliSeconds":1000,
                    "IgnoreError":false,
                    "Environments":[
                        "DEBUG=true"
                    ],
                    "IntervalMs":5000
                }
            }
        ]
    }
  • Log yang dikumpulkan

    content:"Mon Aug  7 02:17:52 UTC 2023"
    script_md5:"a9564ebc3289b7a14551baf8ad5ec60a"
    __pack_meta__:"1|MTY4OTI1MzExNTU2NTE2MzQ1NA==|2|1"
    __topic__:""
    __source__:"172.17.0.2"
    __tag__:__pack_id__:"D7B7F988051A3019-0"
    __tag__:__hostname__:"bc6c7472f257"
    __tag__:__client_ip__:"8.218.101.91"
    __tag__:__receive_time__:"1691374673"
    __time__:"1691374672"
  • Deskripsi bidang

    Bidang

    Deskripsi

    content

    Log eksekusi skrip yang dikumpulkan.

    script_md5

    Nilai hash MD5 dari isi skrip.

Pemecahan Masalah

Jika tidak ada data yang ditampilkan di halaman pratinjau atau halaman kueri setelah log dikumpulkan menggunakan Logtail, Anda dapat memecahkan kesalahan berdasarkan instruksi yang diberikan di Apa yang harus saya lakukan jika terjadi kesalahan ketika saya menggunakan Logtail untuk mengumpulkan log?.