All Products
Search
Document Center

Container Compute Service:Kumpulkan log aplikasi dengan AliyunLogConfig

Last Updated:Jun 22, 2026

Container Compute Service (ACS) terintegrasi dengan Simple Log Service (SLS). Anda dapat mengaktifkan SLS saat membuat kluster untuk mengumpulkan log kontainer dari kluster ACS secara cepat, termasuk stdout kontainer dan file teks. Topik ini menjelaskan cara mengumpulkan log aplikasi di kluster ACS menggunakan resource kustom AliyunLogConfig.

Langkah 1: Aktifkan add-on Log Service

Anda dapat memilih Enable Log Service saat membuat kluster ACS agar add-on Log Service diaktifkan secara otomatis. Jika opsi tersebut tidak dipilih saat pembuatan kluster, ikuti langkah-langkah berikut untuk mengaktifkan add-on pada kluster yang sudah ada.

  1. Masuk ke ACS console. Di panel navigasi kiri, klik Clusters.

  2. Pada halaman Clusters, klik nama kluster target. Di panel navigasi kiri, klik Add-ons.

  3. Pada bagian Logs and Monitoring, temukan alibaba-log-controller. Klik Install. Pada kotak dialog Install, klik OK.

Penting

Jika Anda telah menyesuaikan konfigurasi dan variabel lingkungan untuk alibaba-log-controller, peningkatan akan menimpa parameter tersebut, sehingga Anda harus mengonfigurasinya ulang.

Langkah 2: Buat resource kustom AliyunLogConfig

Anda dapat menggunakan resource kustom AliyunLogConfig untuk mengumpulkan log stdout dan file dari aplikasi tertentu. Untuk membuat resource kustom, pilih Custom Resources > CRDs > Create from YAML di panel navigasi sebelah kiri. Tabel berikut menjelaskan parameter utama untuk resource kustom AliyunLogConfig.

Parameter

Deskripsi

Contoh

.metadata.name

Nama resource konfigurasi pengumpulan log. Nama ini harus unik dalam kluster ACS.

test-stdout

.spec.project

Opsional. Nama Proyek. Kami menyarankan Anda menggunakan format k8s-log-{ACS_cluster_ID}.

k8s-log-c326bc86****

.spec.logstore

Wajib diisi. Nama penyimpanan log. Jika penyimpanan log belum ada, Simple Log Service akan membuatnya secara otomatis.

test-stdout

.spec.logtailConfig.inputType

Jenis sumber data. file menunjukkan log file, dan plugin menunjukkan stdout.

plugin

.spec.logtailConfig.configName

Nama konfigurasi Logtail. Harus sama dengan nama resource yang ditentukan di metadata.name.

test-stdout

.spec.logtailConfig.inputDetail

Konfigurasi detail Logtail. Ini mencakup pengaturan untuk mengumpulkan log stdout dan log file.

plugin:
  inputs:
    - type: service_docker_stdout
      detail:
        Stdout: true
        Stderr: true

Konfigurasi ini mengumpulkan output standar (Stdout) dan error standar (Stderr) kontainer.

.spec.logtailConfig.inputDetail.advanced

Fitur konfigurasi Logtail lanjutan. Pengaturan k8s mencakup:

  • K8sNamespaceRegex: Filter Pod berdasarkan namespace. Ekspresi reguler didukung.

  • K8sContainerRegex: Filter kontainer berdasarkan nama kontainer. Ekspresi reguler didukung.

  • K8sPodRegex: Filter Pod berdasarkan nama Pod. Ekspresi reguler didukung.

  • IncludeK8sLabel: Cocokkan berdasarkan label Pod.

k8s:
  K8sNamespaceRegex: ^(default)$
  K8sContainerRegex: ^(busybox)$
  K8sPodRegex: ^backend.+$
  IncludeK8sLabel:
    app: backend
    application: prod

Logtail hanya mengumpulkan log kontainer jika semua kondisi berikut terpenuhi:

  • Namespace adalah default.

  • Nama Pod diawali dengan backend.

  • Nama kontainer adalah busybox.

  • Pod memiliki label app: backend dan application: prod.

Untuk informasi lebih lanjut tentang parameter konfigurasi, lihat Konfigurasi Logtail (legacy).

Contoh 1: Kumpulkan log stdout tertentu

Untuk mengumpulkan log stdout (termasuk stderr) dan memfilternya berdasarkan Pod atau kontainer tertentu, tambahkan aturan pencocokan ke bagian detail dalam konfigurasi input. Terapkan konfigurasi berikut ke kluster ACS Anda.

apiVersion: log.alibabacloud.com/v1alpha1      
kind: AliyunLogConfig                         
metadata:
  name: test-stdout               
spec:
  project: k8s-log-c326bc86****    # Ganti dengan nama Proyek Anda yang sebenarnya.
  logstore: test-stdout                           
  shardCount: 2                                           
  lifeCycle: 90                    
  logtailConfig:                   
    inputType: plugin                                             
    configName: test-stdout        
    inputDetail:                   
      plugin:
        inputs:
          - type: service_docker_stdout
            detail:
              Stdout: true
              Stderr: true
              K8sNamespaceRegex: ^(default)$    
              K8sContainerRegex: ^(busybox)$    
              K8sPodRegex: ^backend.+$          
              IncludeK8sLabel:                  
                app: backend
                application: prod

Contoh 2: Kumpulkan log file tertentu

Untuk mengumpulkan log file dari Pod atau kontainer tertentu, tambahkan aturan pencocokan dalam blok advanced di dalam konfigurasi inputDetail. Terapkan konfigurasi berikut ke kluster ACS Anda.

apiVersion: log.alibabacloud.com/v1alpha1
kind: AliyunLogConfig
metadata:
  name: test-file                  
spec:
  project: k8s-log-c326bc86****    # Ganti dengan nama Proyek Anda yang sebenarnya.
  logstore: test-file                 
  logtailConfig:                   
    inputType: file                
    configName: test-file           
    inputDetail:                  
      logType: common_reg_log      
      logPath: /log/               
      filePattern: "*.log"         
      dockerFile: true             
      advanced:
        k8s:
          K8sNamespaceRegex: ^(default)$    
          K8sContainerRegex: ^(busybox)$    
          K8sPodRegex: ^backend.+$          
          IncludeK8sLabel:                  
            app: backend
            application: prod
Catatan

Setelah membuat resource kustom AliyunLogConfig test-stdout dan test-file, ikuti petunjuk di Langkah 4: Lihat log di Konsol SLS untuk memeriksa apakah penyimpanan log yang sesuai telah dibuat. Jika belum, tinjau dan perbarui konfigurasi Anda berdasarkan Konfigurasi Logtail (legacy).

Langkah 3: Buat aplikasi contoh

Setelah membuat resource kustom AliyunLogConfig, Simple Log Service (SLS) secara otomatis mengumpulkan log dari Pod baru yang sesuai dengan konfigurasi. Anda dapat membuat aplikasi contoh berikut untuk menguji pengumpulan log.

  1. Contoh berikut menunjukkan aplikasi contoh yang dideploy sebagai Deployment. Setelah kontainer dimulai, aplikasi menjalankan perintah untuk terus-menerus mencetak log ke stdout dan file log.

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: backend-busybox
      labels:
        app: backend
        application: prod
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: backend
          application: prod
      template:
        metadata:
          name: backend-busybox
          labels:
            app: backend
            application: prod
        spec:
          containers:
          - args:
            - -c
            - mkdir -p /log; while true; do echo hello world; date; echo hello sls >> /log/busybox.log; sleep 1; done
            command:
            - /bin/sh
            image: registry-cn-hangzhou.ack.aliyuncs.com/ack-demo/busybox:1.28
            imagePullPolicy: Always
            name: busybox

Langkah 4: Lihat log di Konsol SLS

Setelah menerapkan konfigurasi, Simple Log Service (SLS) mengumpulkan dan menyimpan log dari aplikasi contoh. Anda dapat melihat log kontainer di Konsol SLS.

  1. Masuk ke SLS console.

  2. Di bagian Projects, klik Proyek untuk kluster ACS Anda (default: k8s-log-{ACS_cluster_ID}) untuk membuka daftar Logstores.

  3. Dalam daftar tersebut, klik nama penyimpanan log yang ditentukan dalam konfigurasi pengumpulan log Anda untuk melihat log di tab baru.

    Dalam contoh ini, Anda dapat melihat log stdout (di penyimpanan log test-stdout) dan log file kontainer (di penyimpanan log test-file) pada halaman kueri log.

    Pada halaman kueri untuk penyimpanan log test-stdout, Anda dapat melihat bahwa SLS telah mengumpulkan 582 log. Log mentah berisi bidang seperti _container_name_, _image_name_, _namespace_, _pod_name_, _source_ (dengan nilai stdout), dan content. Hal ini mengonfirmasi bahwa log stdout dari kontainer busybox berhasil dikumpulkan.

    Hasil kueri untuk penyimpanan log test-file menunjukkan bahwa log file dari kontainer busybox berhasil dikumpulkan. Jalur sumber adalah /log/busybox.log, dan isi log adalah content: hello sls.

Informasi lebih lanjut

Untuk panduan troubleshooting, lihat Troubleshoot Logtail log collection failures.