全部产品
Search
文档中心

Container Compute Service:Konfigurasikan Pengumpulan Log Aplikasi dengan Variabel Lingkungan Pod

更新时间:Nov 09, 2025

Container Compute Service (ACS) terintegrasi dengan Simple Log Service (SLS). Saat membuat kluster ACS, Anda dapat mengaktifkan SLS untuk mengumpulkan log kontainer, termasuk output standar dan file teks dari kontainer. Topik ini menjelaskan cara mengumpulkan log aplikasi di kluster ACS menggunakan variabel lingkungan pod.

Langkah 1: Mengaktifkan komponen Simple Log Service

Saat membuat kluster ACS, Anda dapat memilih Use Log Service untuk mengaktifkan komponen Simple Log Service secara otomatis. Jika opsi ini tidak dipilih selama pembuatan kluster, Anda dapat mengikuti langkah-langkah berikut untuk mengaktifkannya pada kluster yang sudah ada.

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

  2. Di halaman Clusters, temukan kluster target dan klik ID-nya. Di panel navigasi kiri, pilih Operations > Add-ons.

  3. Di tab Log and Monitoring, temukan alibaba-log-controller dan klik Install. Di kotak dialog Install Component yang muncul, klik OK.

Penting

Jika versi sebelumnya dari komponen alibaba-log-controller telah terpasang, Anda dapat melakukan peningkatan. Setelah peningkatan, kluster akan mereset parameter komponen. Jika Anda menyesuaikan konfigurasi atau variabel lingkungan alibaba-log-controller, parameter tersebut akan ditimpa. Anda perlu mengonfigurasinya kembali sesuai kebutuhan.

Langkah 2: Konfigurasikan Layanan Log Sederhana saat Anda membuat aplikasi

Anda dapat mengonfigurasi Simple Log Service untuk mengumpulkan log kontainer saat membuat aplikasi. Konfigurasi ini dapat dilakukan melalui Konsol atau File YAML.

Use the wizard in the ACS console to create an application and configure Simple Log Service

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

  2. Di halaman Clusters, temukan kluster yang ingin dikelola dan klik ID-nya. Di panel navigasi sebelah kiri halaman detail kluster, pilih Workloads > Deployments.

  3. Di halaman Deployments, pilih namespace dari daftar drop-down Namespace. Kemudian, klik Create from Image di pojok kanan atas halaman.

    Catatan

    Contoh ini menggunakan aplikasi tanpa status. Metode konfigurasi serupa untuk jenis beban kerja lainnya, seperti beban kerja stateful.

  4. Di halaman wizard Basic Information, tentukan Name, Replicas, dan Type. Lalu, klik Next untuk beralih ke halaman wizard Container.

    Catatan

    Hanya parameter terkait Simple Log Service yang dijelaskan dalam bagian berikut. Untuk informasi lebih lanjut tentang parameter aplikasi lainnya, lihat Membuat Aplikasi Tanpa Status Menggunakan Penyebaran.

  5. Di bagian Log, konfigurasikan parameter pengumpulan log.

    1. Konfigurasikan Collection Configuration.

      Klik tanda tambah (+) untuk menambahkan entri konfigurasi. Setiap entri konfigurasi terdiri dari Logstore dan Log Path in Container (can be set to stdout).

      • Logstore: Tentukan nama Logstore. Parameter ini menentukan Logstore tempat log yang dikumpulkan akan disimpan. Jika Logstore tidak ada, ACS secara otomatis membuat Logstore di proyek Simple Log Service yang terkait dengan kluster.

        Catatan

        Periode retensi log default untuk Logstore adalah 180 hari.

      • Jalur Log di Kontainer (dapat disetel ke stdout): Jalur dari mana Anda ingin mengumpulkan data log. Nilai /usr/local/tomcat/logs/catalina.*.log menunjukkan bahwa file log aplikasi Tomcat dikumpulkan.

        Catatan

        Saat Anda menyetel nilainya ke stdout, stdout dan stderr akan dikumpulkan.

        Setiap konfigurasi pengumpulan dibuat secara otomatis untuk Logstore yang sesuai. Secara default, log dikumpulkan baris demi baris.

        Konfigurasi Pengumpulan

    2. Tetapkan Custom Tag.

      Klik ikon + untuk menambahkan tag kustom. Setiap tag kustom adalah pasangan kunci-nilai yang ditambahkan ke log yang dikumpulkan. Anda dapat menggunakan tag kustom untuk menandai data log dari sebuah kontainer, misalnya, dengan nomor versi.

      Tag Kustom

  6. Setelah menetapkan parameter lainnya, klik Next untuk menetapkan pengaturan lanjutan.

    Untuk informasi lebih lanjut tentang langkah-langkah selanjutnya, lihat Membuat Aplikasi Tanpa Status Menggunakan Penyebaran.

Buat menggunakan File YAML

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

  2. Di halaman Clusters, temukan kluster yang ingin dikelola dan klik namanya. Di panel navigasi sebelah kiri, pilih Workloads > Deployments.

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

    Catatan

    Contoh ini menggunakan aplikasi tanpa status. Metode konfigurasi serupa untuk jenis beban kerja lainnya, seperti beban kerja stateful.

  4. Konfigurasikan Templat YAML.

    Sintaks File YAML sama dengan sintaks Kubernetes. Namun, untuk menentukan konfigurasi pengumpulan untuk kontainer, Anda harus menggunakan env untuk menambahkan Collection Configuration dan Custom Tag untuk kontainer. Kode berikut memberikan contoh pod sederhana:

    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-stdout
          value: stdout
        - name: aliyun_logs_log-varlog
          value: /var/log/*.log
        - name: aliyun_logs_mytag1_tags
          value: tag1=v1
        command: ["sh", "-c"]
        args: ["echo 'Memulai aplikasi demo saya'; sleep 3600"]

    Konfigurasikan pengaturan dalam urutan berikut sesuai kebutuhan.

    Catatan

    Jika Anda memiliki persyaratan pengumpulan log tingkat lanjut, lihat Langkah 3: Parameter Lanjutan untuk Pengumpulan Log.

    1. Buat Collection Configuration dan Custom Tag menggunakan variabel lingkungan. Semua variabel lingkungan terkait konfigurasi menggunakan aliyun_logs_ sebagai awalan.

      • Tambahkan konfigurasi pengumpulan log dalam format berikut:

        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:
            - name: aliyun_logs_log-stdout
              value: stdout
            - name: aliyun_logs_log-varlog
              value: /var/log/*.log    
            command: ["sh", "-c"]
            args: ["echo 'Memulai aplikasi demo saya'; sleep 3600"]                    

        Dalam contoh ini, dua konfigurasi pengumpulan dibuat dalam format aliyun_logs_{key}. Nilai {key} adalah log-stdout dan log-varlog.

        • aliyun_logs_log-stdout: Variabel lingkungan ini membuat konfigurasi untuk Logstore bernama log-stdout dan menetapkan jalur pengumpulan log ke stdout. Konfigurasi pengumpulan Simple Log Service yang sesuai juga diberi nama log-stdout. Konfigurasi ini mengumpulkan output standar dari kontainer dan menyimpannya ke log-stdout Logstore.

        • aliyun_logs_log-varlog: Variabel lingkungan ini membuat konfigurasi untuk Logstore bernama log-varlog dan menetapkan jalur pengumpulan log ke /var/log/*.log. Konfigurasi pengumpulan Simple Log Service yang sesuai juga diberi nama log-varlog. Konfigurasi ini mengumpulkan isi file /var/log/*.log dari kontainer dan menyimpannya ke log-varlog Logstore.

      • Tambahkan custom tags dalam format berikut:

        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:
            - name: aliyun_logs_mytag1_tags
              value: tag1=v1           
            command: ["sh", "-c"]
            args: ["echo 'Memulai aplikasi demo saya'; sleep 3600"]            

        Setelah mengonfigurasi tag, bidang yang sesuai secara otomatis ditambahkan ke log yang dikumpulkan dari kontainer. Dalam contoh ini, mytag1 dapat berupa nama apa pun yang tidak mengandung garis bawah (_).

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

      Dalam contoh ini, konfigurasi pengumpulan ditambahkan untuk mengumpulkan log dari /var/log/*.log. Oleh karena itu, volumeMounts untuk /var/log juga ditambahkan.

  5. Setelah memodifikasi Templat YAML, klik Create untuk mengirimkan konfigurasi ke kluster ACS.

Langkah 3: Parameter lanjutan untuk pengumpulan log

Anda dapat menggunakan variabel lingkungan kontainer untuk mengonfigurasi berbagai parameter pengumpulan log. Parameter lanjutan dapat ditetapkan untuk memenuhi kebutuhan pengumpulan log khusus.

Nama Variabel Lingkungan

Deskripsi

Contoh

Catatan

aliyun_logs_{key}

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

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

  • Untuk mengumpulkan stdout dari sebuah kontainer, atur nilainya menjadi stdout. Anda juga dapat mengatur nilainya 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
  • Mode pengumpulan log default adalah mode sederhana. Jika Anda ingin mengurai data log, kami sarankan Anda menggunakan Konsol Simple Log Service.

  • {key} menentukan nama konfigurasi pengumpulan log. Nama konfigurasi harus unik di kluster ACS.

aliyun_logs_{key}_tags

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

- name: aliyun_logs_catalina_tags

  value: app=catalina

Tidak tersedia

aliyun_logs_{key}_project

Opsional. Nilainya adalah Proyek Simple Log Service yang ditentukan. Jika variabel lingkungan ini tidak ada, proyek yang dipilih selama instalasi akan digunakan.

- name: aliyun_logs_catalina_project

  value: my-k8s-project

Proyek harus berada di wilayah yang sama dengan komponen Simple Log Service.

aliyun_logs_{key}_logstore

Opsional. Variabel ini menentukan Logstore di Simple Log Service. Secara default, Logstore diberi nama {key}.

- name: aliyun_logs_catalina_logstore

  value: my-logstore

Tidak tersedia

aliyun_logs_{key}_shard

Opsional. Nilainya adalah jumlah shard untuk Logstore saat dibuat. Nilainya berkisar antara 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 tersedia

aliyun_logs_{key}_ttl

Opsional. Nilainya adalah periode retensi log yang ditentukan. Nilainya berkisar antara 1 hingga 3650.

  • Untuk menyimpan data log secara permanen, atur nilainya menjadi 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

Tidak tersedia

aliyun_logs_{key}_machinegroup

Opsional. Variabel ini menentukan kelompok node tempat aplikasi diterapkan. Kelompok node default adalah kelompok node tempat komponen alibaba-log-controller diterapkan. Untuk informasi lebih lanjut tentang cara menggunakan variabel ini, lihat Skenario Khusus 2: Mengumpulkan data dari aplikasi yang berbeda ke proyek yang berbeda.

- name: aliyun_logs_catalina_machinegroup

  value: my-machine-group

Tidak tersedia

aliyun_logs_{key}_logstoremode

Opsional. Variabel ini menentukan jenis Logstore. Nilai default: standard. Nilai valid:

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 juga dapat menggunakan jenis Logstore ini untuk membangun sistem observabilitas yang komprehensif.

  • query: Logstore query. Jenis Logstore ini mendukung kueri berkinerja tinggi. Biaya lalu lintas indeks Logstore query sekitar setengah dari Logstore standar. 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 minggu atau bulan, periode retensi log dianggap panjang.

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

Tidak tersedia

  • Skenario Khusus 1: Mengumpulkan data dari beberapa aplikasi ke Logstore yang sama

    Untuk mengumpulkan data dari beberapa aplikasi dan menyimpannya ke Logstore yang sama, Anda dapat mengatur parameter aliyun_logs_{key}_logstore. Sebagai contoh, konfigurasi berikut mengumpulkan `stdout` dari dua aplikasi dan menyimpannya ke stdout-logstore.

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

    Konfigurasikan variabel lingkungan berikut untuk Aplikasi 1:

    apiVersion: v1
    kind: Pod
    metadata:
      name: my-demo-1
    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_app1-stdout
          value: stdout
        - name: aliyun_logs_app1-stdout_logstore
          value: stdout-logstore
        command: ["sh", "-c"]
        args: ["echo 'Memulai aplikasi demo saya'; sleep 3600"]

    Konfigurasikan variabel lingkungan berikut untuk Aplikasi 2:

    apiVersion: v1
    kind: Pod
    metadata:
      name: my-demo-2
    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_app2-stdout
          value: stdout
        - name: aliyun_logs_app2-stdout_logstore
          value: stdout-logstore
        command: ["sh", "-c"]
        args: ["echo 'Memulai aplikasi demo saya'; sleep 3600"]
  • Skenario Khusus 2: Mengumpulkan data dari aplikasi yang berbeda ke proyek yang berbeda

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

    1. Di setiap proyek, buat kelompok mesin. Pilih ID Kustom dan atur ID ke k8s-group-{cluster-id}, di mana {cluster-id} adalah ID kluster Anda. Anda juga dapat mengonfigurasi nama kelompok mesin kustom.

    2. Di variabel lingkungan untuk setiap aplikasi, konfigurasikan informasi proyek, Logstore, dan kelompok mesin. Nama kelompok mesin harus sesuai dengan nama kelompok mesin yang dibuat pada langkah sebelumnya.

      Pada contoh berikut, {key} untuk Aplikasi 1 adalah app1-stdout, dan {key} untuk Aplikasi 2 adalah app2-stdout. Jika kedua aplikasi tersebut berada di kluster Kubernetes yang sama, Anda dapat menggunakan kelompok mesin yang sama.

      Konfigurasikan variabel lingkungan berikut untuk Aplikasi 1:

      apiVersion: v1
      kind: Pod
      metadata:
        name: my-demo-1
      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_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
          command: ["sh", "-c"]
          args: ["echo 'Memulai aplikasi demo saya'; sleep 3600"]

      Konfigurasikan variabel lingkungan berikut untuk Aplikasi 2:

      apiVersion: v1
      kind: Pod
      metadata:
        name: my-demo-2
      spec:
        containers:
        - name: my-demo-app
          image: 'registry.cn-hangzhou.aliyuncs.com/log-service/docker-log-test:latest'
          env:	# Konfigurasikan variabel lingkungan untuk Aplikasi 2
          - 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
          command: ["sh", "-c"]
          args: ["echo 'Memulai aplikasi demo saya'; sleep 3600"]

Langkah 4: Lihat log menggunakan konsol Simple Log Service

Contoh ini menjelaskan cara melihat log dari aplikasi yang dibuat menggunakan wizard konsol. Setelah konfigurasi selesai, log aplikasi dikumpulkan dan disimpan di Simple Log Service. Anda dapat melihat log kontainer di konsol Simple Log Service.

  1. Masuk ke konsol Simple Log Service.

  2. Di bagian Projects, pilih proyek yang sesuai dengan kluster ACS (default: k8s-log-{ID kluster ACS}), lalu klik dan buka tab Logstore.

  3. Dalam daftar Logstore, temukan Logstore yang ditentukan saat mengonfigurasi pengumpulan log. Gerakkan pointer di atas nama Logstore dan klik ikon button. Kemudian, klik Search & Analysis.

    Pada halaman log kueri, Anda dapat melihat log output standar dan log teks di dalam kontainer aplikasi, serta menemukan tag kustom yang ditambahkan ke field log.

Informasi lebih lanjut