Topik ini menjelaskan cara mengonfigurasi topik log untuk membedakan log teks yang dikumpulkan dari server atau pengguna yang berbeda.
Konfigurasi Topik Log
Prasyarat
Sebuah proyek dan penyimpanan log Standar telah dibuat. Untuk informasi lebih lanjut, lihat Buat sebuah proyek dan Buat sebuah penyimpanan log.
Grup mesin telah dibuat. Untuk informasi lebih lanjut, lihat Buat grup mesin.
Prosedur
Anda dapat mengonfigurasi topik log melalui konsol Simple Log Service atau dengan memanggil operasi API.
Konsol
Pada halaman Logtail Configuration, klik Other Global Configurations dan pilih jenis topik log dari daftar drop-down Log Topic Type. Berikut adalah penjelasan nilai parameter Jenis Topik Log:
Topik Grup Mesin: Jika Anda memilih jenis ini, konfigurasikan parameter Machine Group Topic saat membuat grup mesin. Untuk informasi lebih lanjut, lihat Buat grup mesin.
Ekstraksi Jalur File: Jika Anda memilih jenis ini, tentukan ekspresi reguler.
Kustom: Jika Anda memilih jenis ini, tentukan
customized:// + Nama topik kustomuntuk menggunakan topik log statis.
Buat konfigurasi Logtail di konsol Simple Log Service. Untuk informasi lebih lanjut, lihat Kumpulkan log teks dari server.
API
Anda dapat memanggil operasi CreateConfig untuk membuat konfigurasi Logtail. Untuk informasi lebih lanjut tentang parameter terkait topik log, lihat parameter topicFormat dalam konfigurasi Logtail.
Jenis Topik Log
Topik Grup Mesin
Simple Log Service memungkinkan Anda menerapkan satu Logtail configuration ke beberapa machine groups. Jenis ini digunakan untuk membedakan log yang dihasilkan oleh server di grup mesin yang berbeda. Saat Logtail mengunggah log server di grup mesin yang berbeda ke Simple Log Service, Logtail menyertakan topik yang ditentukan oleh parameter Machine Group Topic dalam log sebagai topik log. Anda dapat menggunakan topik log untuk menanyakan log tersebut.
Ekstraksi Jalur File
Jenis ini digunakan untuk membedakan log yang dihasilkan untuk pengguna atau aplikasi yang berbeda. Jika log pengguna atau aplikasi yang berbeda disimpan di direktori root yang berbeda tetapi direktori tersebut berisi subdirektori atau file dengan nama yang sama, Logtail tidak dapat mengidentifikasi pengguna atau aplikasi tertentu ketika mengumpulkan log tersebut.
Anda dapat menentukan ekspresi reguler dalam konfigurasi Logtail untuk mencocokkan jalur file log lengkap. Dalam hal ini, Logtail menyertakan nama pengguna atau aplikasi yang ditemukan dalam hasil pencocokan dalam log sebagai topik log ketika mengunggah log ke Simple Log Service. Anda dapat menggunakan topik log untuk menanyakan log tersebut.
CatatanAnda harus meloloskan garis miring (/) dalam ekspresi reguler yang digunakan untuk mencocokkan jalur file log.
Skenario 1: Log yang dihasilkan untuk pengguna yang berbeda disimpan di direktori root yang berbeda. Namun, file log tersebut sama. Contoh:
/data/logs ├── userA │ └── serviceA │ └── service.log ├── userB │ └── serviceA │ └── service.log └── userC └── serviceA └── service.logJika Anda menentukan
/data/logssebagai jalur file log dan menentukanservice.logsebagai nama file log dalam Logtail configuration, Logtail mengumpulkan log dari semua file bernamaservice.logke penyimpanan log. Pengguna untuk mana log tertentu dihasilkan tidak dapat diidentifikasi. Anda dapat menentukan ekspresi reguler berikut untuk mengekstrak nilai dari setiap jalur file log. Setiap nilai digunakan sebagai topik log unik.Ekspresi reguler
\/data\/logs\/(.*)\/serviceA\/.*Hasil ekstraksi
__topic__: userA __topic__: userB __topic__: userC
Skenario 2: Jika sumber log tidak dapat diidentifikasi menggunakan satu topik log, Anda dapat menentukan beberapa kelompok penangkapan dalam ekspresi reguler yang digunakan untuk mencocokkan jalur file log guna mengekstrak informasi utama. Kelompok penangkapan mencakup kelompok penangkapan bernama dan tanpa nama. Kelompok penangkapan bernama berformat (?P<name>). Jika kelompok penangkapan dalam ekspresi reguler yang ditentukan semuanya adalah kelompok penangkapan bernama, bidang tag akan dihasilkan dalam format
__tag__:{name}. Jika kelompok penangkapan dalam ekspresi reguler yang ditentukan semuanya adalah kelompok penangkapan tanpa nama, bidang tag akan dihasilkan dalam format__tag__:__topic_{i}__.{i}menunjukkan nomor urut kelompok penangkapan tanpa nama.CatatanJika ekspresi reguler mencakup beberapa kelompok penangkapan, bidang
__topic__tidak dihasilkan.Sebagai contoh, jalur file log adalah
/data/logs/userA/serviceA/service.log. Anda dapat menentukan salah satu dari ekspresi reguler berikut untuk mengekstrak beberapa nilai dari jalur file log.Contoh 1: Ekstrak beberapa nilai menggunakan kelompok penangkapan tanpa nama dalam ekspresi reguler.
Ekspresi reguler
\/data\/logs\/(.*?)\/(.*?)\/service.logHasil ekstraksi
__tag__:__topic_1__: userA __tag__:__topic_2__: serviceA
Contoh 2: Ekstrak beberapa nilai menggunakan kelompok penangkapan bernama dalam ekspresi reguler.
Ekspresi reguler
\/data\/logs\/(?P<user>.*?)\/(?P<service>.*?)\/service.logHasil ekstraksi
__tag__:user: userA __tag__:service: serviceA
Kustom
Anda dapat menentukan
customized:// + Nama topik kustomuntuk menggunakan topik log statis.PentingTopik log kustom hanya didukung oleh Logtail V0.16.21 dan versi lebih baru. Dalam hal ini, Logtail harus diinstal pada server Linux.
Pencarian Log Berdasarkan Topik Log
Di halaman kueri dan analisis penyimpanan log, tentukan __topic__: userA dan __tag__:__topic_1__: userA untuk menanyakan log berdasarkan topik log. Untuk informasi lebih lanjut, lihat Sintaks pencarian dan fungsi.