全部产品
Search
文档中心

Container Service for Kubernetes:Kumpulkan log kontainer dari kluster ACK (pengumpulan log berbasis DaemonSet)

更新时间:Nov 11, 2025

Alibaba Cloud Container Service for Kubernetes (ACK) terintegrasi secara mendalam dengan Simple Log Service (SLS). Integrasi ini menyediakan komponen pengumpulan log untuk menyederhanakan pengumpulan dan pengelolaan log kontainer. Topik ini menjelaskan cara menginstal komponen pengumpulan log dan membuat konfigurasi pengumpulan, sehingga Anda dapat mengumpulkan, mengkueri, dan menganalisis log secara otomatis guna meningkatkan efisiensi operasi dan pemeliharaan (O&M) serta mengurangi biaya pengelolaan.

Skenario

Komponen pengumpulan log mengumpulkan log kontainer melalui dua metode berikut:

Untuk informasi selengkapnya tentang perbedaan antara kedua mode tersebut, lihat Mode pengumpulan. Untuk informasi selengkapnya tentang penagihan Simple Log Service, lihat Ikhtisar penagihan.

Indeks

Prosedur

Tautan tindakan

Langkah 1: Instal komponen pengumpulan log

Instal salah satu komponen pengumpulan log berikut:

  • Instal LoongCollector (Direkomendasikan)

    LoongCollector adalah agen pengumpulan generasi baru dari SLS dan merupakan versi peningkatan dari Logtail.
  • Instal Logtail

    Komponen Logtail adalah agen yang digunakan untuk mengumpulkan log Kubernetes. Komponen ini mendukung berbagai jenis log dan mengumpulkan data log dari kontainer standar serta kluster Kubernetes.

Langkah 2: Buat konfigurasi pengumpulan

Pilih log teks atau keluaran standar berdasarkan kebutuhan pengumpulan Anda.

  • Kumpulkan log teks

    Log teks adalah file log yang dihasilkan oleh program di dalam kontainer dan disimpan ke direktori tertentu. Metode ini cocok untuk skenario seperti analisis jangka panjang atau pemecahan masalah file log di direktori tertentu.
  • Kumpulkan keluaran standar

    Keluaran standar (stdout) mengacu pada log waktu nyata yang dihasilkan oleh program selama waktu proses di dalam kontainer. Metode ini cocok untuk skenario seperti debugging program dan diagnosis masalah cepat.

Langkah 3: Kueri dan analisis log

Kueri dan analisis log di konsol.

Langkah 1: Instal komponen pengumpulan log

Instal LoongCollector (Direkomendasikan)

Pengumpulan data berbasis LoongCollector: LoongCollector adalah agen pengumpulan log generasi baru yang disediakan oleh Simple Log Service. LoongCollector merupakan versi peningkatan dari Logtail dan dirancang untuk mengintegrasikan kemampuan agen pengumpulan khusus dari Application Real-Time Monitoring Service (ARMS), seperti pengumpulan data berbasis Managed Service for Prometheus dan teknologi Extended Berkeley Packet Filter (eBPF) untuk pengumpulan data non-intrusif.

Instal komponen loongcollector di kluster ACK yang sudah ada

  1. Masuk ke konsol ACK. Di panel navigasi sebelah kiri, klik Clusters.

  2. Di halaman Clusters, klik kluster yang ingin Anda kelola. Di panel navigasi sebelah kiri, pilih Operations > Add-ons.

  3. Di tab Logs and Monitoring pada halaman Add-ons, temukan komponen loongcollector dan klik Install.

    Catatan

    Komponen LoongCollector dan komponen logtail-ds tidak dapat diinstal bersamaan. Jika komponen logtail-ds sudah diinstal pada kluster, lihat Tingkatkan dari Logtail ke LoongCollector (skenario server) untuk solusi peningkatan.

Setelah komponen LoongCollector diinstal, Simple Log Service secara otomatis menghasilkan proyek bernama k8s-log-${your_k8s_cluster_id} beserta sumber daya di dalamnya. Anda dapat masuk ke konsol Simple Log Service untuk melihat sumber daya tersebut. Tabel berikut menjelaskan sumber daya tersebut.

Jenis sumber daya

Nama sumber daya

Deskripsi

Contoh

Kelompok mesin

k8s-group-${your_k8s_cluster_id}

Kelompok mesin loongcollector-ds, yang digunakan dalam skenario pengumpulan log.

k8s-group-my-cluster-123

k8s-group-${your_k8s_cluster_id}-cluster

Kelompok mesin loongcollector-cluster, yang digunakan dalam skenario pengumpulan metrik.

k8s-group-my-cluster-123-cluster

k8s-group-${your_k8s_cluster_id}-singleton

Kelompok mesin instance tunggal, yang digunakan untuk membuat konfigurasi LoongCollector untuk instance tunggal tersebut.

k8s-group-my-cluster-123-singleton

Logstore

config-operation-log

Logstore ini digunakan untuk mengumpulkan dan menyimpan log loongcollector-operator.

Penting

Jangan menghapus logstore config-operation-log.

config-operation-log

Instal Logtail

Pengumpulan data berbasis Logtail: Logtail adalah agen pengumpulan log yang disediakan oleh Simple Log Service. Anda dapat menggunakan Logtail untuk mengumpulkan log dari berbagai sumber data, seperti instance Alibaba Cloud Elastic Compute Service (ECS), server di pusat data, dan server dari penyedia layanan cloud pihak ketiga. Logtail mendukung pengumpulan log non-intrusif berdasarkan file log tanpa memerlukan modifikasi kode aplikasi, sehingga tidak memengaruhi operasi aplikasi Anda.

Instal komponen Logtail di kluster ACK yang sudah ada

  1. Masuk ke konsol ACK. Di panel navigasi sebelah kiri, klik Clusters.

  2. Di halaman Clusters, temukan kluster yang ingin Anda kelola dan klik namanya. Di panel navigasi sebelah kiri, klik Add-ons.

  3. Di tab Logs and Monitoring pada halaman Add-ons, temukan komponen logtail-ds dan klik Install.

Instal komponen Logtail saat membuat kluster ACK

  1. Masuk ke konsol ACK. Di panel navigasi sebelah kiri, klik Clusters.

  2. Di halaman Clusters, klik Create Kubernetes Cluster. Di langkah Component Configurations wizard, pilih Enable Log Service.

    Topik ini hanya menjelaskan pengaturan yang terkait dengan Simple Log Service. Untuk informasi selengkapnya tentang pengaturan lainnya, lihat Buat kluster ACK yang dikelola.

    Setelah Anda memilih Enable Log Service, sistem akan meminta Anda untuk membuat proyek Simple Log Service. Anda dapat menggunakan salah satu metode berikut untuk membuat proyek:

    • Select Project

      Anda dapat memilih proyek yang sudah ada untuk mengelola log kontainer yang dikumpulkan.

      安装logtail组件

    • Create Project

      Simple Log Service secara otomatis membuat proyek untuk mengelola log kontainer yang dikumpulkan. ClusterID menunjukkan pengenal unik dari kluster Kubernetes yang dibuat.

      安装logtail组件

Penting

Di langkah Component Configurations wizard, opsi Enable dipilih secara default untuk parameter Log Komponen Lapisan Kontrol. Jika diaktifkan, sistem secara otomatis mengonfigurasi pengaturan pengumpulan dan mengumpulkan log dari komponen lapisan kontrol kluster, dengan biaya yang dikenakan berdasarkan metode penagihan pay-as-you-go. Anda dapat menentukan apakah akan mengaktifkannya sesuai kebutuhan bisnis. Untuk informasi selengkapnya, lihat Kumpulkan log komponen lapisan kontrol di kluster ACK yang dikelola.image

Setelah komponen Logtail diinstal, Simple Log Service secara otomatis menghasilkan proyek bernama k8s-log-<YOUR_CLUSTER_ID> beserta sumber daya di dalamnya. Anda dapat masuk ke konsol Simple Log Service untuk melihat sumber daya tersebut.

Jenis sumber daya

Nama sumber daya

Deskripsi

Contoh

Kelompok mesin

k8s-group-<YOUR_CLUSTER_ID>

Kelompok mesin logtail-daemonset, yang digunakan dalam skenario pengumpulan log.

k8s-group-my-cluster-123

k8s-group-<YOUR_CLUSTER_ID>-statefulset

Kelompok mesin logtail-statefulset, yang digunakan dalam skenario pengumpulan metrik.

k8s-group-my-cluster-123-statefulset

k8s-group-<YOUR_CLUSTER_ID>-singleton

Kelompok mesin instance tunggal, yang digunakan untuk membuat konfigurasi Logtail untuk instance tunggal tersebut.

k8s-group-my-cluster-123-singleton

Logstore

config-operation-log

Logstore ini digunakan untuk menyimpan log komponen alibaba-log-controller. Kami menyarankan agar Anda tidak membuat konfigurasi Logtail untuk logstore ini. Anda dapat menghapus logstore ini. Setelah logstore dihapus, sistem tidak lagi mengumpulkan log operasional komponen alibaba-log-controller. Anda dikenai biaya untuk logstore ini dengan cara yang sama seperti logstore biasa. Untuk informasi selengkapnya, lihat Item yang dapat ditagihkan pada mode bayar berdasarkan data yang diingest.

Tidak ada

Langkah 2: Buat konfigurasi pengumpulan

Kumpulkan log teks

Anda dapat membuat konfigurasi pengumpulan menggunakan salah satu dari empat metode berikut. Kami menyarankan agar Anda hanya menggunakan satu metode untuk mengelola konfigurasi pengumpulan log Anda.

Metode konfigurasi

Deskripsi konfigurasi

Skenario

CRD - AliyunPipelineConfig (direkomendasikan)

Anda dapat menggunakan Custom Resource Definition (CRD) AliyunPipelineConfig, yaitu CRD Kubernetes, untuk mengelola konfigurasi LoongCollector.

Metode ini cocok untuk skenario yang memerlukan pengumpulan dan pemrosesan kompleks serta konsistensi versi antara konfigurasi LoongCollector dan kontainer LoongCollector di kluster ACK.

CRD - AliyunLogConfig

Anda dapat menggunakan CRD AliyunLogConfig, yaitu CRD versi lama, untuk mengelola konfigurasi LoongCollector.

Metode ini cocok untuk skenario yang telah diketahui, di mana konfigurasi LoongCollector dapat dikelola menggunakan CRD versi lama.

Metode ini cocok untuk skenario yang telah diketahui di mana konfigurasi LoongCollector dapat dikelola menggunakan CRD versi lama. Anda disarankan untuk secara bertahap mengganti CRD AliyunLogConfig dengan CRD AliyunPipelineConfig guna mendapatkan ekstensibilitas dan stabilitas yang lebih baik. Untuk informasi selengkapnya tentang perbedaan antara kedua metode tersebut, lihat CRD.

Konsol Simple Log Service

Anda dapat mengelola konfigurasi LoongCollector melalui antarmuka grafis berdasarkan penyebaran dan konfigurasi cepat.

Metode ini cocok untuk skenario yang memerlukan pengaturan sederhana. Namun, jika menggunakan metode ini, fitur lanjutan dan pengaturan khusus tertentu tidak tersedia.

Variabel lingkungan

Anda dapat menggunakan variabel lingkungan untuk mengonfigurasi parameter guna mengelola konfigurasi LoongCollector secara efisien.

Metode ini hanya mendukung pengaturan sederhana tanpa logika pemrosesan kompleks dan hanya mendukung log teks satu baris. Variabel lingkungan dapat digunakan untuk membuat konfigurasi LoongCollector yang memenuhi persyaratan berikut:

  • Kumpulkan data dari beberapa aplikasi ke logstore yang sama.

  • Kumpulkan data dari beberapa aplikasi ke proyek yang berbeda.

Catatan

Jika Anda menggunakan metode (Direkomendasikan) CRD-AliyunPipelineConfig, versi komponen logtail-ds harus 1.8.10 atau lebih baru. Untuk informasi selengkapnya tentang cara meningkatkan, lihat Tingkatkan Logtail ke versi terbaru. Tidak ada batasan versi untuk komponen LoongCollector.

CRD - AliyunPipelineConfig (direkomendasikan)

Untuk membuat konfigurasi LoongCollector, cukup buat Custom Resource (CR) dari CRD AliyunPipelineConfig. Setelah CR dibuat, konfigurasi LoongCollector langsung berlaku.

Penting

Jika Anda membuat konfigurasi LoongCollector melalui CR dan ingin memodifikasinya, Anda hanya dapat memperbarui CR tersebut. Perubahan yang dilakukan di konsol Simple Log Service tidak akan disinkronkan ke CR.

  1. Masuk ke konsol ACK.

  2. Di halaman Clusters, temukan kluster target dan klik namanya. Di panel navigasi sebelah kiri, pilih Workloads > Custom Resources.

  3. Di halaman Custom Resources, klik tab CRDs, lalu klik Create from YAML.

  4. Modifikasi parameter dalam contoh YAML berikut sesuai kebutuhan, salin dan tempelkan ke dalam templat, lalu klik Create.

    File YAML ini digunakan untuk mengumpulkan log dari file test.LOG di direktori /data/logs/app_1 pod yang diberi label app: ^(.*test.*)$ ke logstore k8s-file yang dibuat secara otomatis di proyek k8s-log-<YOUR_CLUSTER_ID>. Modifikasi parameter berikut sesuai kebutuhan:

    • project: Contoh: k8s-log-<YOUR_CLUSTER_ID>.

      Masuk ke konsol Simple Log Service untuk memeriksa nama proyek yang dihasilkan setelah LoongCollector diinstal.

    • IncludeK8sLabel: Label yang digunakan untuk memfilter pod. Contoh: app: ^(.*test.*)$. Dalam contoh ini, pod dengan kunci label app dan nilai label yang mengandung test akan dikumpulkan.

      Catatan

      Jika Anda ingin mengumpulkan semua pod yang namanya berisi test di kluster Anda, gantilah parameter IncludeK8sLabel dengan K8sContainerRegex dan gunakan karakter wildcard untuk menentukan nilainya. Contoh: K8sContainerRegex: ^(.test.)$.

    • FilePaths: Contoh: /data/logs/app_1/**/test.LOG. Untuk informasi selengkapnya, lihat Pemetaan path file untuk kontainer.

    • Endpoint dan Region (ID Wilayah): Contoh nilai Endpoint: cn-hangzhou.log.aliyuncs.com; contoh nilai Region: cn-hangzhou.

    Nilai parameter config mencakup jenis plug-in input, output, dan pemrosesan serta metode pemfilteran kontainer. Untuk informasi selengkapnya, lihat PipelineConfig. Untuk informasi selengkapnya tentang parameter lengkap dalam file YAML, lihat Parameter CR.

    apiVersion: telemetry.alibabacloud.com/v1alpha1
    # Buat ClusterAliyunPipelineConfig.
    kind: ClusterAliyunPipelineConfig
    metadata:
      # Tentukan nama sumber daya. Nama harus unik di kluster Kubernetes saat ini. Nama ini juga merupakan nama dari konfigurasi Logtail yang dibuat. 
      name: example-k8s-stdout
    spec:
      # Tentukan proyek target.
      project:
        name: k8s-log-<YOUR_CLUSTER_ID>
      # Buat penyimpanan log untuk menyimpan log.
      logstores:
        - name: k8s-stdout
      # Tentukan konfigurasi Logtail.
      config:
        # Contoh log (opsional)
        sample: |
          2024-06-19 16:35:00 INFO test log
          line-1
          line-2
          end
        # Tentukan plugin input.
        inputs:
              # Gunakan plugin service_docker_stdout untuk mengumpulkan log teks di dalam kontainer.
          - Type: service_docker_stdout
            Stdout: true
            Stderr: true
            # Konfigurasikan kondisi filter informasi kontainer. Beberapa opsi berada dalam hubungan "dan".
            # Tentukan namespace tempat pod yang berisi kontainer yang akan dikumpulkan berada. Mendukung pencocokan ekspresi reguler.
            K8sNamespaceRegex: "^(default)$"
            # Aktifkan pratinjau metadata kontainer.
            CollectContainersFlag: true
            # Kumpulkan kontainer yang memenuhi kondisi label Pod. Beberapa entri berada dalam hubungan "atau".
            IncludeK8sLabel:
              app: ^(.*test.*)$
            # Konfigurasikan konfigurasi chunk multi-baris. Konfigurasi tidak valid untuk pengumpulan log baris tunggal.
            # Konfigurasikan ekspresi reguler untuk awal baris.
            BeginLineRegex: \d+-\d+-\d+.*
        # Tentukan plugin output
        flushers:
          # Gunakan plugin flusher_sls untuk mengirim log ke penyimpanan log yang ditentukan.
          - Type: flusher_sls
            # Pastikan penyimpanan log ada.
            Logstore: k8s-stdout
            # Pastikan titik akhir valid.
            Endpoint: ap-southeast-1.log.aliyuncs.com
            Region: ap-southeast-1
            TelemetryType: logs

CRD - AliyunLogConfig

Untuk membuat konfigurasi LoongCollector, cukup buat CR dari CRD AliyunLogConfig. Setelah CR dibuat, konfigurasi LoongCollector langsung berlaku.

Penting

Jika Anda membuat konfigurasi LoongCollector melalui CR dan ingin memodifikasinya, Anda hanya dapat memperbarui CR tersebut. Perubahan yang dilakukan di konsol Simple Log Service tidak akan disinkronkan ke CR.

  1. Masuk ke konsol ACK.

  2. Di halaman Clusters, temukan kluster target dan klik namanya. Di panel navigasi sebelah kiri, pilih Workloads > Custom Resources.

  3. Di halaman Custom Resources, klik tab CRDs, lalu klik Create from YAML.

  4. Modifikasi parameter dalam contoh YAML berikut sesuai kebutuhan, salin dan tempelkan ke dalam templat, lalu klik Create.

    File YAML ini digunakan untuk membuat konfigurasi LoongCollector bernama example-k8s-file yang mengumpulkan konten test.LOG dari path /data/logs/app_1 untuk semua kontainer yang namanya dimulai dengan app di kluster Anda dalam mode sederhana. Data yang dikumpulkan dikirim ke logstore k8s-file yang dibuat secara otomatis di proyek k8s-log-<YOUR_CLUSTER_ID>.

    Modifikasi path file log dalam contoh sesuai kebutuhan. Untuk informasi selengkapnya, lihat Pemetaan path file untuk kontainer.

    • logPath: Path file log. Contoh: /data/logs/app_1.

    • filePattern: Nama file dari mana Anda ingin mengumpulkan log. Contoh: test.LOG.

    Parameter Config menentukan detail LoongCollector, seperti jenis plug-in input, output, dan pemrosesan serta metode pemfilteran kontainer. Untuk informasi selengkapnya, lihat AliyunLogConfigDetail. Untuk informasi selengkapnya tentang parameter lengkap dalam file YAML, lihat Parameter CR.

    # Konfigurasi output standar
    apiVersion: log.alibabacloud.com/v1alpha1
    kind: AliyunLogConfig
    metadata:
      # Tentukan nama sumber daya. Nama harus unik di kluster Kubernetes saat ini.
      name: simple-stdout-example
    spec:
      # Tentukan nama proyek target (opsional, default-nya adalah k8s-log-<your_cluster_id>)
      # project: k8s-log-test
      # Tentukan nama penyimpanan log. Jika penyimpanan log yang ditentukan tidak ada, Simple Log Service akan membuat Logstore secara otomatis.
      logstore: k8s-stdout
      # Tentukan konfigurasi Logtail.
      logtailConfig:
        # Tentukan jenis sumber data. Untuk mengumpulkan output standar, atur nilainya ke plugin.
        inputType: plugin
        # Tentukan nama konfigurasi koleksi Logtail. Nama harus sama dengan nama sumber daya yang ditentukan dalam metadata.name.
        configName: simple-stdout-example
        inputDetail:
          plugin:
            inputs:
              - type: service_docker_stdout
                detail:
                  # Tentukan koleksi stdout dan stderr.
                  Stdout: true
                  Stderr: true
                  # Tentukan namespace tempat pod yang berisi kontainer yang akan dikumpulkan berada. Mendukung pencocokan ekspresi reguler.
                  K8sNamespaceRegex: "^(default)$"
                  # Tentukan nama kontainer yang akan dikumpulkan. Mendukung pencocokan ekspresi reguler.
                  K8sContainerRegex: "^(app.*)$"
                  # Konfigurasikan konfigurasi chunk multi-baris.
                  # Konfigurasikan ekspresi reguler untuk awal baris.
                  BeginLineRegex: \d+-\d+-\d+.*
                  

Konsol Simple Log Service

Catatan

Metode ini cocok untuk skenario yang memerlukan pengaturan sederhana tanpa perlu masuk ke kluster Kubernetes. Namun, Anda tidak dapat membuat konfigurasi LoongCollector secara batch dengan metode ini.

  1. Masuk ke konsol Simple Log Service.

  2. Di bagian Projects, klik proyek yang digunakan untuk menginstal komponen LoongCollector. Contoh: k8s-log-<YOUR_CLUSTER_ID>. Di halaman yang muncul, klik ikon > logstore yang diinginkan, lalu klik Logtail Configurations. Di halaman Logtail Configuration, klik Add Logtail Configuration. Di kotak dialog Quick Data Import, temukan kartu Kubernetes - File dan klik Integrate Now.image

  3. Di langkah Machine Group Configurations wizard Import Data, atur parameter Scenario menjadi Kubernetes Clusters dan Deployment Method menjadi ACK Daemonset, pilih kelompok mesin k8s-group-${your_k8s_cluster_id}, lalu klik ikon > untuk memindahkan kelompok mesin dari bagian Source Machine Group ke bagian Applied Server Groups, kemudian klik Next.image

  4. Buat konfigurasi LoongCollector. Di langkah Logtail Configuration wizard Import Data, konfigurasikan parameter yang diperlukan dan klik Next. Proses pembuatan konfigurasi LoongCollector memerlukan waktu sekitar 1 menit. Daftar berikut menjelaskan pengaturan parameter utama. Untuk informasi selengkapnya, lihat Buat konfigurasi Logtail.

    • Global Configurations

      Di bagian Global Configuration, konfigurasikan parameter Configuration Name.

      image

    • Input Configurations

      • Logtail Deployment Mode: Pilih Daemonset.

      • File Path Type: Jenis path file yang digunakan untuk mengumpulkan log. Nilai yang valid: Path in Container dan Host Path. Jika volume hostPath dipasang ke kontainer dan Anda ingin mengumpulkan log berdasarkan path file yang dipetakan pada host, pilih Host Path. Untuk skenario lain, pilih Path in Container.

      • File Path: Direktori tempat log disimpan. Path file harus dimulai dengan garis miring (/). Contohnya, atur parameter File Path menjadi /data/wwwlogs/main/**/*.Log, yang berarti log dikumpulkan dari file yang diakhiri dengan .Log di direktori /data/wwwlogs/main. Anda dapat mengonfigurasi parameter Maximum Directory Monitoring Depth untuk menentukan jumlah maksimum level subdirektori yang dipantau. Parameter ini menentukan level subdirektori yang dapat dicocokkan oleh karakter wildcard ** dalam nilai parameter File Path. Nilai 0 berarti hanya direktori file log yang ditentukan yang dipantau.image

  5. Create indexes dan preview data. Secara default, Simple Log Service mengaktifkan pengindeksan teks penuh, sehingga indeks teks penuh dibuat dan Anda dapat mengkueri semua field di log berdasarkan indeks tersebut. Anda juga dapat membuat indeks untuk field secara manual berdasarkan log yang dikumpulkan atau mengklik Automatic Index Generation agar Simple Log Service menghasilkan indeks untuk field. Hal ini memungkinkan Anda mengkueri data secara akurat berdasarkan indeks field, mengurangi biaya pengindeksan, dan meningkatkan efisiensi kueri. Untuk informasi selengkapnya, lihat Buat indeks.image

Variabel lingkungan

Catatan

Metode ini hanya mendukung log teks satu baris. Jika Anda ingin mengumpulkan log teks multi-baris atau log dengan format lain, gunakan metode di atas.

  1. Buat aplikasi dan konfigurasikan Simple Log Service.

    Konfigurasikan Simple Log Service di konsol ACK
    1. Masuk ke konsol ACK. Di panel navigasi sebelah kiri, klik Clusters.

    2. Di halaman Clusters, klik nama kluster yang diinginkan. Di panel navigasi sebelah kiri, pilih Workloads > Deployments.

    3. Di halaman Deployments, klik Create From Image.

    4. Di tab Application Basic Information, atur Application Name, klik Next, lalu di halaman Container Configuration, atur nama citra.

      Bagian berikut hanya menjelaskan pengaturan yang terkait dengan Simple Log Service. Untuk informasi selengkapnya tentang pengaturan lainnya, lihat Buat beban kerja tanpa status (Deployment).

    5. Di bagian Log, konfigurasikan informasi terkait log.

      1. Buat konfigurasi Logtail.

        Klik Collection Configuration untuk membuat konfigurasi Logtail. Setiap konfigurasi Logtail terdiri dari parameter Logstore dan Log Path In Container.

        • Logstore: nama logstore tempat log yang dikumpulkan disimpan. Jika logstore belum ada, ACK secara otomatis membuatnya di proyek Simple Log Service yang terkait dengan kluster ACK Anda.

          Catatan

          Periode retensi default log di logstore adalah 90 hari.

        • Log Path in Container: path tempat log dikumpulkan. Nilai /usr/local/tomcat/logs/catalina.*.log berarti Logtail mengumpulkan log teks dari aplikasi Tomcat.image

          Secara default, setiap logstore memiliki satu konfigurasi Logtail yang digunakan untuk mengumpulkan log berdasarkan baris dalam mode sederhana.

      2. Buat tag kustom.

        Klik Custom Tag untuk membuat tag kustom. Setiap tag kustom adalah pasangan kunci-nilai yang ditambahkan ke log yang dikumpulkan. Anda dapat menggunakan tag kustom untuk mengidentifikasi log kontainer, misalnya dengan menentukan nomor versi pada parameter Tag Value.image

    Konfigurasikan Simple Log Service menggunakan templat YAML
    1. Masuk ke konsol ACK. Di panel navigasi sebelah kiri, klik Clusters.

    2. Di halaman Clusters, klik nama kluster yang ingin Anda kelola. Di panel navigasi sebelah kiri, pilih Workloads > Deployments.

    3. Di halaman Deployments, pilih namespace dari daftar drop-down Namespace di bagian atas halaman, lalu klik Create From YAML di pojok kanan atas halaman.

    4. Konfigurasikan templat YAML.

      Sintaksis templat YAML sama dengan sintaksis Kubernetes. Namun, untuk menentukan konfigurasi pengumpulan untuk kontainer, Anda harus menggunakan env untuk menambahkan Collection Configurations dan Custom Tags ke kontainer. Anda juga harus membuat volumeMounts dan volumes yang sesuai berdasarkan konfigurasi pengumpulan. Kode berikut adalah contohnya:

      apiVersion: v1
      kind: Pod
      metadata:
        name: my-demo
      spec:
        containers:
        - name: my-demo-app
          image: 'registry.cn-hangzhou.aliyuncs.com/log-service/docker-log-test:latest'
          env:
          # Konfigurasikan variabel lingkungan
          - name: aliyun_logs_log-varlog
            value: /var/log/*.log
          - name: aliyun_logs_mytag1_tags
            value: tag1=v1
          # Konfigurasikan pemasangan volume
          volumeMounts:
          - name: volumn-sls-mydemo
            mountPath: /var/log
          # Jika pod dijalankan ulang berulang kali, Anda dapat menambahkan perintah sleep ke parameter startup pod.
          command: ["sh", "-c"]  # Jalankan perintah di shell.
          args: ["sleep 3600"]   # Buat pod tidur selama 3.600 detik (1 jam).
        volumes:
        - name: volumn-sls-mydemo
          emptyDir: {}
      1. Gunakan variabel lingkungan untuk membuat Collection Configurations dan Custom Tags. Semua variabel lingkungan yang terkait dengan konfigurasi menggunakan aliyun_logs_ sebagai awalan.

        • Buat konfigurasi pengumpulan dalam format berikut:

          - name: aliyun_logs_log-varlog
            value: /var/log/*.log                        

          Dalam contoh ini, konfigurasi pengumpulan dibuat dalam format aliyun_logs_{key} dengan nilai {key} sebesar log-varlog.

          • aliyun_logs_log-varlog: Variabel lingkungan ini membuat konfigurasi untuk mengumpulkan konten file `/var/log/*.log` dari kontainer dan menyimpannya di Logstore bernama log-varlog. Nama konfigurasi pengumpulan Simple Log Service yang sesuai juga log-varlog, dengan tujuan mengumpulkan konten file `/var/log/*.log` dari kontainer ke log-varlog Logstore.

        • Buat Custom Tags dalam format berikut:

          - name: aliyun_logs_mytag1_tags
            value: tag1=v1                       

          Setelah tag ditambahkan, tag tersebut secara otomatis ditambahkan ke data log yang dikumpulkan dari kontainer. mytag1 adalah nama yang tidak mengandung garis bawah (_).

      2. Jika konfigurasi pengumpulan Anda menentukan path pengumpulan selain stdout, Anda harus membuat volumeMounts yang sesuai di bagian ini.

        Dalam contoh ini, konfigurasi pengumpulan menambahkan pengumpulan /var/log/*.log, sehingga volumeMounts yang sesuai untuk /var/log ditambahkan.

    5. Setelah menyelesaikan templat YAML, klik Create. Kluster Kubernetes akan mengeksekusi konfigurasi tersebut.

  2. Gunakan variabel lingkungan untuk mengonfigurasi pengaturan lanjutan.

    Konfigurasi LoongCollector berbasis variabel lingkungan mendukung berbagai parameter. Anda dapat menggunakan variabel lingkungan untuk mengonfigurasi pengaturan lanjutan guna memenuhi kebutuhan pengumpulan log Anda.

    Penting

    Anda tidak dapat menggunakan variabel lingkungan untuk mengonfigurasi pengumpulan log dalam skenario komputasi tepi.

    Variabel

    Deskripsi

    Contoh

    Catatan penggunaan

    aliyun_logs_{key}

    • Wajib. {key} hanya dapat berisi huruf kecil, angka, dan tanda hubung (-).

    • Jika variabel aliyun_logs_{key}_logstore yang ditentukan tidak ada, logstore bernama {key} dibuat secara otomatis untuk menyimpan log yang dikumpulkan.

    • Untuk mengumpulkan stdout kontainer, atur nilainya menjadi stdout. Anda juga dapat mengatur nilainya menjadi path file log di dalam kontainer.

    • - name: aliyun_logs_catalina
      
        value: stdout
    • - name: aliyun_logs_access-log
      
        value: /var/log/nginx/access.log
    • Secara default, log dikumpulkan dalam mode sederhana. Jika Anda ingin mengurai log yang dikumpulkan, kami menyarankan agar Anda mengonfigurasi pengaturan terkait di konsol Simple Log Service atau menggunakan CRD.

    • {key} menentukan nama konfigurasi LoongCollector. Nama konfigurasi harus unik di kluster Kubernetes.

    aliyun_logs_{key}_tags

    Opsional. Variabel ini digunakan untuk menambahkan tag ke log. Nilainya harus dalam format {tag-key}={tag-value}.

    - name: aliyun_logs_catalina_tags
    
      value: app=catalina

    Tidak berlaku.

    aliyun_logs_{key}_project

    Opsional. Variabel ini menentukan proyek Simple Log Service. Proyek default adalah proyek yang dihasilkan setelah LoongCollector diinstal.

    - name: aliyun_logs_catalina_project
    
      value: my-k8s-project

    Proyek harus diterapkan di wilayah yang sama dengan LoongCollector.

    aliyun_logs_{key}_logstore

    Opsional. Variabel ini menentukan logstore. Nilai default: {key}.

    - name: aliyun_logs_catalina_logstore
    
      value: my-logstore

    Tidak berlaku.

    aliyun_logs_{key}_shard

    Opsional. Variabel ini menentukan jumlah shard logstore. Nilai yang valid: 1 hingga 10. Nilai default: 2.

    Catatan

    Jika logstore yang Anda tentukan sudah ada, variabel ini tidak berlaku.

    - name: aliyun_logs_catalina_shard
    
      value: '4'

    Tidak berlaku.

    aliyun_logs_{key}_ttl

    Opsional. Variabel ini menentukan periode retensi log. Nilai yang valid: 1 hingga 3650.

    • Jika Anda mengatur nilainya menjadi 3650, log disimpan secara permanen.

    • Periode retensi default adalah 90 hari.

    Catatan

    Jika logstore yang Anda tentukan sudah ada, variabel ini tidak berlaku.

    - name: aliyun_logs_catalina_ttl
    
      value: '3650'

    Tidak berlaku.

    aliyun_logs_{key}_machinegroup

    Opsional. Variabel ini menentukan kelompok mesin tempat aplikasi diterapkan. Kelompok mesin default adalah kelompok mesin tempat LoongCollector diterapkan. Untuk informasi selengkapnya tentang cara menggunakan variabel ini, lihat Kumpulkan log kontainer dari kluster ACK.

    - name: aliyun_logs_catalina_machinegroup
    
      value: my-machine-group

    Tidak berlaku.

    aliyun_logs_{key}_logstoremode

    Opsional. Variabel ini menentukan jenis logstore. Nilai default: standard. Nilai yang valid: standard dan query.

    Catatan

    Jika logstore yang Anda tentukan sudah ada, variabel ini tidak berlaku.

    • standard: Logstore standar. Jenis logstore ini mendukung fitur analisis log dan cocok untuk skenario seperti pemantauan waktu nyata dan analisis interaktif. Anda dapat menggunakan jenis logstore ini untuk membangun sistem observabilitas yang komprehensif.

    • query: Logstore kueri. Jenis logstore ini mendukung kueri berkinerja-tinggi. Biaya lalu lintas indeks logstore Query kira-kira separuh dari logstore Standard. Logstore Query tidak mendukung analisis SQL. Logstore Query cocok untuk skenario di mana jumlah data besar, periode retensi log panjang, atau analisis log tidak diperlukan. Jika log disimpan selama berminggu-minggu atau berbulan-bulan, periode retensi log dianggap panjang.

    • - name: aliyun_logs_catalina_logstoremode
        value: standard 
    • - name: aliyun_logs_catalina_logstoremode
        value: query 

    Tidak berlaku.

    • Custom Requirement 1: Collect Data From Multiple Applications To The Same Logstore

      Dalam skenario ini, konfigurasikan parameter aliyun_logs_{key}_logstore. Contoh berikut menunjukkan cara mengumpulkan stdout dari dua aplikasi ke stdout-logstore.

      {key} Aplikasi 1 diatur menjadi app1-stdout, dan {key} Aplikasi 2 diatur menjadi app2-stdout.

      Konfigurasikan variabel lingkungan berikut untuk Aplikasi 1:

      # Konfigurasikan variabel lingkungan
          - name: aliyun_logs_app1-stdout
            value: stdout
          - name: aliyun_logs_app1-stdout_logstore
            value: stdout-logstore

      Konfigurasikan variabel lingkungan berikut untuk Aplikasi 2:

      # Konfigurasikan variabel lingkungan
          - name: aliyun_logs_app2-stdout
            value: stdout
          - name: aliyun_logs_app2-stdout_logstore
            value: stdout-logstore
    • Custom Requirement 2: Collect Data From Multiple Applications To Different Projects

      Dalam skenario ini, lakukan langkah-langkah berikut:

      1. Buat kelompok mesin di setiap proyek dan atur pengenal kustom kelompok mesin dalam format berikut: k8s-group-{cluster-id}, di mana {cluster-id} adalah ID kluster. Anda dapat menentukan nama kelompok mesin kustom.

      2. Tentukan proyek, logstore, dan kelompok mesin dalam variabel lingkungan untuk setiap aplikasi. Nama kelompok mesin sama dengan nama yang Anda buat pada langkah sebelumnya.

        Dalam contoh berikut, {key} Aplikasi 1 diatur menjadi app1-stdout, dan {key} Aplikasi 2 diatur menjadi app2-stdout. Jika kedua aplikasi diterapkan di kluster ACK yang sama, Anda dapat menggunakan kelompok mesin yang sama untuk aplikasi tersebut.

        Konfigurasikan variabel lingkungan berikut untuk Aplikasi 1:

        # Konfigurasikan variabel lingkungan
            - name: aliyun_logs_app1-stdout
              value: stdout
            - name: aliyun_logs_app1-stdout_project
              value: app1-project
            - name: aliyun_logs_app1-stdout_logstore
              value: app1-logstore
            - name: aliyun_logs_app1-stdout_machinegroup
              value: app1-machine-group

        Konfigurasikan variabel lingkungan berikut untuk Aplikasi 2:

        # Konfigurasikan variabel lingkungan
            - name: aliyun_logs_app2-stdout
              value: stdout
            - name: aliyun_logs_app2-stdout_project
              value: app2-project
            - name: aliyun_logs_app2-stdout_logstore
              value: app2-logstore
            - name: aliyun_logs_app2-stdout_machinegroup
              value: app1-machine-group

Kumpulkan keluaran standar

Anda dapat membuat konfigurasi pengumpulan menggunakan salah satu dari empat metode berikut. Kami menyarankan agar Anda hanya menggunakan satu metode untuk mengelola konfigurasi pengumpulan log Anda.

Metode konfigurasi

Deskripsi konfigurasi

Skenario

CRD - AliyunPipelineConfig (direkomendasikan)

Anda dapat menggunakan Custom Resource Definition (CRD) AliyunPipelineConfig, yaitu CRD Kubernetes, untuk mengelola konfigurasi LoongCollector.

Metode ini cocok untuk skenario yang memerlukan pengumpulan dan pemrosesan kompleks serta konsistensi versi antara konfigurasi LoongCollector dan kontainer LoongCollector di kluster ACK.

CRD - AliyunLogConfig

Anda dapat menggunakan CRD AliyunLogConfig, yaitu CRD versi lama, untuk mengelola konfigurasi LoongCollector.

Metode ini cocok untuk skenario yang telah diketahui, di mana konfigurasi LoongCollector dapat dikelola menggunakan CRD versi lama.

Metode ini cocok untuk skenario yang telah diketahui di mana konfigurasi LoongCollector dapat dikelola menggunakan CRD versi lama. Anda disarankan untuk secara bertahap mengganti CRD AliyunLogConfig dengan CRD AliyunPipelineConfig guna mendapatkan ekstensibilitas dan stabilitas yang lebih baik. Untuk informasi selengkapnya tentang perbedaan antara kedua metode tersebut, lihat CRD.

Konsol Simple Log Service

Anda dapat mengelola konfigurasi LoongCollector melalui antarmuka grafis berdasarkan penyebaran dan konfigurasi cepat.

Metode ini cocok untuk skenario yang memerlukan pengaturan sederhana. Namun, jika menggunakan metode ini, fitur lanjutan dan pengaturan khusus tertentu tidak tersedia.

Variabel lingkungan

Anda dapat menggunakan variabel lingkungan untuk mengonfigurasi parameter guna mengelola konfigurasi LoongCollector secara efisien.

Metode ini hanya mendukung pengaturan sederhana tanpa logika pemrosesan kompleks dan hanya mendukung log teks satu baris. Variabel lingkungan dapat digunakan untuk membuat konfigurasi LoongCollector yang memenuhi persyaratan berikut:

  • Kumpulkan data dari beberapa aplikasi ke logstore yang sama.

  • Kumpulkan data dari beberapa aplikasi ke proyek yang berbeda.

Catatan

Jika Anda menggunakan metode (Direkomendasikan) CRD-AliyunPipelineConfig, versi komponen logtail-ds harus 1.8.10 atau lebih baru. Untuk informasi selengkapnya tentang cara meningkatkan, lihat Tingkatkan Logtail ke versi terbaru. Tidak ada batasan versi untuk komponen LoongCollector.

Crd-AliyunPipelineConfig (direkomendasikan)

Untuk membuat konfigurasi Logtail, cukup buat custom resource AliyunPipelineConfig, yang akan berlaku secara otomatis.

Penting

Untuk konfigurasi yang dibuat melalui custom resource, modifikasi harus dilakukan dengan memperbarui custom resource yang sesuai. Perubahan yang dilakukan di konsol Simple Log Service tidak akan disinkronkan ke custom resource.

  1. Masuk ke konsol ACK.

  2. Di halaman Clusters, temukan kluster target dan klik namanya. Di panel navigasi sebelah kiri, pilih Workloads > Custom Resources.

  3. Di halaman Custom Resources, klik tab CRDs, lalu klik Create from YAML.

  4. Modifikasi parameter dalam contoh YAML berikut sesuai kebutuhan, salin dan tempelkan ke dalam templat, lalu klik Create.

    Catatan

    Anda dapat menggunakan generator konfigurasi Logtail untuk membuat skrip YAML skenario target. Alat ini membantu Anda menyelesaikan konfigurasi dengan cepat dan mengurangi operasi manual.

    File YAML contoh di bawah ini mengambil keluaran standar dari Pod yang diberi label app: ^(.*test.*)$ di namespace default, menggunakan mode teks multi-baris, dan meneruskannya ke logstore bernama k8s-stdout, yang dibuat secara otomatis di dalam proyek bernama k8s-log-<YOUR_CLUSTER_ID>. Sesuaikan parameter dalam YAML sesuai kebutuhan:

    • project: Masuk ke Konsol Simple Log Service dan identifikasi nama proyek yang dibuat oleh Logtail yang Anda instal, biasanya dalam format k8s-log-<YOUR_CLUSTER_ID>.

    • IncludeK8sLabel: Digunakan untuk memfilter label pod target. Misalnya, app: ^(.*test.*)$ menunjukkan bahwa kunci label adalah app, dan akan mengumpulkan pod dengan nilai yang mencakup test.

    • Endpoint dan Region: Misalnya, ap-southeast-1.log.aliyuncs.com dan ap-southeast-1.

    Untuk informasi selengkapnya tentang config dalam file YAML, seperti jenis plug-in input, output, pemrosesan yang didukung, dan metode pemfilteran kontainer, lihat PipelineConfig. Untuk daftar lengkap parameter YAML, lihat Parameter CR.

    apiVersion: telemetry.alibabacloud.com/v1alpha1
    # Buat ClusterAliyunPipelineConfig.
    kind: ClusterAliyunPipelineConfig
    metadata:
      # Tentukan nama sumber daya. Nama harus unik di kluster Kubernetes saat ini. Nama ini juga merupakan nama konfigurasi Logtail yang dibuat. 
      name: example-k8s-stdout
    spec:
      # Tentukan proyek target.
      project:
        name: k8s-log-<YOUR_CLUSTER_ID>
      # Buat logstore untuk menyimpan log.
      logstores:
        - name: k8s-stdout
      # Definisikan konfigurasi Logtail.
      config:
        # Contoh log (opsional)
        sample: |
          2024-06-19 16:35:00 INFO test log
          line-1
          line-2
          end
        # Definisikan plug-in input.
        inputs:
              # Gunakan plug-in service_docker_stdout untuk mengumpulkan log teks di dalam kontainer.
          - Type: service_docker_stdout
            Stdout: true
            Stderr: true
            # Konfigurasikan kondisi filter informasi kontainer. Beberapa opsi berada dalam hubungan "dan".
            # Tentukan namespace tempat pod yang berisi kontainer yang akan dikumpulkan berada. Mendukung pencocokan ekspresi reguler.
            K8sNamespaceRegex: "^(default)$"
            # Aktifkan pratinjau metadata kontainer.
            CollectContainersFlag: true
            # Kumpulkan kontainer yang memenuhi kondisi label Pod. Beberapa entri berada dalam hubungan "atau".
            IncludeK8sLabel:
              app: ^(.*test.*)$
            # Konfigurasikan konfigurasi chunk multi-baris. Konfigurasi tidak valid untuk pengumpulan log satu baris.
            # Konfigurasikan ekspresi reguler untuk awal baris.
            BeginLineRegex: \d+-\d+-\d+.*
        # Definisikan plug-in output
        flushers:
          # Gunakan plug-in flusher_sls untuk mengirim log ke logstore tertentu.
          - Type: flusher_sls
            # Pastikan logstore ada.
            Logstore: k8s-stdout
            # Pastikan endpoint valid.
            Endpoint: ap-southeast-1.log.aliyuncs.com
            Region: ap-southeast-1
            TelemetryType: logs

CRD-AliyunLogConfig

Untuk membuat konfigurasi Logtail, cukup buat custom resource AliyunLogConfig, yang akan berlaku secara otomatis.

Penting

Untuk konfigurasi yang dibuat melalui custom resource, modifikasi harus dilakukan dengan memperbarui custom resource yang sesuai. Perubahan yang dilakukan di Konsol Simple Log Service tidak akan disinkronkan ke custom resource.

  1. Masuk ke konsol ACK.

  2. Di halaman Clusters, temukan kluster target dan klik namanya. Di panel navigasi sebelah kiri, pilih Workloads > Custom Resources.

  3. Di halaman Custom Resources, klik tab CRDs, lalu klik Create from YAML.

  4. Modifikasi parameter dalam contoh YAML berikut sesuai kebutuhan, salin dan tempelkan ke dalam templat, lalu klik Create.

    Skrip YAML ini akan membuat konfigurasi Logtail bernama simple-stdout-example. Konfigurasi ini akan mengumpulkan keluaran standar dari semua kontainer di kluster yang namanya dimulai dengan app, menggunakan mode multi-baris. Data yang dikumpulkan kemudian akan dikirim ke logstore bernama k8s-stdout di dalam proyek bernama k8s-log-<YOUR_CLUSTER_ID>.

    Untuk informasi selengkapnya tentang item logtailConfig dalam file YAML, termasuk jenis plug-in input, output, pemrosesan yang didukung, dan metode pemfilteran kontainer, lihat AliyunLogConfigDetail. Untuk daftar lengkap parameter YAML, lihat Parameter CR.

    # Konfigurasi keluaran standar
    apiVersion: log.alibabacloud.com/v1alpha1
    kind: AliyunLogConfig
    metadata:
      # Tentukan nama sumber daya. Nama harus unik di kluster Kubernetes saat ini.
      name: simple-stdout-example
    spec:
      # Tentukan nama proyek target (opsional, default adalah k8s-log-<your_cluster_id>)
      # project: k8s-log-test
      # Tentukan nama logstore. Jika logstore yang ditentukan tidak ada, Simple Log Service secara otomatis membuat Logstore.
      logstore: k8s-stdout
      # Tentukan konfigurasi Logtail.
      logtailConfig:
        # Tentukan jenis sumber data. Untuk mengumpulkan keluaran standar, atur nilainya menjadi plugin.
        inputType: plugin
        # Tentukan nama konfigurasi pengumpulan Logtail. Nama harus sama dengan nama sumber daya yang ditentukan di metadata.name.
        configName: simple-stdout-example
        inputDetail:
          plugin:
            inputs:
              - type: service_docker_stdout
                detail:
                  # Tentukan pengumpulan stdout dan stderr.
                  Stdout: true
                  Stderr: true
                  # Tentukan namespace tempat pod yang berisi kontainer yang akan dikumpulkan berada. Mendukung pencocokan ekspresi reguler.
                  K8sNamespaceRegex: "^(default)$"
                  # Tentukan nama kontainer yang akan dikumpulkan. Mendukung pencocokan ekspresi reguler.
                  K8sContainerRegex: "^(app.*)$"
                  # Konfigurasikan konfigurasi chunk multi-baris.
                  # Konfigurasikan ekspresi reguler untuk awal baris.
                  BeginLineRegex: \d+-\d+-\d+.*
                  

Konsol Simple Log Service

  1. Masuk ke Konsol Simple Log Service.

  2. Pilih proyek Anda dari daftar, seperti k8s-log-<YOUR_CLUSTER_ID>. Di halaman proyek, klik Logtail Configurations untuk logstore target, klik Add Logtail Configuration, dan klik Integrate Now di bawah K8s - Stdout and Stderr - Old Version.image

  3. Karena Logtail sudah diinstal untuk kluster ACK, pilih Use Existing Machine Groups.image

  4. Di halaman Machine Group Configurations, pilih kelompok mesin k8s-group-${your_k8s_cluster_id} di bawah metode ACK Daemonset dalam skenario Kubernetes Clusters, tambahkan ke kelompok mesin yang diterapkan, lalu klik Next.image

  5. Buat konfigurasi Logtail, masukkan konfigurasi yang diperlukan seperti dijelaskan di bawah ini, dan klik Next. Diperlukan waktu sekitar 1 menit agar konfigurasi berlaku.

    Bagian ini hanya mencakup konfigurasi yang diperlukan. Untuk daftar lengkap, lihat Konfigurasi Global.

    • Global Configuration

      Masukkan nama konfigurasi di Global Configuration.

      image

  6. Buat indeks dan pratinjau data: Secara default, Simple Log Service mengaktifkan indeks teks penuh, mengindeks semua field di log untuk kueri. Anda juga dapat membuat indeks field secara manual berdasarkan log yang dikumpulkan, atau klik Automatic Index Generation. Ini akan menghasilkan indeks field untuk kueri istilah pada field tertentu, mengurangi biaya indeks dan meningkatkan efisiensi kueri.image

Variabel lingkungan

  1. Konfigurasikan Simple Log Service saat membuat aplikasi.

    Konsol
    1. Masuk ke Konsol Manajemen Container Service dan klik Clusters di panel navigasi sebelah kiri.

    2. Di halaman Clusters, klik kluster target, lalu pilih Workloads > Deployments dari panel navigasi sebelah kiri.

    3. Di halaman Deployments, pilih namespace dan klik Create from Image.

    4. Di halaman Basic Information, atur nama aplikasi, lalu klik Next untuk masuk ke halaman Container.

      Bagian ini memperkenalkan konfigurasi yang terkait dengan Simple Log Service. Untuk informasi selengkapnya tentang konfigurasi aplikasi lainnya, lihat Buat beban kerja tanpa status (Deployment).

    5. Di bagian Log, konfigurasikan informasi terkait log.

      1. Atur Collection Configuration.

        Klik Collection Configuration untuk membuat konfigurasi pengumpulan baru. Setiap konfigurasi terdiri dari dua item:

        • Logstore: Tentukan logstore tempat log yang dikumpulkan disimpan. Jika logstore tidak ada, ACK akan secara otomatis membuatnya di proyek Simple Log Service yang terkait dengan kluster Anda.

          Catatan

          Periode retensi log default untuk logstore yang baru dibuat adalah 90 hari.

        • Log Path in Container (Can be set to stdout): Tentukan stdout untuk mengumpulkan keluaran standar dan keluaran kesalahan dari kontainer.

          Collection Configuration

          Setiap konfigurasi pengumpulan dibuat secara otomatis sebagai konfigurasi logstore, dan log dikumpulkan dalam mode sederhana (per baris) secara default.

      2. Atur Custom Tag.

        Klik Custom Tag untuk membuat tag kustom. Setiap tag adalah pasangan kunci-nilai yang akan ditambahkan ke log yang dikumpulkan. Gunakan tag ini untuk memberi label data log kontainer, seperti nomor versi.

        Custom tag

    6. Setelah mengonfigurasi semua pengaturan, klik Next. Untuk langkah-langkah selanjutnya, lihat Buat beban kerja tanpa status (Deployment).

    Templat YAML
    1. Masuk ke Konsol Manajemen Container Service atau , dan pilih Clusters dari panel navigasi sebelah kiri.

    2. Di halaman Clusters, klik nama kluster target, lalu pilih Workloads > Deployments dari panel navigasi sebelah kiri.

    3. Di halaman Deployments, pilih namespace dan klik Create from YAML.

    4. Konfigurasikan file YAML.

      Sintaksis templat YAML konsisten dengan Kubernetes. Untuk menentukan konfigurasi pengumpulan untuk kontainer, gunakan env untuk menambahkan Collection Configuration dan Custom Tag ke kontainer, dan buat volumeMounts dan volumes yang sesuai berdasarkan konfigurasi pengumpulan. Berikut adalah contoh pod sederhana:

      apiVersion: apps/v1
      kind: Deployment
      metadata:
        annotations:
          deployment.kubernetes.io/revision: '1'
        labels:
          app: deployment-stdout
          cluster_label: CLUSTER-LABEL-A
        name: deployment-stdout
        namespace: default
      spec:
        progressDeadlineSeconds: 600
        replicas: 1
        revisionHistoryLimit: 10
        selector:
          matchLabels:
            app: deployment-stdout
        strategy:
          rollingUpdate:
            maxSurge: 25%
            maxUnavailable: 25%
          type: RollingUpdate
        template:
          metadata:
            labels:
              app: deployment-stdout
              cluster_label: CLUSTER-LABEL-A
          spec:
            containers:
              - args:
                  - >-
                    while true; do date '+%Y-%m-%d %H:%M:%S'; echo 1; echo 2; echo 3;
                    echo 4; echo 5; echo 6; echo 7; echo 8; echo 9; 
                    sleep 10; done
                command:
                  - /bin/sh
                  - '-c'
                  - '--'
                env:
                  - name: cluster_id
                    value: CLUSTER-A
                  - name: aliyun_logs_log-stdout
                    value: stdout
                image: 'mirrors-ssl.aliyuncs.com/busybox:latest'
                imagePullPolicy: IfNotPresent
                name: timestamp-test
                resources: {}
                terminationMessagePath: /dev/termination-log
                terminationMessagePolicy: File
            dnsPolicy: ClusterFirst
            restartPolicy: Always
            schedulerName: default-scheduler
            securityContext: {}
            terminationGracePeriodSeconds: 30
      1. Buat Collection Configuration dan Custom Tag Anda menggunakan variabel lingkungan. Semua variabel lingkungan terkait diawali dengan awalan aliyun_logs_.

        • Aturan untuk membuat konfigurasi pengumpulan adalah sebagai berikut:

          - name: aliyun_logs_log-varlog
            value: /var/log/*.log                        

          Contoh ini membuat konfigurasi pengumpulan dalam format aliyun_logs_{key}, di mana {key} adalah log-varlog.

          • aliyun_logs_log-varlog: Variabel ini menunjukkan pembuatan logstore bernama log-varlog. Path pengumpulan log diatur ke /var/log/*.log, dan nama konfigurasi pengumpulan Simple Log Service yang sesuai juga log-varlog. Tujuannya adalah mengumpulkan konten file /var/log/*.log dari kontainer ke log-varlog Logstore.

        • Aturan untuk Creating Custom Tags adalah sebagai berikut:

          - name: aliyun_logs_mytag1_tags
            value: tag1=v1                       

          Setelah tag dikonfigurasi, field yang sesuai secara otomatis ditambahkan ke data log yang dikumpulkan dari kontainer. mytag1 harus nama apa pun yang tidak mengandung '_'.

      2. Jika konfigurasi pengumpulan Anda menentukan path selain stdout, Anda perlu membuat volumeMounts yang sesuai di bagian ini.

        Dalam contoh ini, konfigurasi pengumpulan menambahkan pengumpulan untuk /var/log/*.log, sehingga volumeMounts yang sesuai untuk /var/log ditambahkan.

    5. Setelah menyelesaikan YAML, klik Create untuk mengirimkan konfigurasi ke kluster Kubernetes guna dieksekusi.

  2. Konfigurasikan parameter lanjutan untuk variabel lingkungan.

    Variabel lingkungan mendukung berbagai parameter konfigurasi untuk pengumpulan log. Atur parameter lanjutan sesuai kebutuhan.

    Penting

    Mengonfigurasi pengumpulan log melalui variabel lingkungan tidak cocok untuk skenario komputasi tepi.

    Field

    Deskripsi

    Contoh

    Catatan

    aliyun_logs_{key}

    • Wajib. {key} hanya dapat berisi huruf kecil, angka, dan tanda hubung (-).

    • Jika aliyun_logs_{key}_logstore tidak ada, logstore bernama {key} dibuat secara default.

    • Jika nilainya stdout, ini menunjukkan pengumpulan keluaran standar kontainer. Nilai lain menunjukkan path log di dalam kontainer.

    • - name: aliyun_logs_catalina
      
        value: stdout
    • - name: aliyun_logs_access-log
      
        value: /var/log/nginx/access.log

    aliyun_logs_{key}_tags

    Opsional. Nilainya harus dalam format {tag-key}={tag-value} dan digunakan untuk memberi tag log.

    - name: aliyun_logs_catalina_tags
    
      value: app=catalina

    Tidak berlaku.

    aliyun_logs_{key}_project

    Opsional. Nilainya menentukan proyek di Simple Log Service. Jika variabel lingkungan ini tidak ada, proyek yang Anda pilih saat instalasi akan digunakan.

    - name: aliyun_logs_catalina_project
    
      value: my-k8s-project

    Proyek harus diterapkan di wilayah yang sama dengan Logtail.

    aliyun_logs_{key}_logstore

    Opsional. Nilainya menentukan Logstore di Simple Log Service. Jika variabel lingkungan ini tidak ada, Logstore sama dengan {key}.

    - name: aliyun_logs_catalina_logstore
    
      value: my-logstore

    Tidak berlaku.

    aliyun_logs_{key}_shard

    Opsional. Nilainya menentukan jumlah shard saat membuat logstore. Nilai yang valid: 1 hingga 10. Jika variabel lingkungan ini tidak ada, nilainya adalah 2.

    Catatan

    Jika logstore sudah ada, parameter ini tidak berlaku.

    - name: aliyun_logs_catalina_shard
    
      value: '4'

    Tidak berlaku.

    aliyun_logs_{key}_ttl

    Opsional. Nilainya menentukan periode retensi log. Nilai yang valid: 1 hingga 3650.

    • Jika nilainya 3650, periode retensi log diatur menjadi permanen.

    • Jika variabel lingkungan ini tidak ada, periode retensi log default adalah 90 hari.

    Catatan

    Jika logstore sudah ada, parameter ini tidak berlaku.

    - name: aliyun_logs_catalina_ttl
    
      value: '3650'

    Tidak berlaku.

    aliyun_logs_{key}_machinegroup

    Opsional. Nilainya menentukan kelompok mesin aplikasi. Jika variabel lingkungan ini tidak ada, kelompok mesin default tempat Logtail diinstal akan digunakan. Untuk penggunaan detail parameter ini, lihat Kumpulkan log kontainer dari kluster ACK.

    - name: aliyun_logs_catalina_machinegroup
    
      value: my-machine-group

    Tidak berlaku.

    aliyun_logs_{key}_logstoremode

    Opsional. Nilainya menentukan jenis logstore. Nilai default: standard. Nilai yang valid:

    Catatan

    Jika logstore sudah ada, parameter ini tidak berlaku.

    • standard: Mendukung fitur analisis data satu atap dari Simple Log Service. Cocok untuk pemantauan waktu nyata, analisis interaktif, dan membangun sistem observabilitas lengkap.

    • query: Mendukung kueri berkinerja-tinggi. Biaya lalu lintas indeks sekitar separuh dari standard, tetapi tidak mendukung analisis SQL. Cocok untuk skenario dengan volume data besar, periode penyimpanan panjang (mingguan atau bulanan), dan tidak memerlukan analisis log.

    • - name: aliyun_logs_catalina_logstoremode
        value: standard 
    • - name: aliyun_logs_catalina_logstoremode
        value: query 

    Parameter ini memerlukan versi citra logtail-ds >=1.3.1.

    • Customization requirement 1: Collect data from multiple applications into the same logstore

      Untuk mengumpulkan data dari beberapa aplikasi ke Logstore yang sama, atur parameter aliyun_logs_{key}_logstore. Misalnya, konfigurasi berikut mengumpulkan stdout dari dua aplikasi ke stdout-logstore.

      Dalam contoh ini, {key} untuk Aplikasi 1 adalah app1-stdout, sedangkan untuk Aplikasi 2 adalah {key} app2-stdout.

      Variabel lingkungan untuk Aplikasi 1 adalah sebagai berikut:

      # Konfigurasikan variabel lingkungan
          - name: aliyun_logs_app1-stdout
            value: stdout
          - name: aliyun_logs_app1-stdout_logstore
            value: stdout-logstore

      Variabel lingkungan untuk Aplikasi 2 adalah sebagai berikut:

      # Konfigurasikan variabel lingkungan
          - name: aliyun_logs_app2-stdout
            value: stdout
          - name: aliyun_logs_app2-stdout_logstore
            value: stdout-logstore
    • Customization requirement 2: Collect data from different applications into different projects

      Untuk mengumpulkan data dari aplikasi yang berbeda ke beberapa proyek, ikuti langkah-langkah berikut:

      1. Buat kelompok mesin di setiap proyek dengan ID kustom bernama k8s-group-{cluster-id}, di mana {cluster-id} adalah ID kluster Anda. Nama kelompok mesin dapat dikustomisasi.

      2. Konfigurasikan informasi proyek, logstore, dan kelompok mesin di variabel lingkungan untuk setiap aplikasi. Gunakan nama kelompok mesin yang sama seperti yang dibuat pada langkah sebelumnya.

        Dalam contoh berikut, {key} untuk Aplikasi 1 adalah app1-stdout, dan {key} untuk Aplikasi 2 adalah app2-stdout. Jika kedua aplikasi diterapkan di kluster K8s yang sama, Anda dapat menggunakan kelompok mesin yang sama untuk keduanya.

        Variabel lingkungan untuk Aplikasi 1 adalah sebagai berikut:

        # Konfigurasikan variabel lingkungan
            - name: aliyun_logs_app1-stdout
              value: stdout
            - name: aliyun_logs_app1-stdout_project
              value: app1-project
            - name: aliyun_logs_app1-stdout_logstore
              value: app1-logstore
            - name: aliyun_logs_app1-stdout_machinegroup
              value: app1-machine-group

        Variabel lingkungan untuk Aplikasi 2 adalah sebagai berikut:

        # Aplikasi 2 Konfigurasikan variabel lingkungan
            - name: aliyun_logs_app2-stdout
              value: stdout
            - name: aliyun_logs_app2-stdout_project
              value: app2-project
            - name: aliyun_logs_app2-stdout_logstore
              value: app2-logstore
            - name: aliyun_logs_app2-stdout_machinegroup
              value: app1-machine-group

Langkah 3: Kueri dan analisis log

  1. Masuk ke konsol Simple Log Service.

  2. Di bagian Projects, klik proyek yang ingin Anda tuju ke halaman detailnya.

    image

  3. Di panel navigasi sebelah kiri, klik ikon 图标 logstore yang Anda inginkan. Di daftar drop-down, pilih Search & Analysis untuk melihat log yang dikumpulkan dari kluster Kubernetes Anda.

    image

Field log default

Log teks

Keluaran standar

Tabel berikut menjelaskan field yang diunggah secara default untuk setiap log di kluster Kubernetes.

Field

Deskripsi

_time_

Waktu saat log dikumpulkan.

_source_

Jenis sumber log. Nilai yang valid: stdout dan stderr.

_image_name_

Nama citra.

_container_name_

Nama kontainer.

_pod_name_

Nama pod.

_namespace_

Namespace pod.

_pod_uid_

Pengenal unik pod.

Referensi