全部产品
Search
文档中心

:Mengumpulkan log menggunakan variabel lingkungan

更新时间:Jul 02, 2025

Anda dapat menggunakan variabel lingkungan kontainer untuk menentukan konfigurasi log kustom di Elastic Container Instance. Topik ini menjelaskan cara menggunakan variabel lingkungan untuk mengonfigurasi pengumpulan log dan secara otomatis mengumpulkan log kontainer di Simple Log Service.

Penting
  • Untuk kluster serverless Container Service for Kubernetes (ACK), disarankan untuk memprioritaskan penggunaan definisi sumber daya kustom (CRD) Simple Log Service dalam mengumpulkan log. Untuk informasi lebih lanjut, lihat Mengumpulkan Log Menggunakan CRD Simple Log Service.

  • Hindari penggunaan CRD Simple Log Service dan variabel lingkungan secara bersamaan karena dapat menyebabkan kegagalan pengumpulan log.

Informasi latar belakang

Simple Log Service adalah layanan pencatatan data ujung ke ujung. Anda dapat menggunakan Simple Log Service untuk mengumpulkan, mengonsumsi, mengirimkan, mencari, dan menganalisis data log tanpa perlu melakukan pengembangan lebih lanjut. Untuk informasi lebih lanjut, lihat Apa itu Simple Log Service?.

Prasyarat

Pastikan Simple Log Service telah diaktifkan untuk kluster ACK Serverless. Masuk ke Konsol Simple Log Service. Jika layanan belum diaktifkan, ikuti petunjuk di layar untuk mengaktifkannya.

Catatan

  • Variabel lingkungan hanya dapat digunakan untuk mengonfigurasi pengumpulan log saat membuat instance kontainer elastis. Variabel lingkungan terkait log yang dimasukkan saat memperbarui instance tidak akan berpengaruh.

  • Jika proyek atau konfigurasi Logtail kustom tidak lagi digunakan, hapus proyek atau konfigurasi tersebut tepat waktu untuk menghindari biaya yang tidak perlu.

Deskripsi Konfigurasi

Prefiks nama variabel lingkungan log berada dalam format aliyun_logs_{key}. Tabel berikut menjelaskan variabel lingkungan yang dapat dikonfigurasi.

Penting

{key} menentukan nama konfigurasi Logtail di Simple Log Service. Nilai dari {key} hanya dapat berisi huruf kecil, angka, dan tanda hubung (-). Anda dapat menentukan nilai kustom untuk {key}. Pastikan nilainya unik di kluster Kubernetes.

Objek yang dikonfigurasi

Diperlukan

Nama variabel lingkungan

Deskripsi

Konfigurasi Logtail

Ya

aliyun_logs_{key}

Variabel ini membuat konfigurasi Logtail. Nilai valid:

  • Jika Logtail mengumpulkan log stdout, nilai valid adalah:

    • stdout: mengumpulkan log stdout dan log kesalahan standar (stderr).

    • stderr-only: mengumpulkan log stderr, tetapi tidak mengumpulkan log stdout.

    • stdout-only: mengumpulkan log stdout, tetapi tidak mengumpulkan log stderr.

  • Jika Logtail mengumpulkan log teks, nilai validnya adalah direktori file di dalam kontainer.

Proyek

Tidak

aliyun_logs_{key}_project

Variabel ini menentukan proyek di Simple Log Service.

Jika Anda tidak menentukan variabel ini, proyek default digunakan, yang diberi nama dalam format k8s-log-<cluster-id>.

Logstore

Tidak

aliyun_logs_{key}_logstore

Variabel ini menentukan Logstore.

Jika Anda tidak menentukan variabel ini, Logstore yang bernama {key} digunakan.

Grup mesin

Tidak

aliyun_logs_{key}_machinegroup

Variabel ini menentukan grup mesin.

Jika Anda tidak menentukan variabel ini, grup mesin default digunakan.

Shard

Tidak

aliyun_logs_{key}_shard

Variabel ini menentukan jumlah shard dalam Logstore.

  • Nilai valid: 1 hingga 10.

  • Jika Anda tidak menentukan variabel ini, jumlah default yaitu 2 digunakan.

Periode retensi log

Tidak

aliyun_logs_{key}_ttl

Variabel ini menentukan periode retensi log. Unit: hari.

  • Nilai valid: 1 hingga 3650. Nilai 3650 menentukan bahwa data log disimpan secara permanen di Logstore.

  • Jika Anda tidak menentukan variabel ini, log disimpan selama 90 hari.

Tag

Tidak

aliyun_logs_{key}_tags

Variabel ini menentukan tag yang terikat dengan log. Nilai variabel harus dalam format berikut: tag-key=tag-value. Tag digunakan untuk mengidentifikasi log.

Contoh konfigurasi

  1. Sambungkan ke kluster Kubernetes Anda.

  2. Buat aplikasi.

    Anda dapat menentukan konfigurasi terkait log di variabel lingkungan kontainer. File YAML contoh berikut menjelaskan cara membuat Deployment. Dalam contoh ini, perintah relevan dijalankan untuk terus menampilkan stdout dan file log setelah kontainer dimulai.

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      labels:
        app: sls
      name: eci-sls-demo
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: sls
      template:
        metadata:
          labels:
            app: sls
            alibabacloud.com/eci: "true" 
        spec:
          containers:
          - image: registry-vpc.cn-beijing.aliyuncs.com/eci_open/alpine:3.5
            imagePullPolicy: Always
            args:
            - -c
            - mkdir -p /log;while true; do echo hello world; date; echo hello sls >> /log/alpine.log; sleep 1;done
            command:
            - /bin/sh
            name: alpine
            env:
            # Konfigurasikan proyek atau gunakan proyek default.
            - name: aliyun_logs_test-stdout_project
              value: k8s-log-c21492
            - name: aliyun_logs_test-file_project
              value: k8s-log-c21492
            # Konfigurasikan grup mesin atau gunakan grup mesin default.
            - name: aliyun_logs_test-stdout_machinegroup
              value: k8s-group-app-alpine
            - name: aliyun_logs_test-file_machinegroup
              value: k8s-group-app-alpine
            # Kumpulkan log stdout ke Logstore bernama test-stdout. Jalur pengumpulan adalah stdout.
            - name: aliyun_logs_test-stdout
              value: stdout
            # Kumpulkan log di direktori /log/*.log ke Logstore bernama test-file. Objek yang dikumpulkan adalah semua file .log di direktori /log.
            - name: aliyun_logs_test-file
              value: /log/*.log
            # Tentukan periode retensi log. Pengaturan ini hanya berlaku untuk Logstore bernama test-stdout.
            - name: aliyun_logs_test-stdout_ttl
              value: "7"
            # Tentukan jumlah shard log. Pengaturan ini hanya berlaku untuk Logstore bernama test-stdout.
            - name: aliyun_logs_test-stdout_shard
              value: "2"
            # Mount volume emptyDir. Saat nilai variabel lingkungan aliyun_logs_{key} adalah direktori di dalam kontainer, mount volume emptyDir ke direktori tersebut.
            volumeMounts:
            - name: volume-sls
              mountPath: /log
          volumes:
          - name: volume-sls
            emptyDir: {}

    Buat file YAML bernama test-sls-env.yaml, salin templat sebelumnya ke file tersebut, lalu jalankan perintah berikut untuk membuat aplikasi:

    kubectl create -f test-sls-env.yaml
  3. Periksa status aplikasi.

    kubectl get pod

    Output yang diharapkan:

    NAME                             READY   STATUS    RESTARTS   AGE
    eci-sls-demo-b97bbd7d6-z9twz     1/1     Running   0          2m45s
  4. Lihat log.

    1. Masuk ke Konsol Simple Log Service.

    2. Klik nama proyek.

    3. Temukan Logstore tempat log kontainer Anda disimpan. Klik nama Logstore untuk melihat log.

      • Pengumpulan Log Stdout

        日志env0

      • Pengumpulan Log Teks

        日志env1