全部产品
Search
文档中心

Simple Log Service:[Direkomendasikan] Gunakan AliyunPipelineConfig untuk mengelola konfigurasi Logtail

更新时间:Jul 06, 2025

Simple Log Service mendefinisikan CustomResourceDefinition (CRD) bernama AliyunPipelineConfig. Anda dapat menggunakan file YAML untuk membuat CustomResource (CR) dari CRD ini dan mengelola konfigurasi Logtail. Topik ini menjelaskan cara menggunakan AliyunPipelineConfig untuk mengelola konfigurasi Logtail.

Prasyarat

Prosedur

Penting

Anda dapat membuat CR dari CRD AliyunPipelineConfig untuk membuat konfigurasi Logtail. Komponen alibaba-log-controller secara berkala menyinkronkan jenis konfigurasi Logtail ini ke Simple Log Service. Jika Anda ingin memodifikasi jenis konfigurasi Logtail ini, Anda harus memodifikasi CR terkait. Konfigurasi Logtail yang dibuat dari konsol Simple Log Service akan ditimpa oleh CR. Kami menyarankan Anda selalu menggunakan CR untuk mengelola konfigurasi Logtail.

Buat konfigurasi Logtail

Anda harus membuat CR dari AliyunPipelineConfig CRD. Kemudian, komponen alibaba-log-controller secara otomatis membuat konfigurasi Logtail berdasarkan CR. Setelah konfigurasi Logtail dibuat, konfigurasi tersebut diterapkan secara otomatis, dan Logtail mulai mengumpulkan log ke Simple Log Service sesuai dengan konfigurasi tersebut.

  1. Dapatkan file kubeconfig dari kluster dan gunakan kubectl untuk terhubung ke kluster.

  2. Jalankan perintah berikut untuk membuat file YAML bernama cube.yaml. Anda dapat menentukan nama file yang berbeda sesuai dengan kebutuhan bisnis Anda.

vim cube.yaml
  1. Masukkan skrip berikut dalam file YAML dan konfigurasikan parameter berdasarkan kebutuhan bisnis Anda. Untuk informasi lebih lanjut tentang parameter CR, lihat Parameter CR.

apiVersion: telemetry.alibabacloud.com/v1alpha1 # Nilai default digunakan. Anda tidak perlu memodifikasi parameter ini. 
kind: ClusterAliyunPipelineConfig               # Nilai default digunakan. Anda tidak perlu memodifikasi parameter ini. 
metadata:
  name: test-config                             # Nama sumber daya. Nama tersebut harus unik di kluster Kubernetes saat ini. 
spec:
  project:                                      # Nama Logstore. 
    name: k8s-your-project                      
  config:                                       # Konfigurasi Logtail. 
    inputs:                                     # Plugin input dari konfigurasi Logtail.
      ...
    flushers:                                   # Plugin output dari konfigurasi Logtail.
      ...
  1. Jalankan perintah berikut untuk membuat CR dari AliyunPipelineConfig CRD. Komponen alibaba-log-controller membuat konfigurasi Logtail berdasarkan CR. Kemudian, konfigurasi Logtail diterapkan secara otomatis. Setelah konfigurasi Logtail diterapkan, Logtail mulai mengumpulkan log ke Simple Log Service. Dalam perintah berikut, cube.yaml adalah nama file contoh. Anda dapat menentukan nama file yang berbeda sesuai dengan kebutuhan bisnis Anda.

kubectl apply -f cube.yaml

Lihat konfigurasi Logtail

  • Lihat semua konfigurasi Logtail yang dibuat di kluster Kubernetes saat ini berdasarkan CR dari AliyunPipelineConfig CRD.

    Anda dapat menjalankan perintah berikut untuk melihat konfigurasi Logtail:

    kubectl get clusteraliyunpipelineconfigs
  • Lihat pengaturan detail dan status konfigurasi Logtail yang dibuat berdasarkan CR dari AliyunPipelineConfig CRD.

    Anda dapat menjalankan perintah berikut untuk melihat konfigurasi Logtail. Dalam perintah ini, <config_name> adalah nama CR yang diperlukan. Anda dapat menentukan nama yang berbeda sesuai dengan kebutuhan bisnis Anda.

    kubectl get clusteraliyunpipelineconfigs <config_name> -o yaml

    Informasi yang serupa dengan kode berikut dikembalikan. Anda dapat memeriksa apakah konfigurasi Logtail diterapkan berdasarkan parameter status.

    apiVersion: telemetry.alibabacloud.com/v1alpha1
    kind: ClusterAliyunPipelineConfig
    metadata:
      creationTimestamp: null
      finalizers:
        - finalizer.pipeline.alibabacloud.com
      name: example-config
    # Konfigurasi yang diharapkan.
    spec:
      config:
        flushers:
          - Endpoint: cn-hangzhou-intranet.log.aliyuncs.com
            Logstore: example-config-logstore
            Region: cn-hangzhou
            TelemetryType: logs
            Type: flusher_sls
        inputs:
          - FilePaths:
              - /var/log/*.log
            Type: input_file
        processors:
          - SourceKey: content
            Type: processor_parse_json_native
      logstores:
        - name: example-config-logstore
      project:
        name: k8s-log-clusterid
    # Status aplikasi.
    status:
      # Apakah konfigurasi Logtail diterapkan.
      success: true
      # Pesan status.
      message: success
      # Waktu pembaruan status saat ini.
      lastUpdateTime: "2024-06-13T12:02:19.133422+08:00"
      # Konfigurasi Logtail sebelumnya yang diterapkan. Nilai default digunakan dalam konfigurasi Logtail.
      lastAppliedConfig:
        # Titik waktu ketika konfigurasi Logtail sebelumnya diterapkan.
        appliedTime: "2024-06-13T12:02:19.133422+08:00"
        # Pengaturan detail konfigurasi Logtail sebelumnya yang diterapkan.
        config:
          configTags:
            sls.crd.cluster: clusterid
            sls.crd.kind: ClusterAliyunPipelineConfig
            sls.logtail.channel: CRD
          flushers:
            - Endpoint: cn-hangzhou-intranet.log.aliyuncs.com
              Logstore: example-config-logstore
              Region: cn-hangzhou
              TelemetryType: logs
              Type: flusher_sls
          global: null
          inputs:
            - FilePaths:
                - /var/log/*.log
              Type: input_file
          name: example-config
          processors:
            - SourceKey: content
              Type: processor_parse_json_native
        logstores:
          - appendMeta: true
            autoSplit: true
            encryptConf: {}
            maxSplitShard: 64
            name: example-config-logstore
            shardCount: 2
            ttl: 30
        machineGroups:
          - name: k8s-group-clusterid
        project:
          description: k8s log project, created by alibaba cloud log controller
          endpoint: cn-hangzhou.log.aliyuncs.com
          name: k8s-log-clusterid

Perbarui konfigurasi Logtail

Untuk memperbarui konfigurasi Logtail, Anda hanya perlu memodifikasi file YAML yang digunakan untuk membuat CR terkait dan menerapkan file baru.

  1. Dapatkan file kubeconfig dari kluster dan gunakan kubectl untuk terhubung ke kluster.

  2. Modifikasi file YAML yang digunakan untuk membuat CR Anda. Dalam perintah berikut, cube.yaml adalah nama file contoh. Anda dapat menentukan nama file yang berbeda sesuai dengan kebutuhan bisnis Anda.

vim cube.yaml
  1. Modifikasi parameter dalam file YAML.

  2. Jalankan perintah berikut untuk menerapkan file baru. Dalam perintah berikut, cube.yaml adalah nama file contoh. Anda dapat menentukan nama file yang berbeda sesuai dengan kebutuhan bisnis Anda.

kubectl apply -f cube.yaml

Hapus konfigurasi Logtail

Untuk menghapus konfigurasi Logtail, Anda hanya perlu menghapus CR berdasarkan konfigurasi Logtail yang dibuat. Dalam perintah berikut, <config_name> adalah nama CR yang diperlukan. Anda dapat menentukan nama yang berbeda sesuai dengan kebutuhan bisnis Anda.

kubectl delete clusteraliyunpipelineconfigs <config_name>
Penting
  • Setelah konfigurasi Logtail dihapus, CR terkait dilepaskan.

  • Jika konfigurasi Logtail gagal dihapus, CR terkait tidak dilepaskan. Anda dapat melihat pesan kesalahan dalam parameter status CR. Jika Anda ingin mengabaikan pesan kesalahan dan langsung melepaskan CR, Anda dapat menghapus field metadata.finalizers secara manual dari CR.

Parameter CR

  • apiVersion

    Nilainya tetap sebagai telemetry.alibabacloud.com/v1alpha1.

  • kind

    Nilainya tetap sebagai ClusterAliyunPipelineConfig.

  • metadata

    Field

    Tipe

    Diperlukan

    Deskripsi

    name

    string

    Ya

    Pengenal unik CR. Nilainya sama dengan nama konfigurasi Logtail.

    Catatan:

    Nilai field ini digunakan sebagai nama konfigurasi Logtail. Nama tersebut harus unik di proyek tempat konfigurasi Logtail berada. Setelah konfigurasi Logtail dibuat, Anda tidak dapat mengubah nama konfigurasi. Nilai tersebut harus memenuhi persyaratan berikut:

    Nilai tersebut hanya dapat berisi huruf kecil, digit, tanda hubung (-), dan garis bawah (_).

    Nilai tersebut harus dimulai dan diakhiri dengan huruf kecil atau digit.

    Nilai tersebut harus memiliki panjang 2 hingga 128 karakter.

  • Spec

    Field

    Tipe

    Diperlukan

    Deskripsi

    project

    PipelineProject

    Ya

    Informasi tentang proyek.

    Catatan

    Setelah CR dibuat, Anda tidak dapat mengubah nilai field project. Untuk menggunakan proyek lain, Anda harus membuat CR yang berbeda.

    config

    PiplineConfig

    Ya

    Pengaturan detail konfigurasi Logtail.

    logstores

    PipelineLogstore

    Tidak

    Logstores. Anda dapat membuat beberapa Logstores.

    Catatan
    • Semua field, kecuali field metadata.name, hanya berlaku saat Anda membuat Logstore.

    • Nilai field ini tidak menentukan Logstore ke mana log dikumpulkan berdasarkan konfigurasi Logtail. Nilai tersebut menentukan Logstores yang dibuat. Nilai field config.flushers menentukan Logstore ke mana log dikumpulkan berdasarkan konfigurasi Logtail. Jika Logstore yang ditentukan ada, Anda dapat meninggalkan field ini kosong.

    • Anda hanya dapat mengonfigurasi field ini untuk menambahkan atau menghapus Logstores. Anda tidak dapat memodifikasi Logstores yang ada.

    machineGroups

    PipelineMachineGroup

    Tidak

    Grup mesin yang terkait dengan konfigurasi Logtail. Saat Anda memasang komponen logtail-ds, Simple Log Service secara otomatis membuat grup mesin bernama k8s-group-${your_k8s_cluster_id}. Secara default, grup mesin k8s-group-${your_k8s_cluster_id} digunakan.

    Catatan

    Komponen alibaba-log-controller memastikan bahwa konfigurasi Logtail hanya terkait dengan grup mesin yang ditentukan oleh field machineGroups. Grup mesin lainnya diputuskan dari konfigurasi Logtail.

    enableUpgradeOverride

    bool

    Tidak

    Nilai default: false. CR dari AliyunLogConfig CRD dan CR dari AliyunPipelineConfig CRD dapat menunjuk ke konfigurasi Logtail yang sama di kluster yang sama. Field ini dirancang untuk skenario ini. Nilai valid:

    • true: Komponen alibaba-log-controller menimpa dan memperbarui konfigurasi Logtail yang dibuat berdasarkan CR dari AliyunLogConfig CRD.

    • false: Terjadi konflik konfigurasi Logtail, dan konfigurasi Logtail yang dibuat berdasarkan CR dari AliyunPipelineConfig CRD gagal diterapkan.

    Catatan
    • Jika kondisi berikut terpenuhi, sistem menganggap bahwa CR menunjuk ke konfigurasi Logtail yang sama:

      • Proyek yang sama tempat log dikumpulkan digunakan.

        Untuk AliyunLogConfig CRD, proyek dalam CR ditentukan oleh field spec.project. Untuk AliyunPipelineConfig CRD, proyek dalam CR ditentukan oleh field spec.project.name.

      • Nama konfigurasi Logtail yang sama digunakan.

        Untuk AliyunLogConfig CRD, nama dalam CR ditentukan oleh field spec.logtailConfig.configName. Untuk AliyunPipelineConfig CRD, nama dalam CR ditentukan oleh field metadata.name.

    • Komponen menimpa dan memperbarui konfigurasi Logtail dalam proses berikut:

      Komponen mencoba menerapkan konfigurasi Logtail yang dibuat berdasarkan CR dari AliyunPipelineConfig CRD.

      Setelah konfigurasi Logtail diterapkan, komponen menghapus CR dari AliyunLogConfig CRD dari kluster.

      Proses selesai.

    • PipelineProject

      Catatan

      Setelah CR dibuat, Anda tidak dapat mengubah nilai field project. Untuk menggunakan proyek lain, Anda harus membuat CR yang berbeda.

      Field

      Tipe

      Diperlukan

      Deskripsi

      name

      string

      Ya

      Nama proyek.

      Catatan

      Jika proyek yang ditentukan tidak ada, Simple Log Service secara otomatis membuat proyek.

      description

      string

      Tidak

      Deskripsi proyek.

      Catatan

      Field ini hanya berlaku saat Anda membuat proyek.

      endpoint

      string

      Tidak

      Endpoint proyek. Untuk informasi lebih lanjut, lihat Endpoints. Secara default, endpoint untuk wilayah tempat kluster saat ini berada digunakan. Jika proyek dan kluster berada di wilayah yang berbeda, Anda harus mengonfigurasi field ini.

      Catatan

      Field ini menentukan endpoint untuk wilayah tempat konfigurasi Logtail berada. Untuk mengumpulkan log ke proyek berdasarkan endpoint menggunakan Logtail, Anda juga harus mengonfigurasi field config_server_address dan data_server_list untuk Logtail Anda. Untuk informasi lebih lanjut, lihat File konfigurasi Logtail dan file rekaman.

      uid

      string

      Tidak

      ID akun. Secara default, akun tempat kluster saat ini berada digunakan. Jika Anda ingin mengumpulkan log lintas akun, Anda harus mengonfigurasi field ini dan menyertakan ALICLOUD_LOG_ACCOUNT_INFOS={"<uid>":{"accessKeyID":"<your_access_key_id>","accessKeySecret":"<your_access_key_secret>"}} dalam pengaturan variabel lingkungan untuk komponen alibaba-log-controller.

      Catatan

      Field ini menentukan akun tempat proyek berada. Untuk mengumpulkan log ke akun menggunakan Logtail, Anda harus mengonfigurasi pengenal pengguna untuk Logtail Anda. Untuk informasi lebih lanjut, lihat Konfigurasikan pengenal pengguna.

    • PiplineConfig

      Anda harus mengonfigurasi field berikut berdasarkan instruksi yang diberikan di CreateLogtailPipelineConfig. Field configName menggunakan nilai dari field metadata.name. Anda tidak dapat mengonfigurasi field configName secara terpisah.

      Field

      Tipe

      Diperlukan

      Deskripsi

      sample

      string

      Tidak

      Contoh log. Anda dapat menentukan beberapa contoh log. Pastikan nilainya tidak melebihi 1.500 byte.

      global

      object

      Tidak

      Pengaturan global. Untuk informasi lebih lanjut, lihat Parameter permintaan.

      inputs

      daftar objek

      Ya

      Plugin input. Untuk informasi lebih lanjut tentang detail dan parameter plugin, lihat Parameter permintaan.

      Catatan

      Anda hanya dapat mengonfigurasi satu plugin input.

      processors

      daftar objek

      Tidak

      Plugin pemrosesan. Untuk informasi lebih lanjut tentang detail dan parameter plugin, lihat Parameter permintaan.

      aggregators

      daftar objek

      Tidak

      Plugin agregasi. Untuk informasi lebih lanjut tentang detail dan parameter plugin, lihat Parameter permintaan.

      flushers

      daftar objek

      Ya

      Plugin output. Untuk informasi lebih lanjut tentang detail dan parameter plugin, lihat Parameter permintaan.

      Catatan

      Anda hanya dapat mengonfigurasi satu plugin output.

      configTags

      map

      Tidak

      Tag kustom yang ditambahkan untuk mengidentifikasi konfigurasi Logtail.

    • PipelineLogstore

      Catatan

      Semua field, kecuali field metadata.name, hanya berlaku saat Anda membuat Logstore.

      Field

      Tipe

      Diperlukan

      Deskripsi

      name

      string

      Ya

      Nama Logstore.

      queryMode

      string

      Tidak

      Tipe Logstore. Untuk informasi lebih lanjut, lihat Tipe Logstore. Nilai default: standard. Nilai valid:

      • query: Query Logstore

      • standard: Standard Logstore

      ttl

      int

      Tidak

      Masa retensi log di Logstore. Unit: hari. Untuk informasi lebih lanjut, lihat Periode Retensi Data. Nilai default: 30. Nilai valid: 1 hingga 3650. Jika Anda mengatur field ini ke 3650, log disimpan secara permanen.

      hotTtl

      int

      Tidak

      1. Masa retensi log di tingkat penyimpanan panas Logstore. Unit: hari. Untuk informasi lebih lanjut, lihat Penyimpanan Tiered Cerdas. Nilai default: 0. Nilai field ini harus kurang dari nilai field ttl dan lebih besar atau sama dengan 7.

      shardCount

      int

      Tidak

      Jumlah shard di Logstore. Untuk informasi lebih lanjut, lihat Kelola logstore. Nilai default: 2. Nilai valid: 1 hingga 100.

      maxSplitShard

      int

      Tidak

      Jumlah maksimum shard tempat shard yang ada di Logstore dapat dibagi secara otomatis. Untuk informasi lebih lanjut, lihat Pembagian Shard Otomatis. Nilai default: 64. Nilai valid: 1 hingga 256.

      autoSplit

      bool

      Tidak

      Menentukan apakah akan mengaktifkan pembagian shard otomatis untuk Logstore. Untuk informasi lebih lanjut, lihat Pembagian Shard Otomatis. Nilai default: true.

      telemetryType

      string

      Tidak

      Tipe data yang dapat diamati di Logstore. Untuk informasi lebih lanjut, lihat telemetryType. Nilai default: None. Nilai valid:

      • None: data log

      • Metrics: data metrik

      appendMeta

      bool

      Tidak

      Menentukan apakah akan mencatat alamat IP publik untuk Logstore. Untuk informasi lebih lanjut, lihat Log Alamat IP Publik. Nilai default: true.

      enableTracking

      bool

      Tidak

      Menentukan apakah akan mengaktifkan fitur pelacakan web untuk Logstore. Untuk informasi lebih lanjut, lihat WebTracking. Nilai default: false.

      encryptConf

      object

      Tidak

      Pengaturan enkripsi Logstore. Untuk informasi lebih lanjut, lihat Struktur data umum. Field ini kosong secara default.

      meteringMode

      string

      Tidak

      Mode penagihan Logstore. Untuk informasi lebih lanjut, lihat Mode Penagihan. Field ini kosong secara default. Nilai valid:

      • ChargeByFunction: mode penagihan berbasis fitur

      • ChargeByDataIngest: mode penagihan berbasis data yang dimasukkan

      Catatan

      Jika Anda mengatur field queryMode ke query, Anda harus mengatur field ini ke ChargeByFunction.

      Jika mode penagihan berbasis data yang dimasukkan dinonaktifkan untuk akun Anda, Anda hanya dapat mengatur field ini ke ChargeByFunction.

    • PipelineMachineGroup

      Field

      Tipe

      Diperlukan

      Deskripsi

      name

      string

      Ya

      Nama grup mesin yang terkait dengan konfigurasi Logtail.

      Catatan

      Jika tidak ada grup mesin yang ada, komponen alibaba-log-controller secara otomatis membuat grup mesin berbasis pengenal. Grup mesin tersebut diberi nama berdasarkan pengenal. Untuk informasi lebih lanjut, lihat Buat grup mesin berbasis pengenal kustom. Operasi ini hanya berlaku saat Anda membuat grup mesin.