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
Masuk ke konsol Simple Log Service.
Pada bagian Import Data, pilih Custom Data Plug-in.
Pilih proyek dan penyimpanan log. Lalu, klik Next.
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.
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.
PentingJika 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.
Setelah Logtail terinstal, klik Complete Installation.
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.
Pilih grup mesin dari Source Server Groups dan pindahkan grup mesin ke Applied Server Groups. Lalu, klik Next.
PentingJika 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?.
Pada langkah Specify Data Source, konfigurasikan parameter Config Name dan Plug-in Config. Lalu, klik Next.
inputswajib dan digunakan untuk mengonfigurasi pengaturan pengumpulan data untuk konfigurasi Logtail. Anda harus mengonfigurasi inputs berdasarkan sumber data Anda.PentingAnda hanya dapat mengonfigurasi satu jenis sumber data di bidang
inputs.processorsopsional 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.
CatatanPastikan 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.
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.
PentingJika 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.
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?.