All Products
Search
Document Center

Container Service for Kubernetes:Kumpulkan log aplikasi dengan variabel lingkungan pod

Last Updated:Jun 24, 2026

Simple Log Service (SLS) adalah layanan terpadu untuk data log yang memungkinkan Anda mengumpulkan, mengonsumsi, mengirimkan, dan menganalisis log tanpa pengembangan. Kluster ACK Serverless menyediakan fitur Simple Log Service (SLS) terkelola. Gunakan variabel lingkungan pod dalam kluster ACK Serverless untuk mengumpulkan stdout kontainer dan file log ke SLS.

Penting
  • Gunakan metode SLS CRD terlebih dahulu untuk pengumpulan log. Lihat Kumpulkan log aplikasi dengan menggunakan CRD.

  • Jangan gunakan metode CRD dan variabel lingkungan secara bersamaan. Hal ini dapat menyebabkan kegagalan pengumpulan log.

Langkah 1: Buat aplikasi dan konfigurasikan pengumpulan log

Buat aplikasi dari image atau templat YAML dan konfigurasikan pengumpulan log. Lihat Apa itu Simple Log Service?.

Buat dari image

  1. Login ke ACK console. Di panel navigasi kiri, klik Clusters.

  2. Di halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Workloads > Deployments.

  3. Di halaman Deployments, pilih namespace dari Namespace, lalu klik Create from Image.

    1. Di tab Basic Information, atur Application Name, jumlah Replicas:, dan Type, lalu klik Next.

    2. Di tab Container, konfigurasikan bagian Log Service.

      Catatan

      Hanya parameter pengumpulan log yang dibahas di sini. Lihat Buat deployment tanpa status untuk parameter lainnya.

      Sebelum mengonfigurasi, pastikan plug-in logging telah diinstal pada kluster.

      Parameter

      Deskripsi

      Konfigurasi pengumpulan

      Jika konfigurasi pengumpulan berubah, hapus secara manual konfigurasi sebelumnya untuk mencegah duplikasi pengumpulan log.

      Klik Collection Configuration dan konfigurasikan Logstore dan Log Path in Container (Can be set to stdout).

      • Nama Logstore. Hanya boleh berisi huruf kecil, angka, dan tanda hubung (-).

        Jika Logstore yang ditentukan tidak ada, ACK Serverless akan membuatnya di proyek SLS yang terkait dengan kluster.

      • Log Path in Container: Jalur untuk dikumpulkan. Contoh: /usr/local/tomcat/logs/catalina.*.log untuk log teks Tomcat.

        Catatan

        Mengatur jalur ke stdout akan mengumpulkan stdout dan stderr dari kontainer.

      Setiap konfigurasi pengumpulan membuat konfigurasi Logtail untuk Logstore yang sesuai. Secara default, log dikumpulkan dalam mode simple (baris per baris). Untuk metode pengumpulan lanjutan, login ke Simple Log Service console dan modifikasi konfigurasi di proyek (secara default diawali dengan k8s-log) dan Logstore yang sesuai.

      Custom tag

      Klik Custom Tag dan konfigurasikan Tag Key dan Tag Value.

      Pasangan kunci-nilai yang ditambahkan ke entri log yang dikumpulkan. Gunakan custom tag untuk memberi label data log kontainer, seperti nomor versi.

    3. Klik Next. Lihat Buat deployment tanpa status untuk langkah-langkah selanjutnya.

Buat dari file YAML

  1. Login ke ACK console. Di panel navigasi kiri, klik Clusters.

  2. Di halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Workloads > Deployments.

  3. Di halaman Deployments, pilih namespace dari Namespace, lalu klik Create from YAML.

  4. Di halaman Create, pilih templat contoh, edit Template di editor YAML, lalu klik Create.

    Templat YAML menggunakan sintaks Kubernetes standar. Untuk mengonfigurasi pengumpulan log, gunakan env untuk menambahkan konfigurasi pengumpulan dan custom tag, serta buat volumeMounts dan volumes yang sesuai. Contoh YAML pod:

    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'
        args:
        - -c
        - mkdir -p /log;while true; do echo hello world; date; echo hello sls >> /var/log/test.log; sleep 1;done
        command:
        - /bin/sh
        env:
        ######### Konfigurasikan variabel lingkungan ###########
        - name: aliyun_logs_log-stdout
          value: stdout
        - name: aliyun_logs_log-varlog
          value: /var/log/*.log
        - name: aliyun_logs_mytag1_tags
          value: tag1=v1
        ######### Konfigurasikan Volume Mounts ###########
        volumeMounts:
        - name: volumn-sls-mydemo
          mountPath: /var/log
      volumes:
      - name: volumn-sls-mydemo
        emptyDir: {}

    Tambahkan konfigurasi ini ke YAML pod sesuai kebutuhan:

    Catatan

    Lihat Langkah 2: Parameter variabel lingkungan lanjutan untuk kebutuhan lanjutan.

    1. Buat konfigurasi pengumpulan dan custom tag dengan variabel lingkungan. Semua menggunakan awalan aliyun_logs_.

      1. Untuk membuat konfigurasi pengumpulan:

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

        Contoh ini membuat dua konfigurasi pengumpulan menggunakan aliyun_logs_{key}, di mana {key} adalah log-stdout dan log-varlog.

        • aliyun_logs_log-stdout: Variabel env ini mendefinisikan konfigurasi pengumpulan log-stdout, membuat Logstore log-stdout, dan mengumpulkan stdout kontainer ke Logstore log-stdout.

        • aliyun_logs_log-varlog: Variabel env ini membuat Logstore (log-varlog) dan konfigurasi pengumpulan (log-varlog) untuk jalur /var/log/*.log. File dari /var/log/*.log dikirim ke Logstore log-varlog.

      2. Untuk membuat custom tag:

        - name: aliyun_logs_mytag1_tags
          value: tag1=v1

        Tag ini ditambahkan ke log yang dikumpulkan dari kontainer ini. Kunci tag (mytag1 dalam kasus ini) hanya boleh berisi huruf kecil, angka, dan tanda hubung (-).

    2. Jika jalur pengumpulan bukan stdout, buat volumeMounts yang sesuai. Dalam contoh ini, pengumpulan /var/log/*.log memerlukan volumeMounts untuk /var/log.

Langkah 2: Parameter variabel lingkungan 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}

  • Variabel ini wajib. {key} hanya boleh berisi huruf kecil, angka, dan tanda hubung (-).

  • Jika aliyun_logs_{key}_logstore yang ditentukan tidak ada, logstore bernama {key} akan dibuat.

  • Untuk mengumpulkan stdout kontainer, atur nilai ke stdout. Anda juga dapat mengatur nilai ke jalur di dalam kontainer untuk mengumpulkan file log.

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

  • {key} menentukan nama konfigurasi Logtail. Nama konfigurasi harus unik dalam kluster Kubernetes.

aliyun_logs_{key}_tags

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

- name: aliyun_logs_catalina_tags

  value: app=catalina

N/A.

aliyun_logs_{key}_project

Opsional. Variabel ini menentukan proyek Simple Log Service. Proyek default adalah proyek yang Anda tentukan saat membuat kluster.

- name: aliyun_logs_catalina_project

  value: my-k8s-project

Proyek harus diterapkan di wilayah yang sama dengan Logtail.

aliyun_logs_{key}_logstore

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

- name: aliyun_logs_catalina_logstore

  value: my-logstore

N/A.

aliyun_logs_{key}_shard

Opsional. Variabel ini menentukan jumlah shard logstore. Nilai 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'

N/A.

aliyun_logs_{key}_ttl

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

  • Untuk menyimpan data log secara permanen, atur nilai ke 3650.

  • 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'

N/A.

aliyun_logs_{key}_machinegroup

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

- name: aliyun_logs_catalina_machinegroup

  value: my-machine-group

N/A.

aliyun_logs_{key}_logstoremode

Opsional. Variabel ini menentukan jenis logstore. Nilai default: standard. Nilai 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 komprehensif.

  • query: Logstore query. Jenis logstore ini mendukung kueri berkinerja-tinggi. Biaya traffic 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 

Untuk menggunakan variabel ini, pastikan versi image logtail-ds adalah 1.3.1 atau lebih baru.

  • 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 ke app1-stdout, dan {key} Aplikasi 2 diatur ke 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 yang Anda buat pada langkah sebelumnya.

      Dalam contoh berikut, {key} Aplikasi 1 diatur ke app1-stdout, dan {key} Aplikasi 2 diatur ke 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

Langkah 3: Lihat log

  1. Login ke ACK console. Di panel navigasi kiri, klik Clusters.

  2. Di halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Operations > Log Center.

  3. Di halaman Log Center, klik tab Application Logs, lalu pilih Logstore untuk melihat log kontainer.