Buat konfigurasi pengumpulan Logtail di konsol Simple Log Service (SLS) untuk mengumpulkan log eksekusi skrip.
Prasyarat
Logtail versi 1.7.1 atau yang lebih baru telah diinstal pada server Linux Anda. Untuk informasi selengkapnya, lihat Instal Logtail pada server Linux.
Fungsionalitas
Logtail mengeksekusi skrip yang dikonfigurasi sebagai pengguna tertentu untuk mengumpulkan output standar skrip tersebut sebagai log.
-
Jenis skrip yang didukung:
bash,shell,python2, danpython3. -
Menentukan pengguna untuk menjalankan skrip memungkinkan Anda membatasi sumber daya yang dapat diakses oleh skrip tersebut.
-
Jika skrip mengalami timeout, sistem akan menghentikannya secara otomatis. Logtail tidak mengumpulkan log dari eksekusi yang mengalami timeout tersebut.
Prosedur
Masuk ke konsol Simple Log Service.
-
Pada bagian Import Data, pilih Custom Data Plug-in.
-
Pilih Project dan Logstore tujuan, lalu klik Next.
-
Buat kelompok mesin.
-
Jika Anda memiliki kelompok mesin yang sudah ada, klik Use Existing Machine Groups.
-
Jika Anda belum memiliki kelompok mesin, ikuti langkah-langkah berikut. Contoh ini menggunakan Instance ECS.
-
Pada tab ECS Instance, pilih Instance ECS target dan klik Create.
Untuk informasi selengkapnya, lihat Instal Logtail pada Instance ECS.
PentingAnda harus menginstal Logtail secara manual jika server Anda merupakan Instance ECS dari Akun Alibaba Cloud yang berbeda, server dari penyedia cloud lain, atau server on-premises yang dikelola sendiri. Untuk informasi selengkapnya, lihat Instal Logtail pada server Linux atau Instal Logtail pada server Windows. Setelah Anda menginstal Logtail secara manual, Anda harus mengonfigurasi pengenal pengguna pada server tersebut. Untuk informasi selengkapnya, lihat Konfigurasikan pengenal pengguna.
-
Setelah instalasi selesai, klik Complete Installation.
-
Pada halaman Create Machine Group, masukkan Name dan klik Next.
SLS mendukung kelompok mesin berbasis alamat IP dan kelompok mesin berbasis pengenal kustom. Untuk informasi selengkapnya mengenai parameter tersebut, lihat Buat kelompok mesin berbasis alamat IP dan Buat kelompok mesin berbasis pengenal kustom.
-
-
-
Pilih kelompok mesin target, pindahkan dari Source Machine Group ke Applied Machine Group, lalu klik Next.
PentingJika Anda menerapkan kelompok mesin segera setelah membuatnya, status heartbeat mungkin menunjukkan FAIL karena koneksi belum terbentuk. Anda dapat mengklik Automatic Retry. Jika masalah tetap berlanjut, lihat Pemecahan masalah kelompok mesin Logtail di lingkungan host.
-
Pada tab Configure Data Source, tentukan Configuration Name dan Plug-in Configuration, lalu klik Next.
-
inputs: Wajib diisi. Konfigurasi sumber data.PentingHanya satu jenis sumber data yang dapat dikonfigurasi dalam satu
inputs. -
processors: Opsional. Konfigurasi pemrosesan data.Jika
inputssaja tidak memenuhi kebutuhan penguraian log Anda, tambahkan bagianprocessorspada bagian Plug-in Configuration untuk menggunakan plugin Logtail guna melakukan pemrosesan data. Misalnya, Anda dapat mengekstrak bidang, mengurai waktu log, menyamarkan data, atau memfilter log. Untuk informasi selengkapnya, lihat Gunakan plugin pemrosesan native dan ekstensi.
{ "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
Jenis sumber data. Tetapkan ke
input_command.ScriptType
String
Ya
Jenis skrip. Nilai yang valid:
bash,shell,python2, danpython3.User
String
Ya
Pengguna yang menjalankan skrip. Hanya pengguna non-root yang didukung.
Catatan-
Pastikan pengguna yang ditentukan sudah ada di mesin tersebut.
-
Ikuti prinsip hak istimewa minimal dengan memberikan izin baca, tulis, dan eksekusi (rwx) hanya pada direktori dan file yang diperlukan.
ScriptContent
String
Ya
Isi skrip. Isi tersebut dapat berupa teks biasa atau dalam format Base64-encoded. Ukuran maksimum adalah 512 KB.
ContentEncoding
String
Tidak
Format encoding dari isi skrip. Nilai yang valid:
-
PlainText(Default): Isi berupa teks biasa dan tidak di-encode. -
Base64: Isi di-encode dalam format Base64.
LineSplitSep
String
Tidak
Pemisah untuk membagi output skrip menjadi beberapa entri log. Jika dikosongkan, seluruh output dianggap sebagai satu entri log.
CmdPath
String
Tidak
Jalur ke interpreter skrip. Jika dikosongkan, jalur default akan digunakan.
-
bash: /usr/bin/bash -
shell: /usr/bin/sh -
python2: /usr/bin/python2 -
python3: /usr/bin/python3
TimeoutMilliSeconds
Integer
Tidak
Timeout eksekusi skrip dalam milidetik. Default:
3000.IgnoreError
Boolean
Tidak
Apakah akan menekan pencatatan error plugin. Default:
false(error dicatat).Environments
[]String
Tidak
Variabel lingkungan kustom yang diteruskan ke skrip, selain variabel default dari sistem operasi.
IntervalMs
Integer
Ya
Interval eksekusi skrip dan pengumpulan output-nya, dalam milidetik. Default:
5000. -
-
Pratinjau data, konfigurasikan indeks, lalu klik Next.
Secara default, Simple Log Service mengaktifkan indeks teks penuh. Anda juga dapat membuat indeks bidang berdasarkan log yang dikumpulkan, atau klik Automatic Index Generation untuk membuat indeks bidang secara otomatis. Untuk informasi selengkapnya, lihat Buat indeks.
PentingJika Anda ingin melakukan kueri dan analisis log, Anda harus mengaktifkan indeks teks penuh atau indeks bidang. Jika keduanya diaktifkan, indeks bidang akan diprioritaskan.
-
Klik Query Log untuk membuka halaman kueri dan analisis Logstore.
Tunggu sekitar 1 menit hingga indeks berlaku. Anda kemudian dapat melihat log yang dikumpulkan pada tab Raw Log. Untuk informasi selengkapnya, lihat Memulai kueri dan analisis.
Contoh
Gunakan skrip python2 untuk mendapatkan waktu sistem.
-
Konfigurasi pengumpulan Logtail
{ "inputs":[ { "type":"input_command", "detail":{ "ScriptType":"python2", "User":"test", "ScriptContent":"import datetime\nprint(datetime.datetime.now())\n", "ContentEncoding":"PlainText", "CmdPath":"/usr/bin/python", "TimeoutMilliSeconds":1000, "IgnoreError":false, "Environments":[ "DEBUG=true" ], "IntervalMs":5000 } } ] } -
Log yang dikumpulkan
content:"2023-08-07 02:17:52.123456" 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
Data log dari output standar skrip.
script_md5
Hash MD5 dari isi skrip.
Pemecahan Masalah
Jika tidak ada data yang muncul pada halaman pratinjau atau kueri setelah Anda mengonfigurasi Logtail untuk mengumpulkan log, lihat Pemecahan masalah kegagalan pengumpulan Logtail.