All Products
Search
Document Center

Simple Log Service:AliyunPipelineConfig parameters

Last Updated:Mar 26, 2026

Untuk mengumpulkan log menggunakan ClusterAliyunPipelineConfig, definisikan aturan pengumpulan dalam file YAML terstruktur dan kirimkan file tersebut menggunakan kubectl. Topik ini mencakup struktur file YAML dan definisi field-nya.

Penting

Custom Resource (CR) merupakan sumber kebenaran untuk konfigurasi pengumpulan yang dibuat menggunakan CustomResourceDefinition (CRD). Jangan ubah konfigurasi ini di Konsol Simple Log Service. Setiap perubahan yang dilakukan di konsol akan ditimpa oleh CR, yang dapat menyebabkan error format data atau kehilangan data.

Cara kerja

  1. Buat CR: Definisikan aturan pengumpulan dalam file YAML ClusterAliyunPipelineConfig, lalu kirimkan file tersebut menggunakan kubectl.

  2. Controller memantau perubahan: loongcollector-operator terus-menerus memantau CR di kluster untuk mendeteksi perubahan.

  3. Sinkronisasi konfigurasi: Saat terdeteksi adanya perubahan pada CR, operator mengonversi CR tersebut menjadi konfigurasi spesifik dan mengirimkannya ke proyek yang ditentukan.

  4. Collector menarik konfigurasi terbaru: loongcollector-ds secara berkala mengirim heartbeat ke Simple Log Service untuk menarik konfigurasi pengumpulan terbaru, lalu melakukan hot-reload.

  5. Mulai pengumpulan dan pelaporan: loongcollector-ds mengumpulkan log berdasarkan konfigurasi terbaru dan mengirimkan log tersebut ke SLS menggunakan endpoint yang dikonfigurasi.

Field dasar

Semua konfigurasi harus dimulai dengan mendefinisikan versi API dan jenis resource sebagai berikut:

apiVersion: telemetry.alibabacloud.com/v1alpha1
kind: ClusterAliyunPipelineConfig

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. Nama ini harus unik dalam kluster Kubernetes saat ini.
spec:
  project:                                      # Tetapkan nama proyek tujuan.
    name: k8s-your-project                      
  config:                                       # Tetapkan konfigurasi pengumpulan Logtail.
    inputs:                                     # Tetapkan plugin input untuk konfigurasi pengumpulan Logtail.
      ...
    flushers:                                   # Tetapkan plugin output untuk konfigurasi pengumpulan Logtail.
      ...

Parameter inti

metadata.name

Nama konfigurasi pengumpulan. Parameter ini wajib diisi. Nama harus unik dalam proyek dan tidak dapat diubah setelah pembuatan.

Konvensi penamaan:

  • Hanya boleh berisi huruf kecil, angka, tanda hubung (-), dan garis bawah (_).

  • Harus dimulai dan diakhiri dengan huruf kecil atau angka.

  • Panjangnya harus antara 2 hingga 128 karakter.

Contoh:

metadata:
  name: nginx-access-log

spec.project

Menentukan proyek target.

Catatan

Field proyek tidak dapat diubah setelah CR dibuat. Untuk beralih ke proyek berbeda, Anda harus membuat CR baru.

Parameter

Jenis data

Wajib

Deskripsi

name

string

Ya

Nama proyek tujuan. Jika proyek belum ada, proyek tersebut akan dibuat secara otomatis.

description

string

Tidak

Deskripsi proyek. Parameter ini hanya berlaku saat proyek dibuat.

endpoint

string

Tidak

Endpoint wilayah tempat proyek berada. Nilai default adalah wilayah kluster.

  • Parameter ini hanya mengontrol wilayah tempat konfigurasi pengumpulan dibuat. Tidak mengontrol tujuan pengiriman data oleh collector.

  • Untuk pengumpulan cross-region, konfigurasikan config_server_address dan data_server_list.

uid

string

Tidak

UID Akun Alibaba Cloud yang memiliki proyek tujuan. Nilai default adalah UID Akun Alibaba Cloud tempat kluster saat ini berada.

  • Parameter ini hanya mengontrol akun tempat konfigurasi pengumpulan dibuat.

  • Untuk mengumpulkan log lintas akun, konfigurasikan variabel lingkungan untuk komponen alibaba-log-controller:

    ALICLOUD_LOG_ACCOUNT_INFOS={"<uid>":{"accessKeyID":"<your_access_key_id>","accessKeySecret":"<your_access_key_secret>"}}.

spec.config

Menentukan isi utama konfigurasi pengumpulan, yang mendefinisikan plugin input, pemrosesan, dan output.

Sub-field

Jenis

Wajib

Deskripsi

sample

string

Tidak

Contoh log. Anda dapat memberikan beberapa log. Panjang total tidak boleh melebihi 1.500 byte.

global

object

Tidak

Konfigurasi global.

inputs

List of objects

Ya

Daftar plugin input. Hanya satu plugin input yang diperbolehkan.

processors

List of objects

Tidak

Daftar plugin pemrosesan:

flushers

List of objects

Ya

Daftar plugin output. Saat ini, hanya satu plugin flusher_sls yang diperbolehkan.

spec.LogStores

Opsional. Mendeklarasikan penyimpanan log yang ingin Anda buat secara otomatis. Perhatikan hal berikut:

  • Hanya berlaku saat pembuatan: Semua parameter kecuali name hanya berlaku saat penyimpanan log dibuat. Jika penyimpanan log sudah ada, sistem akan mengabaikan pengaturan ini dan tidak mengubah properti yang sudah ada.

  • Tidak menentukan tujuan data: Daftar ini tidak menentukan penyimpanan log tujuan untuk log. Tujuan aktual ditentukan oleh plugin output di config.flushers, seperti flusher_sls.

  • Konfigurasi opsional: Jika penyimpanan log tujuan sudah ada, Anda tidak perlu memasukkannya dalam konfigurasi ini.

  • Hanya mendukung operasi tambah dan hapus: Anda dapat menambahkan penyimpanan log baru ke daftar atau menghapus item dari daftar tersebut. Namun, Anda tidak dapat mengubah konfigurasi ini untuk mengubah properti penyimpanan log yang sudah ada, seperti TTL atau jumlah shard. Untuk mengubah properti tersebut, Anda harus menggunakan konsol atau operasi API.

Parameter

Jenis data

Wajib

Deskripsi

name

string

Ya

Nama penyimpanan log yang akan dibuat.

queryMode

string

Tidak

Spesifikasi penyimpanan log. Nilai default adalah standard. Nilai yang valid:

  • query: Query Logstore.

  • standard: Standard Logstore.

ttl

int

Tidak

Periode retensi data dalam hari. Nilai yang valid: 1 hingga 3650. Nilai default adalah 30. Nilai 3650 menunjukkan penyimpanan permanen.

hotTtl

int

Tidak

Periode penyimpanan data hot dalam hari. Nilai default adalah 0. Nilainya harus kurang dari ttl dan lebih besar atau sama dengan 7.

infrequentAccessTTL

int

Tidak

Periode penyimpanan akses jarang untuk LogStore target, dalam hari. Nilai default adalah 0. Nilainya harus lebih besar atau sama dengan 30 dan kurang dari ttl, serta parameter hotTtl harus ditentukan. Jika hotTtl + infrequentAccessTTL tidak sama dengan ttl, kondisi berikut juga harus dipenuhi: ttl-(hotTtl+infrequentAccessTTL)>=60. Parameter ini hanya berlaku jika versi komponen loongcollector-operator adalah 1.0.6 atau lebih baru.

shardCount

int

Tidak

Jumlah shard. Nilai default adalah 2. Nilai yang valid: 1 hingga 100.

maxSplitShard

int

Tidak

Jumlah maksimum shard yang dapat dipisah secara otomatis. Nilai default adalah 64. Nilai yang valid: 1 hingga 256.

autoSplit

bool

Tidak

Menentukan apakah pemisahan shard otomatis diaktifkan. Nilai default adalah true.

telemetryType

string

Tidak

Jenis data observabel. Nilai default adalah None. Nilai yang valid:

  • None: Data log.

  • Metrics: Data time series.

appendMeta

bool

Tidak

Menentukan apakah alamat IP publik dan waktu penerimaan log dicatat. Nilai default adalah true.

  • true: Mengaktifkan fitur pencatatan alamat IP publik dan waktu penerimaan log. Saat diaktifkan, Simple Log Service secara otomatis menambahkan alamat IP publik perangkat sumber dan waktu kedatangan log di server ke bidang tag log.

  • false: Menonaktifkan fitur pencatatan alamat IP publik dan waktu penerimaan log.

enableTracking

bool

Tidak

Menentukan apakah fitur pelacakan web diaktifkan. Nilai default adalah false.

encryptConf

object

Tidak

Struktur data konfigurasi enkripsi. Berisi parameter enable, encrypt_type, dan user_cmk_info. Parameter ini kosong secara default.

meteringMode

string

Tidak

Mode penagihan. Untuk informasi selengkapnya, lihat Mengelola penyimpanan log. Field ini kosong secara default. Nilai yang valid:

  • ChargeByFunction: Pay-by-feature

  • ChargeByDataIngest: Pay-by-ingested-data

Catatan

Penyimpanan log dengan queryMode bernilai query hanya mendukung mode penagihan pay-by-feature.

Jika pay-by-ingested-data tidak diaktifkan untuk akun Anda, Anda tidak dapat mengatur parameter ini ke ChargeByDataIngest.

index

object

Tidak

Konfigurasi indeks. Parameter ini hanya berlaku saat LogStore dibuat. Untuk formatnya, lihat index. Fitur ini memerlukan versi loongcollector-operator 1.0.6 atau lebih baru.

spec.machineGroups

Menentukan kelompok mesin yang dapat menggunakan konfigurasi pengumpulan ini.

  • Perilaku default: Saat LoongCollector diinstal, sistem secara otomatis membuat kelompok mesin bernama k8s-group-${clusterId}. Jika Anda tidak secara eksplisit menentukan parameter machineGroups, konfigurasi pengumpulan ini secara default dikaitkan dengan kelompok mesin tersebut.

  • Mekanisme sinkronisasi: loongcollector-operator memastikan bahwa kelompok mesin yang dikaitkan dengan konfigurasi pengumpulan secara ketat sesuai dengan daftar yang ditentukan di machineGroups. Sistem secara otomatis memutus asosiasi kelompok mesin apa pun yang tidak ada dalam daftar ini.

  • Dukungan pembuatan otomatis: Jika kelompok mesin yang ditentukan belum ada, sistem secara otomatis membuat kelompok mesin berbasis identifier dengan nama yang sama dan mengaitkannya dengan konfigurasi pengumpulan saat ini.

Parameter

Jenis data

Wajib

Deskripsi

name

string

Tidak

Nama kelompok mesin yang akan dikaitkan.

spec.enableUpgradeOverride

Opsional. Menentukan apakah sistem dapat menimpa konfigurasi sebelumnya. Gunakan parameter ini untuk menyelesaikan konflik antara versi berbeda dari konfigurasi pengumpulan. Nilai default adalah false.

  • true: loongcollector-operator menimpa dan meningkatkan konfigurasi pengumpulan yang ada yang didefinisikan oleh AliyunLogConfig.

  • false: Jika terdapat konflik dalam konfigurasi pengumpulan, penerapan AliyunPipelineConfig akan gagal.

Skenario: Konflik terjadi jika resource AliyunLogConfig yang mendefinisikan konfigurasi pengumpulan sudah ada di kluster, dan Anda mencoba menerapkan AliyunPipelineConfig yang mereferensikan konfigurasi pengumpulan yang sama.

Definisi konfigurasi pengumpulan yang sama:

  • Proyek yang sama

    • AliyunLogConfig: Menggunakan proyek default kluster atau spec.project.

    • AliyunPipelineConfig: Menggunakan spec.project.name.

  • Nama konfigurasi pengumpulan yang sama

    • AliyunLogConfig: spec.logtailConfig.configName

    • AliyunPipelineConfig: metadata.name

Proses peningkatan:

  1. Terapkan konfigurasi baru: Controller menerapkan ClusterAliyunPipelineConfig untuk memperbarui konfigurasi pengumpulan log.

  2. Hapus konfigurasi lama: Setelah pembaruan berhasil, controller secara otomatis menghapus resource AliyunLogConfig lama yang sesuai dari kluster.

  3. Migrasi selesai: Migrasi dari konfigurasi lama ke yang baru kini telah selesai.