Definisikan konfigurasi pengumpulan log sebagai CRD Kubernetes untuk kontrol versi, penerapan berbasis lingkungan, dan rilis otomatis dengan kubectl atau pipeline CI/CD di seluruh kluster ACK dan kluster yang dikelola sendiri. LoongCollector memuat ulang perubahan konfigurasi secara langsung tanpa restart.
CRD AliyunLogConfig lama sudah tidak digunakan lagi. Gunakan AliyunPipelineConfig sebagai gantinya. Lihat Jenis CRD untuk perbandingan.Konfigurasi pengumpulan berbasis CRD hanya dapat dimodifikasi dengan memperbarui CRD tersebut. Perubahan yang dilakukan di konsol SLS tidak disinkronkan dan tidak berlaku.
Berlaku untuk
Lingkungan operasional
Kluster ACK (edisi managed dan dedicated) serta kluster Kubernetes yang dikelola sendiri.
Versi Kubernetes harus 1.16.0 atau lebih baru dan mendukung
Mount propagation: HostToContainer.runtime kontainer (hanya Docker dan Containerd)
Docker:
Memerlukan akses ke docker.sock.
Pengumpulan output standar hanya mendukung driver log JSON-file.
Hanya driver penyimpanan overlay dan overlay2 yang didukung. Untuk jenis driver penyimpanan lainnya, Anda harus memasang direktori log secara manual.
Containerd: Memerlukan akses ke containerd.sock.
Kebutuhan sumber daya: LoongCollector (Logtail) berjalan dengan kelas prioritas 'system-cluster-critical'. Jangan lakukan penerapan jika kluster tidak memiliki sumber daya yang cukup — hal ini dapat menyebabkan Pod di-eject dari node.
CPU: Cadangkan minimal 0,1 Core.
Memory: Cadangkan minimal 150 MB untuk komponen pengumpulan dan minimal 100 MB untuk komponen controller.
Penggunaan aktual tergantung pada laju pengumpulan, direktori dan file yang dipantau, serta kemacetan pengiriman. Pastikan penggunaan tetap di bawah 80% dari batas yang dikonfigurasi.
Kebutuhan izin: Untuk melakukan penerapan, Akun Alibaba Cloud atau Pengguna RAM harus memiliki izin
AliyunLogFullAccess.Untuk membuat kebijakan kustom, lihat kebijakan sistem AliyunCSManagedLogRolePolicy. Salin izin dari kebijakan ini dan berikan kepada Pengguna RAM atau role target untuk mengonfigurasi izin detail halus.
Alur kerja konfigurasi pengumpulan
Instal LoongCollector: Terapkan LoongCollector sebagai DaemonSet untuk menjalankan kontainer pengumpulan di setiap node kluster. Konfigurasi ini memusatkan pengumpulan log untuk semua kontainer di node tersebut.
Create a LogStore: LogStore adalah unit penyimpanan untuk data log. Beberapa LogStore dapat dibuat dalam satu Project.
Buat file YAML konfigurasi pengumpulan: Gunakan kubectl untuk terhubung ke kluster. Anda dapat membuat file konfigurasi pengumpulan dengan salah satu dari dua cara berikut:
Metode 1: Gunakan generator konfigurasi pengumpulan
Gunakan generator konfigurasi pengumpulan di konsol Layanan Log untuk mengonfigurasi parameter secara visual dan menghasilkan file YAML standar secara otomatis.
Metode 2: Tulis file YAML secara manual
Tulis file YAML secara manual berdasarkan contoh dalam dokumen ini. Bangun secara bertahap: mulai dari konfigurasi minimal, tambahkan logika pemrosesan, lalu aktifkan fitur lanjutan.
Untuk skenario kompleks yang tidak tercakup dalam dokumen ini atau field yang memerlukan kustomisasi mendalam, lihat Referensi parameter AliyunPipelineConfig untuk daftar lengkap field, aturan nilai, dan detail kemampuan plugin.
Konfigurasi pengumpulan lengkap biasanya mencakup bagian-bagian berikut:
Konfigurasi minimal (Wajib): Konfigurasi ini membangun pipa data dari kluster ke Layanan Log dan terdiri dari dua bagian:
Input (
inputs): Menentukan sumber log. Untuk log kontainer, sumbernya mencakup dua jenis berikut. Untuk mengumpulkan jenis log lain, seperti hasil kueri MySQL, lihat Plugin input.Output standar kontainer (stdout dan stderr): Log yang dicetak aplikasi kontainer ke konsol.
File log teks: File log yang ditulis ke jalur tertentu di dalam kontainer.
Output (
flushers): Menentukan tujuan log. Log yang dikumpulkan dikirim ke LogStore yang ditentukan.Jika Project atau LogStore tujuan belum ada, sistem akan membuatnya secara otomatis. Anda juga dapat membuat Project dan LogStore secara manual terlebih dahulu.
Konfigurasi pemrosesan umum (Opsional): Tentukan field
processorsuntuk melakukan penguraian terstruktur (seperti penguraian ekspresi reguler atau delimiter), penyamaran data, atau penyaringan pada log mentah.Dokumen ini hanya menjelaskan plugin pemrosesan native yang mencakup skenario pemrosesan log umum. Untuk fitur tambahan, lihat Plugin pemrosesan lanjutan.
Konfigurasi lanjutan lainnya (Opsional): Mengaktifkan fitur lanjutan seperti pengumpulan log multi-baris dan pengayaan tag log untuk memenuhi kebutuhan pengumpulan yang lebih spesifik.
Contoh struktur:
apiVersion: telemetry.alibabacloud.com/v1alpha1 # Gunakan nilai default. Jangan ubah. kind: ClusterAliyunPipelineConfig # Gunakan nilai default. Jangan ubah. metadata: name: test-config # Tetapkan nama resource, yang harus unik dalam kluster Kubernetes saat ini. spec: project: # Tetapkan nama Project tujuan. name: k8s-your-project config: # Tetapkan konfigurasi pengumpulan Logtail. inputs: # Tetapkan plugin input untuk konfigurasi pengumpulan Logtail. ... processors: # Tetapkan plugin pemrosesan untuk konfigurasi pengumpulan Logtail. ... flushers: # Tetapkan plugin output untuk konfigurasi pengumpulan Logtail. ...Terapkan konfigurasi
kubectl apply -f <your_yaml>
Instal LoongCollector (Logtail)
LoongCollector adalah agen pengumpulan log generasi berikutnya dari SLS, merupakan versi peningkatan dari Logtail. Keduanya tidak dapat berjalan bersamaan. Untuk menginstal Logtail sebagai gantinya, lihat Instal dan konfigurasikan Logtail.
Ikuti langkah-langkah berikut untuk instalasi dasar LoongCollector. Untuk parameter detail, lihat Instalasi dan konfigurasi. Jika LoongCollector atau Logtail sudah terinstal, lewati ke pembuatan logstore.
Kluster ACK
Anda dapat menginstal LoongCollector dari konsol Container Service for Kubernetes (ACK). Secara default, log dikirim ke Project Simple Log Service di bawah Akun Alibaba Cloud saat ini.
-
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
Di halaman Clusters, klik nama kluster target untuk membuka halaman detailnya.
Di panel navigasi sebelah kiri, klik Add-ons.
Di tab Logs and Monitoring, temukan loongcollector, lalu klik Install.
CatatanSaat membuat kluster, di halaman Component Configurations, pilih kotak centang Enable Log Service. Anda kemudian dapat memilih untuk Create Project atau Select Project.
Setelah instalasi selesai, Simple Log Service secara otomatis membuat resource terkait di wilayah kluster ACK Anda. Lihat resource tersebut di Konsol Simple Log Service.
Jenis resource
Nama resource
Deskripsi
Project
k8s-log-${cluster_id}Mengisolasi log dari layanan berbeda.
Untuk membuat Project guna manajemen resource log yang lebih fleksibel, lihat Buat Project.
machine group
k8s-group-${cluster_id}Sekelompok node pengumpulan log.
PentingLoongCollector tidak membuat logstore bernama config-operation-log. Jika logstore dengan nama tersebut sudah ada, LoongCollector berhenti menulis log ke dalamnya.
Kluster yang dikelola sendiri
Hubungkan ke kluster Kubernetes Anda. Kemudian, jalankan perintah yang sesuai untuk wilayah Anda guna mengunduh LoongCollector dan dependensinya:
Untuk wilayah di Tiongkok daratan:
wget https://aliyun-observability-release-cn-shanghai.oss-cn-shanghai.aliyuncs.com/loongcollector/k8s-custom-pkg/3.0.12/loongcollector-custom-k8s-package.tgz; tar xvf loongcollector-custom-k8s-package.tgz; chmod 744 ./loongcollector-custom-k8s-package/k8s-custom-install.shUntuk wilayah di luar Tiongkok daratan:
wget https://aliyun-observability-release-ap-southeast-1.oss-ap-southeast-1.aliyuncs.com/loongcollector/k8s-custom-pkg/3.0.12/loongcollector-custom-k8s-package.tgz; tar xvf loongcollector-custom-k8s-package.tgz; chmod 744 ./loongcollector-custom-k8s-package/k8s-custom-install.shBuka direktori
loongcollector-custom-k8s-packagedan modifikasi file konfigurasi./loongcollector/values.yaml.# ===================== Parameter wajib ===================== # Project tempat log dikirim. Contoh: k8s-log-custom-sd89ehdq. projectName: "" # Wilayah Project. Contoh: cn-shanghai. region: "" # UID Akun Alibaba Cloud yang memiliki Project. Masukkan nilai dalam tanda kutip. Contoh: "123456789" aliUid: "" # Jenis jaringan. Nilai valid: Internet (jaringan publik) dan Intranet (jaringan internal). Default: Internet. net: Internet # ID AccessKey dan secret untuk Akun Alibaba Cloud atau Pengguna RAM yang memiliki kebijakan AliyunLogFullAccess. accessKeyID: "" accessKeySecret: "" # ID kluster kustom. ID hanya boleh berisi huruf besar, huruf kecil, angka, dan tanda hubung (-). clusterID: ""Di direktori
loongcollector-custom-k8s-package, jalankan perintah berikut untuk menginstal LoongCollector dan dependensinya:bash k8s-custom-install.sh installSetelah instalasi selesai, periksa status komponen.
Jika pod gagal dimulai, verifikasi konfigurasi values.yaml dan pastikan image yang diperlukan telah ditarik.
# Periksa status pod kubectl get po -n kube-system | grep loongcollector-dsSimple Log Service juga secara otomatis membuat resource berikut. Lihat resource tersebut di Konsol Simple Log Service.
Jenis resource
Nama resource
Deskripsi
Project
Nilai
projectNameyang Anda tentukan di file values.yamlMengisolasi log dari layanan berbeda.
machine group
k8s-group-${cluster_id}Sekelompok node pengumpulan log.
PentingLoongCollector tidak membuat logstore bernama config-operation-log. Jika logstore dengan nama tersebut sudah ada, LoongCollector berhenti menulis log ke dalamnya.
Buat Logstore
Jika Anda sudah membuat logstore, lewati langkah ini dan lanjutkan ke konfigurasi pengumpulan.
Masuk ke Konsol Layanan Log dan klik project target.
Di panel navigasi sebelah kiri, pilih
lalu klik +.Di halaman Buat Logstore, konfigurasikan parameter inti berikut:
Logstore Name: Masukkan nama yang unik dalam project. Nama ini tidak dapat diubah setelah dibuat.
Logstore Type: Pilih Standard atau Query berdasarkan spesifikasinya.
Billing Mode:
Pay-by-feature: Anda ditagih secara terpisah untuk setiap resource, seperti penyimpanan, pengindeksan, dan operasi baca/tulis. Cocok untuk kasus penggunaan skala kecil atau ketika penggunaan fitur tidak pasti.
Pay-by-ingested-data: Anda hanya ditagih berdasarkan jumlah data mentah yang diingest. Mode ini menyediakan periode penyimpanan gratis selama 30 hari dan fitur gratis seperti transformasi dan pengiriman data. Model biaya sederhana ini ideal untuk kasus di mana periode penyimpanan mendekati 30 hari atau pipa pemrosesan data kompleks.
Data Retention Period: Tetapkan jumlah hari untuk menyimpan log. Nilainya berkisar antara 1 hingga 3650 hari. Nilai 3650 berarti penyimpanan permanen. Default-nya adalah 30 hari.
Biarkan pengaturan lainnya pada nilai default lalu klik OK. Kelola logstore.
Konfigurasi minimal
Di <a baseurl="t3010624_v1_5_0.xdita" data-node="6128095" data-root="16376" data-tag="xref" href="t3145878.xdita#c801b53fd5xu4" id="2ba88d5208b3d">spec.config</a>, Anda mengonfigurasi plugin input dan output untuk mendefinisikan sumber dan tujuan log.
Output standar kontainer
Tujuan: Mengumpulkan log output standar kontainer (stdout/stderr) yang dicetak langsung ke konsol.
Menentukan sumber log. Saat ini, Anda hanya dapat mengonfigurasi satu plugin input.
| Contoh |
Mengirim log yang dikumpulkan ke Logstore tertentu dalam Project. Anda dapat mengonfigurasi hingga lima plugin output.
|
File teks kontainer
Tujuan: Mengumpulkan log yang ditulis ke jalur file tertentu di dalam kontainer, seperti access.log atau app.log.
Menentukan sumber log. Saat ini, Anda hanya dapat mengonfigurasi satu plugin input.
| Contoh |
Mengirim log yang dikumpulkan ke Logstore tertentu dalam Project. Anda dapat mengonfigurasi hingga lima plugin output.
|
Konfigurasi umum
Setelah menyelesaikan konfigurasi minimal, tambahkan plugin processor untuk mengurai, menyamarkan, atau menyaring log mentah.
Konfigurasi Inti: Untuk mengonfigurasi plugin pemrosesan, tambahkan processors ke <a baseurl="t3010624_v1_5_0.xdita" data-node="6128095" data-root="16376" data-tag="xref" href="t3145878.xdita#c801b53fd5xu4" id="49324d8ed176z">spec.config</a>, yang memungkinkan Anda untuk mengaktifkan beberapa plugin secara bersamaan.
Topik ini hanya mencakup plugin pemrosesan native yang menangani kasus penggunaan pemrosesan log umum. Untuk fitur tambahan, lihat plugin pemrosesan lanjutan.
Untuk Logtail 2.0+ dan LoongCollector, ikuti panduan pengurutan plugin berikut:
Utamakan plugin native.
Jika plugin native tidak memenuhi kebutuhan Anda, konfigurasikan plugin ekstensi untuk dijalankan setelahnya.
Plugin native hanya dapat dijalankan sebelum plugin ekstensi.
Konfigurasi terstruktur
Penguraian regex
Mengekstraksi field log menggunakan ekspresi reguler dan mengurai log menjadi pasangan kunci-nilai.
Parameter | Contoh |
Type Diperbaiki menjadi | |
SourceKey Nama field sumber. | |
Regex Ekspresi reguler untuk mengurai log. | |
Keys Daftar kunci untuk field yang diekstraksi. | |
KeepingSourceWhenParseFail Apakah mempertahankan field sumber saat penguraian gagal. Default: | |
KeepingSourceWhenParseSucceed Apakah mempertahankan field sumber saat penguraian berhasil. Default: | |
RenamedSourceKey Nama baru untuk field sumber jika dipertahankan. Jika dihilangkan, field sumber tidak diganti namanya. |
Penguraian delimiter
Mengurai log menjadi pasangan kunci-nilai menggunakan delimiter karakter tunggal atau multi-karakter.
Parameter | Contoh |
Type Diperbaiki menjadi | |
SourceKey Nama field sumber. | |
Separator Delimiter field. Misalnya, file CSV menggunakan koma (,). | |
Keys Daftar kunci untuk field yang diekstraksi. | |
Quote Karakter quote yang digunakan untuk membungkus field yang berisi karakter khusus, seperti delimiter. | |
AllowingShortenedFields Apakah mengizinkan jumlah field yang diekstraksi lebih sedikit daripada Keys. Default: | |
OverflowedFieldsTreatment Perilaku saat jumlah field yang diekstraksi lebih banyak daripada Keys. Default:
| |
KeepingSourceWhenParseFail Apakah mempertahankan field sumber jika penguraian gagal. Default: | |
KeepingSourceWhenParseSucceed Apakah mempertahankan field sumber saat penguraian berhasil. Default: | |
RenamedSourceKey Nama baru untuk field sumber jika dipertahankan. Jika dihilangkan, field sumber tidak diganti namanya. |
Penguraian JSON standar
Mengurai objek JSON dari field log menjadi pasangan kunci-nilai.
Parameter | Contoh |
Type Tetap ke | |
SourceKey Nama field sumber. | |
KeepingSourceWhenParseFail Apakah mempertahankan field sumber saat penguraian gagal. Default: | |
KeepingSourceWhenParseSucceed Apakah mempertahankan field sumber saat penguraian berhasil. Default: | |
RenamedSourceKey Nama baru untuk field sumber jika dipertahankan. Jika dihilangkan, field sumber tidak diganti namanya. |
Nama parameter dalam YAML CRD menggunakan camelCase, seperti RenamedSourceKey. Nama dalam snake_case, seperti renamed_source_key, tidak valid.
Penguraian JSON bersarang
Meratakan objek JSON bersarang menjadi pasangan kunci-nilai dan memungkinkan Anda menentukan kedalaman ekspansi.
Parameter | Contoh |
Type Tetap ke | |
SourceKey Nama field sumber. | |
ExpandDepth Kedalaman ekspansi maksimum untuk objek JSON bersarang. Default: 0.
| |
ExpandConnector Konektor yang digunakan antara kunci saat meratakan objek JSON bersarang. Default: garis bawah (_). | |
Prefix Awalan yang ditambahkan ke semua nama field yang diekspansi. | |
IgnoreFirstConnector Apakah menghilangkan konektor sebelum field level teratas. Default: | |
ExpandArray Apakah mengembangkan tipe array. Default:
Catatan Parameter ini didukung di Logtail 1.8.0 dan versi lebih baru. | |
KeepSource Apakah mempertahankan field asli dalam log yang diurai. Default:
| |
NoKeyError Apakah melaporkan error jika field sumber yang ditentukan tidak ditemukan. Default:
| |
UseSourceKeyAsPrefix Jika diatur ke true, menggunakan nama field sumber sebagai awalan untuk semua nama field yang diekspansi. | |
KeepSourceIfParseError Apakah mempertahankan log mentah saat penguraian gagal. Default:
|
Penguraian array JSON
Gunakan fungsi json_extract untuk mengekstraksi objek JSON dari array JSON. Fungsi JSON.
Parameter | Contoh |
Type Jenis plugin. Jenis plugin SPL adalah | |
Script Skrip SPL yang digunakan untuk mengekstraksi elemen dari array JSON di field content. | |
TimeoutMilliSeconds Batas waktu eksekusi skrip dalam milidetik. Nilainya harus antara 0 hingga 10.000. Nilai default: 1.000. |
Penguraian log NGINX
Mengurai log NGINX menjadi pasangan kunci-nilai berdasarkan definisi log_format Anda. Jika format default tidak memenuhi kebutuhan Anda, Anda dapat menggunakan format kustom.
Parameter | Contoh |
Type Tetap ke | |
SourceKey Nama field sumber. | |
Regex Ekspresi reguler untuk mengurai log NGINX. | |
Keys Daftar kunci untuk field yang diekstraksi. | |
Extra
| |
KeepingSourceWhenParseFail Apakah mempertahankan field asli jika penguraian gagal. Default: | |
KeepingSourceWhenParseSucceed Apakah mempertahankan field asli saat penguraian berhasil. Default: | |
RenamedSourceKey Nama baru untuk field sumber jika dipertahankan. Jika dihilangkan, field sumber tidak diganti namanya. |
Penguraian log Apache
Mengurai log Apache menjadi pasangan kunci-nilai berdasarkan format yang ditentukan di file konfigurasi Apache Anda.
Parameter | Contoh |
Type Tetap ke | |
SourceKey Nama field sumber. | |
Regex Ekspresi reguler untuk mengurai log Apache. | |
Keys Daftar kunci untuk field yang diekstraksi. | |
Extra
| |
KeepingSourceWhenParseFail Apakah mempertahankan field asli jika penguraian gagal. Default: | |
KeepingSourceWhenParseSucceed Apakah mempertahankan field asli saat penguraian berhasil. Default: | |
RenamedSourceKey Nama baru untuk field sumber jika dipertahankan. Jika dihilangkan, field sumber tidak diganti namanya. |
Penyamaran data
Gunakan plugin processor_desensitize_native untuk menyamarkan data sensitif dalam log Anda.
Parameter | Contoh |
Type Atur ke | |
SourceKey Nama field sumber. | |
Method Metode penyamaran. Nilai yang didukung:
| |
ReplacingString String konstan yang mengganti data sensitif. Parameter ini wajib saat | |
ContentPatternBeforeReplacedString Ekspresi reguler untuk konten yang mendahului data sensitif. | |
ReplacedContentPattern Ekspresi reguler yang mencocokkan data sensitif. | |
ReplacingAll Apakah mengganti semua kecocokan. Default: |
Penyaringan konten
Konfigurasikan plugin processor_filter_regex_native untuk mencocokkan nilai field log terhadap ekspresi reguler dan hanya mempertahankan log yang cocok.
Parameter | Contoh |
Type Jenis plugin. Nilai ini harus | |
FilterRegex Daftar ekspresi reguler untuk mencocokkan nilai field log. | |
FilterKey Daftar nama field log untuk menerapkan pola FilterRegex. |
Penguraian waktu
Urai field waktu dalam log dan gunakan hasilnya sebagai field __time__ log.
Field utama | Contoh |
Type Jenis plugin. Atur ke | |
SourceKey Nama field sumber. | |
SourceFormat Format waktu. Ini harus persis sesuai dengan format waktu dalam log. | |
SourceTimezone Zona waktu timestamp sumber. Default: zona waktu mesin yang menjalankan LoongCollector. Format:
|
Konfigurasi lanjutan
Setelah menyelesaikan konfigurasi minimal, gunakan pengaturan lanjutan ini untuk pengumpulan yang lebih detail:
Konfigurasikan pengumpulan log multi-baris: Aktifkan mode multi-baris dengan regex pola awal untuk mengumpulkan entri yang mencakup beberapa baris (seperti stack trace) sebagai satu catatan log.
Konfigurasikan jenis topik log: Tetapkan topik ke aliran log untuk memudahkan pengorganisasian dan pengambilan.
Tentukan kontainer untuk pengumpulan (penyaringan dan daftar hitam): Gunakan daftar putih dan daftar hitam untuk mengumpulkan log hanya dari kontainer dan jalur tertentu.
Perkaya log dengan tag: Tambahkan metadata dari variabel lingkungan dan label pod ke log Anda sebagai tag.
Konfigurasikan pengumpulan log multi-baris
Secara default, SLS membagi log baris per baris, memecah entri multi-baris seperti stack trace menjadi catatan terpisah.
Aktifkan mode multi-baris dan konfigurasikan regex pola awal untuk mengelompokkan entri multi-baris menjadi satu catatan log.
Konfigurasi utama: Tambahkan parameter Multiline ke konfigurasi <a baseurl="t3010624_v1_5_0.xdita" data-node="6128095" data-root="16376" data-tag="xref" href="t3145878.xdita#c801b53fd5xu4" id="f3ede8f0e8rnz">spec.config.inputs</a>.
Detail field | Contoh |
Multiline Mengaktifkan pengumpulan log multi-baris.
| |
Jenis topik log
Konfigurasi utama: Tambahkan parameter global ke <a baseurl="t3010624_v1_5_0.xdita" data-node="6128095" data-root="16376" data-tag="xref" href="t3145878.xdita#c801b53fd5xu4" id="bd8af01817orq">spec.config</a> untuk mengatur topik log.
Detail field | Contoh |
TopicType Jenis topik. Nilai valid:
| Topik kelompok mesinEkstraksi jalur fileKustom |
TopicFormat Format topik. Parameter ini wajib saat |
Penyaringan dan daftar hitam kontainer
Penyaringan
Kumpulkan log hanya dari kontainer yang memenuhi kondisi tertentu. Beberapa kondisi digabungkan dengan logika AND. Kondisi kosong diabaikan. Semua kondisi mendukung ekspresi reguler.
Konfigurasi utama: Konfigurasikan parameter penyaringan kontainer di bawah ContainerFilters pada bagian <a baseurl="t3010624_v1_5_0.xdita" data-node="6128095" data-root="16376" data-tag="xref" href="t3145878.xdita#c801b53fd5xu4" id="aa519613f0gdu">spec.config.inputs</a>.
Rincian Kolom | Contoh |
ContainerFilters Pengaturan penyaringan kontainer.
Semua pencocokan ekspresi reguler berdasarkan mesin RE2 bahasa Go, yang memiliki batasan tertentu dibandingkan mesin seperti PCRE. Tulis ekspresi reguler Anda sesuai panduan di Lampiran: Batasan ekspresi reguler untuk penyaringan kontainer. | |
Daftar hitam
Kecualikan file yang memenuhi kriteria tertentu. Untuk melakukan ini, tambahkan parameter berikut di bawah config.inputs dalam konfigurasi YAML Anda sesuai kebutuhan:
Detail field | Contoh |
ExcludeFilePaths Daftar hitam jalur file. Mengecualikan file yang cocok dengan jalur mutlak tertentu. Jalur dapat mencakup karakter wildcard | |
ExcludeFiles Daftar hitam nama file. Mengecualikan file dengan nama yang cocok. Nama dapat mencakup karakter wildcard | |
ExcludeDirs Daftar hitam direktori. Mengecualikan direktori berdasarkan jalur tertentu. Jalur harus mutlak dan dapat mencakup karakter wildcard |
Perkayaan log dengan tag
Konfigurasi utama: Di <a baseurl="t3010624_v1_5_0.xdita" data-node="6128095" data-root="16376" data-tag="xref" href="t3145878.xdita#c801b53fd5xu4" id="c7eb12a5deg0j">spec.config.inputs</a>, konfigurasikan ExternalEnvTag dan ExternalK8sLabelTag untuk memetakan variabel lingkungan kontainer dan label Pod ke tag log.
Detail field | Contoh |
ExternalEnvTag Memetakan nilai variabel lingkungan tertentu ke tag log. Formatnya adalah | |
ExternalK8sLabelTag Memetakan nilai label pod Kubernetes ke tag log. Formatnya adalah |
Contoh konfigurasi
Kasus penggunaan 1: Uraikan log akses Nginx
Konfigurasi ini mengurai log Nginx dan menyusun kontennya menjadi beberapa pasangan kunci-nilai berdasarkan definisi log_format.
Kasus penggunaan 2: Proses log multi-baris
Secara default, SLS memperlakukan setiap baris sebagai entri log terpisah, memecah log multi-baris seperti stack trace menjadi beberapa catatan.
Aktifkan mode multi-baris dengan regex pola awal untuk mengelompokkan semua baris log multi-baris menjadi satu entri.
FAQ
Mengelola distribusi multi-tujuan
Konfigurasi distribusi multi-tujuan dikaitkan dengan beberapa Logstore dan harus dikelola di halaman manajemen tingkat project:
Masuk ke Konsol Simple Log Service dan klik nama project target.
Di halaman project, di panel navigasi sebelah kiri, klik
.CatatanHalaman ini mencantumkan semua konfigurasi pengumpulan dalam project, termasuk konfigurasi sisa dari Logstore yang dihapus secara tidak sengaja.
Kirim log ACK ke project lintas akun
Instal LoongCollector (Logtail) secara manual di kluster ACK dan konfigurasikan dengan kredensial akun target untuk mengirim log ke project di akun Alibaba Cloud lain.
Kasus penggunaan: Kumpulkan log dari kluster ACK ke project di bawah akun terpisah untuk struktur organisasi, isolasi izin, atau pemantauan terpusat.
Prosedur: Prosedur ini menunjukkan cara menginstal LoongCollector secara manual. Untuk mempelajari cara menginstal Logtail, lihat Instal dan konfigurasikan Logtail.
Hubungkan ke kluster Kubernetes Anda. Kemudian, jalankan perintah yang sesuai untuk wilayah Anda guna mengunduh LoongCollector dan dependensinya:
Untuk wilayah di Tiongkok daratan:
wget https://aliyun-observability-release-cn-shanghai.oss-cn-shanghai.aliyuncs.com/loongcollector/k8s-custom-pkg/3.0.12/loongcollector-custom-k8s-package.tgz; tar xvf loongcollector-custom-k8s-package.tgz; chmod 744 ./loongcollector-custom-k8s-package/k8s-custom-install.shUntuk wilayah di luar Tiongkok daratan:
wget https://aliyun-observability-release-ap-southeast-1.oss-ap-southeast-1.aliyuncs.com/loongcollector/k8s-custom-pkg/3.0.12/loongcollector-custom-k8s-package.tgz; tar xvf loongcollector-custom-k8s-package.tgz; chmod 744 ./loongcollector-custom-k8s-package/k8s-custom-install.shBuka direktori
loongcollector-custom-k8s-packagedan modifikasi file konfigurasi./loongcollector/values.yaml.# ===================== Parameter wajib ===================== # Project tempat log dikirim. Contoh: k8s-log-custom-sd89ehdq. projectName: "" # Wilayah Project. Contoh: cn-shanghai. region: "" # UID Akun Alibaba Cloud yang memiliki Project. Masukkan nilai dalam tanda kutip. Contoh: "123456789" aliUid: "" # Jenis jaringan. Nilai valid: Internet (jaringan publik) dan Intranet (jaringan internal). Default: Internet. net: Internet # ID AccessKey dan secret untuk Akun Alibaba Cloud atau Pengguna RAM yang memiliki kebijakan AliyunLogFullAccess. accessKeyID: "" accessKeySecret: "" # ID kluster kustom. ID hanya boleh berisi huruf besar, huruf kecil, angka, dan tanda hubung (-). clusterID: ""Di direktori
loongcollector-custom-k8s-package, jalankan perintah berikut untuk menginstal LoongCollector dan dependensinya:bash k8s-custom-install.sh installSetelah instalasi selesai, periksa status komponen.
Jika pod gagal dimulai, verifikasi konfigurasi values.yaml dan pastikan image yang diperlukan telah ditarik.
# Periksa status pod kubectl get po -n kube-system | grep loongcollector-dsSimple Log Service juga secara otomatis membuat resource berikut. Lihat resource tersebut di Konsol Simple Log Service.
Jenis resource
Nama resource
Deskripsi
Project
Nilai
projectNameyang Anda tentukan di file values.yamlMengisolasi log dari layanan berbeda.
machine group
k8s-group-${cluster_id}Sekelompok node pengumpulan log.
PentingLoongCollector tidak membuat logstore bernama config-operation-log. Jika logstore dengan nama tersebut sudah ada, LoongCollector berhenti menulis log ke dalamnya.
Pengumpulan ganda untuk satu sumber
Secara default, SLS membatasi setiap sumber log hanya untuk satu konfigurasi pengumpulan guna mencegah duplikasi:
File log teks hanya dapat cocok dengan satu konfigurasi pengumpulan Logtail.
Output standar kontainer (stdout) hanya dapat cocok dengan satu konfigurasi pengumpulan output standar.
Masuk ke Konsol Simple Log Service dan buka project target.
Di panel navigasi sebelah kiri, pilih
Logstores dan temukan logstore target.Klik ikon
di sebelah nama logstore untuk memperluasnya.Klik Logtail Configuration. Di daftar konfigurasi, temukan konfigurasi Logtail target lalu klik Manage Logtail Configuration di kolom Actions.
Di halaman Konfigurasi Logtail, klik Edit dan gulir ke bagian Input Configurations:
Untuk mengumpulkan log file teks, aktifkan Allow File to Be Collected for Multiple Times.
Untuk mengumpulkan output standar kontainer, aktifkan Allow Collection by Different Logtail Configurations.
Lampiran: Batasan regex (penyaringan kontainer)
Ekspresi reguler untuk penyaringan kontainer menggunakan mesin RE2 Go, yang memiliki batasan sintaks dibandingkan PCRE:
1. Perbedaan sintaks grup bernama
Go menggunakan sintaks (?P<name>...) untuk grup bernama. Tidak mendukung sintaks (?<name>...) yang digunakan di PCRE.
Contoh benar:
(?P<year>\d{4})Sintaks salah:
(?<year>\d{4})
2. Fitur ekspresi reguler yang tidak didukung
RE2 tidak mendukung fitur ekspresi reguler umum berikut yang kompleks. Hindari penggunaannya:
Assertion:
(?=...),(?!...),(?<=...),(?<!...)Ekspresi kondisional:
(?(condition)true|false)Pencocokan rekursif:
(?R),(?0)Referensi subprogram:
(?&name),(?P>name)Grup atomik:
(?>...)
3. Rekomendasi
Saat men-debug regex dengan alat seperti Regex101, pilih mode Golang (RE2). Sintaks yang tidak didukung mencegah plugin mengurai atau mencocokkan dengan benar.