All Products
Search
Document Center

Container Service for Kubernetes:Kumpulkan Log dari Layanan Knative

Last Updated:Mar 26, 2026

Layanan Knative menghasilkan log di setiap node, tetapi tanpa agen pengumpulan, log tersebut hilang ketika pod diskalakan turun atau direstart. ACK terintegrasi dengan Simple Log Service (SLS) untuk mengumpulkan log teks kontainer dari Layanan Knative tanpa memodifikasi kode aplikasi Anda. Setelah komponen pengumpulan log diinstal, agen DaemonSet dijalankan di setiap node dan meneruskan log dari semua kontainer di node tersebut ke SLS untuk dikueri dan dianalisis.

Prasyarat

Sebelum memulai, pastikan Anda telah:

Langkah 1: Instal komponen pengumpulan log

ACK mendukung dua komponen pengumpulan log: LoongCollector dan Logtail. Instal satu komponen per kluster—Anda tidak dapat menjalankan keduanya secara bersamaan.

KomponenStatusKapan digunakan
LoongCollectorrilis canaryKluster baru di wilayah yang didukung
Logtail (logtail-ds)Generally availableKluster yang sudah ada atau wilayah yang belum didukung oleh LoongCollector

Instal LoongCollector

Catatan LoongCollector saat ini dalam rilis canary. Periksa wilayah yang didukung sebelum menginstal.

LoongCollector adalah agen pengumpulan log generasi berikutnya dari SLS dan merupakan versi peningkatan dari Logtail. Agen ini diharapkan mengintegrasikan kemampuan Application Real-Time Monitoring Service (ARMS), termasuk pengumpulan data berbasis Managed Service for Prometheus dan pengumpulan data non-intrusif berbasis Extended Berkeley Packet Filter (eBPF). Untuk informasi lebih lanjut, lihat Pengumpulan data berbasis LoongCollector.

Penting

Anda tidak dapat menginstal loongcollector dan logtail-ds secara bersamaan. Jika logtail-ds sudah terinstal di kluster Anda, Anda tidak dapat langsung meningkatkannya ke loongcollector. Solusi peningkatan akan segera tersedia.

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

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

  3. Di tab Logs and Monitoring, temukan komponen loongcollector dan klik Install.

Setelah instalasi, SLS secara otomatis membuat proyek bernama k8s-log-${your_k8s_cluster_id} dan resource berikut:

Jenis resourceNama resourceDeskripsiContoh
Machine groupk8s-group-${your_k8s_cluster_id}Machine group untuk loongcollector-ds, digunakan untuk pengumpulan logk8s-group-my-cluster-123
Machine groupk8s-group-${your_k8s_cluster_id}-clusterMachine group untuk loongcollector-cluster, digunakan untuk pengumpulan metrikk8s-group-my-cluster-123-cluster
Machine groupk8s-group-${your_k8s_cluster_id}-singletonMachine group untuk instans tunggal, digunakan untuk membuat konfigurasi LoongCollectork8s-group-my-cluster-123-singleton
Logstoreconfig-operation-logMenyimpan log loongcollector-operator. Jangan hapus Logstore ini.config-operation-log

Instal Logtail

Logtail adalah agen pengumpulan log dari SLS yang mengumpulkan log dari berbagai sumber data—termasuk Instance ECS, server on-premises, dan server cloud pihak ketiga—tanpa memodifikasi kode aplikasi Anda. Untuk informasi lebih lanjut, lihat Pengumpulan data berbasis Logtail.

Instal Logtail di kluster ACK yang sudah ada

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

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

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

Instal 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, pilih Enable Log Service. Topik ini hanya mencakup pengaturan terkait SLS. Untuk pengaturan kluster lainnya, lihat Buat kluster managed ACK. Setelah memilih Enable Log Service, pilih cara membuat proyek SLS:

    • Select Project: gunakan proyek yang sudah ada untuk mengelola log kontainer yang dikumpulkan. 安装logtail组件

    • Create Project: SLS secara otomatis membuat proyek. Nama proyek mencakup ClusterID kluster baru. 安装logtail组件

    Penting

    Di langkah Component Configurations, Enable dipilih secara default untuk Control Plane Component Logs. Saat diaktifkan, sistem secara otomatis mengumpulkan log dari komponen lapisan kontrol kluster dan menagih Anda berdasarkan metode penagihan pay-as-you-go. Tentukan apakah akan mengaktifkannya berdasarkan kebutuhan Anda. Untuk informasi lebih lanjut, lihat Kumpulkan log komponen lapisan kontrol di kluster managed ACK.image

Setelah instalasi, SLS secara otomatis membuat proyek bernama k8s-log-<YOUR_CLUSTER_ID> dan resource berikut:

Jenis resourceNama resourceDeskripsiContoh
Machine groupk8s-group-<YOUR_CLUSTER_ID>Machine group untuk logtail-daemonset, digunakan untuk pengumpulan logk8s-group-my-cluster-123
Machine groupk8s-group-<YOUR_CLUSTER_ID>-statefulsetMachine group untuk logtail-statefulset, digunakan untuk pengumpulan metrikk8s-group-my-cluster-123-statefulset
Machine groupk8s-group-<YOUR_CLUSTER_ID>-singletonMachine group untuk instans tunggal, digunakan untuk membuat konfigurasi Logtailk8s-group-my-cluster-123-singleton
Logstoreconfig-operation-logMenyimpan log komponen alibaba-log-controller. Kami menyarankan agar Anda tidak membuat konfigurasi Logtail untuk Logstore ini. Anda dapat menghapus Logstore ini; sistem berhenti mengumpulkan log operasional setelah penghapusan. Dikenai biaya yang sama seperti Logstore biasa. Lihat Item yang dikenai biaya dalam mode bayar per data yang diingest.

Langkah 2: Buat konfigurasi pengumpulan

Pilih salah satu metode berikut untuk membuat konfigurasi pengumpulan. Gunakan hanya satu metode per konfigurasi.

MetodePaling cocok untuk
CRD - AliyunPipelineConfig (direkomendasikan)Pengumpulan dan pemrosesan kompleks; konsistensi versi antara konfigurasi Logtail dan kontainer Logtail di kluster ACK. Memerlukan logtail-ds versi lebih baru dari V1.8.10.
Konsol SLSPengaturan sederhana melalui GUI; beberapa fitur lanjutan dan pengaturan kustom tidak tersedia.
Variabel lingkunganHanya pengaturan sederhana; log teks satu baris; tidak ada pemrosesan kompleks. Mendukung pengumpulan dari beberapa aplikasi ke Logstore yang sama atau berbeda.
CRD - AliyunLogConfigSkenario lama yang menggunakan CRD lama. Migrasikan ke AliyunPipelineConfig untuk ekstensibilitas dan stabilitas yang lebih baik.

CRD - AliyunPipelineConfig (direkomendasikan)

Penting

Gunakan metode ini untuk konfigurasi baru. AliyunPipelineConfig menyediakan ekstensibilitas dan stabilitas yang lebih baik daripada AliyunLogConfig, serta mendukung pipeline pengumpulan dan pemrosesan yang kompleks. Hanya Logtail V0.5.1 atau lebih baru yang mendukung AliyunPipelineConfig.

Buat Custom Resource (CR) dari Custom Resource Definition (CRD) AliyunPipelineConfig. Konfigurasi diterapkan secara otomatis saat CR dibuat. Untuk memodifikasi konfigurasi, perbarui CR tersebut.

Batasan utama:

  • Nilai configName harus unik dalam proyek SLS.

  • Buat satu CR per konfigurasi Logtail. Jika beberapa CR mereferensikan konfigurasi yang sama, hanya CR pertama yang berlaku.

Langkah-langkah:

  1. Dapatkan file kubeconfig dan hubungkan ke kluster Anda menggunakan kubectl.

  2. Buat file YAML:

    vim cube.yaml
  3. Tambahkan konfigurasi ke file YAML. Lihat contoh di bawah.

  4. Terapkan konfigurasi:

    kubectl apply -f cube.yaml

    Logtail mulai mengumpulkan log dari kontainer yang ditentukan dan mengirimkannya ke SLS.

Penting

Setelah pengumpulan log dimulai, buat indeks di Logstore agar Anda dapat mengkueri dan menganalisis log. Lihat Buat indeks.

Kumpulkan log teks satu baris dari kontainer tertentu

Contoh ini membuat konfigurasi Logtail bernama example-k8s-file untuk mengumpulkan log teks satu baris dari kontainer yang namanya mengandung app. File log adalah test.LOG di path /data/logs/app_1. Log disimpan di Logstore k8s-file dalam proyek k8s-log-test.

apiVersion: telemetry.alibabacloud.com/v1alpha1
# Buat CR dari CRD ClusterAliyunPipelineConfig.
kind: ClusterAliyunPipelineConfig
metadata:
  # Nama harus unik dalam kluster Kubernetes. Nama ini juga digunakan sebagai nama konfigurasi Logtail.
  name: example-k8s-file
spec:
  # Tentukan proyek tempat log dikumpulkan.
  project:
    name: k8s-log-test
  # Buat Logstore untuk menyimpan log.
  logstores:
    - name: k8s-file
  config:
    inputs:
      # Gunakan input_file untuk mengumpulkan log teks dari kontainer.
      - Type: input_file
        # Path file log di dalam kontainer.
        FilePaths:
          - /data/logs/app_1/**/test.LOG
        # Aktifkan penemuan kontainer.
        EnableContainerDiscovery: true
        # Filter kontainer. Beberapa kondisi menggunakan logika AND.
        ContainerFilters:
          # Cocokkan kontainer di namespace default.
          K8sNamespaceRegex: default
          # Cocokkan kontainer yang namanya mengandung "app".
          K8sContainerRegex: ^(.*app.*)$
    flushers:
      # Gunakan flusher_sls untuk mengirim log ke Logstore.
      - Type: flusher_sls
        Logstore: k8s-file
        # Untuk nilai endpoint dan region yang valid, lihat https://www.alibabacloud.com/help/en/sls/developer-reference/service-entrance
        Endpoint: cn-hangzhou.log.aliyuncs.com
        Region: cn-hangzhou
        TelemetryType: logs

Untuk semua parameter AliyunPipelineConfig, lihat (Direkomendasikan) Gunakan AliyunPipelineConfig untuk mengelola konfigurasi Logtail dan CreateLogtailPipelineConfig.

Kumpulkan log teks multi-baris dari semua kontainer

Contoh ini membuat konfigurasi Logtail bernama example-k8s-file untuk mengumpulkan log teks multi-baris dari semua kontainer di kluster. File log adalah test.LOG di path /data/logs/app_1. Log diurai dengan ekspresi reguler dan disimpan di Logstore k8s-file dalam proyek k8s-log-test.

Plugin input_file membaca log dalam format {"content": "2024-06-19 16:35:00 INFO test log\nline-1\nline-2\nend"} dan plugin processor_parse_regex_native menguraikannya menjadi {"time": "2024-06-19 16:35:00", "level": "INFO", "msg": "test log\nline-1\nline-2\nend"}.

apiVersion: telemetry.alibabacloud.com/v1alpha1
# Buat CR dari CRD ClusterAliyunPipelineConfig.
kind: ClusterAliyunPipelineConfig
metadata:
  name: example-k8s-file
spec:
  project:
    name: k8s-log-test
  logstores:
    - name: k8s-file
  config:
    # Opsional: tambahkan log contoh sebagai referensi.
    sample: |
      2024-06-19 16:35:00 INFO test log
      line-1
      line-2
      end
    inputs:
      - Type: input_file
        FilePaths:
          - /data/logs/app_1/**/test.LOG
        EnableContainerDiscovery: true
        # Aktifkan pengumpulan log multi-baris.
        Multiline:
          # Gunakan regex kustom untuk mengidentifikasi baris pertama setiap entri log.
          Mode: custom
          StartPattern: \d+-\d+-\d+.*
    processors:
      # Uraikan log menggunakan ekspresi reguler. Grup penangkapan menentukan field yang diekstraksi.
      - Type: processor_parse_regex_native
        SourceKey: content
        Regex: (\d+-\d+-\d+\s*\d+:\d+:\d+)\s*(\S+)\s*(.*)
        Keys: ["time", "level", "msg"]
    flushers:
      - Type: flusher_sls
        Logstore: k8s-file
        Endpoint: cn-hangzhou.log.aliyuncs.com
        Region: cn-hangzhou
        TelemetryType: logs

CRD - AliyunLogConfig

Buat CR dari CRD AliyunLogConfig. Konfigurasi diterapkan secara otomatis. Untuk memodifikasinya, perbarui CR tersebut.

Penting

Jika beberapa CR mereferensikan konfigurasi Logtail yang sama, menghapus atau memodifikasi satu CR akan memengaruhi semua CR lainnya. Statusnya menjadi tidak konsisten dengan konfigurasi di SLS.

Langkah-langkah:

  1. Dapatkan file kubeconfig dan hubungkan ke kluster Anda menggunakan kubectl.

  2. Buat file YAML:

    vim cube.yaml
  3. Tambahkan konfigurasi. Lihat contoh di bawah. Nilai configName harus unik dalam proyek SLS.

  4. Terapkan konfigurasi:

    kubectl apply -f cube.yaml
Penting

Setelah pengumpulan log dimulai, buat indeks agar Anda dapat mengkueri dan menganalisis log. Lihat Buat indeks.

Kumpulkan log teks satu baris dari kontainer tertentu

Contoh ini membuat konfigurasi bernama example-k8s-file untuk mengumpulkan log teks satu baris dari pod yang namanya diawali dengan app. File log adalah test.LOG di path /data/logs/app_1. Log disimpan di Logstore k8s-file dalam proyek k8s-log-test.

apiVersion: log.alibabacloud.com/v1alpha1
kind: AliyunLogConfig
metadata:
  name: example-k8s-file
  namespace: kube-system
spec:
  # Jika dibiarkan kosong, proyek bernama k8s-log-<your_cluster_id> digunakan.
  project: k8s-log-test
  # Jika Logstore yang ditentukan tidak ada, SLS membuatnya secara otomatis.
  logstore: k8s-file
  logtailConfig:
    # Atur ke "file" untuk log teks.
    inputType: file
    configName: example-k8s-file
    inputDetail:
      # Mode sederhana untuk log teks.
      logType: common_reg_log
      logPath: /data/logs/app_1
      # Mendukung karakter wildcard (* dan ?). Contoh: log_*.log
      filePattern: test.LOG
      # Diperlukan untuk pengumpulan log kontainer.
      dockerFile: true
      advanced:
        k8s:
          K8sPodRegex: '^(app.*)$'

Untuk semua parameter CR, lihat Gunakan AliyunLogConfig untuk mengelola konfigurasi Logtail dan CreateConfig.

Konsol SLS

  1. Masuk ke Konsol Simple Log Service.

  2. Di bagian Quick Data Import, klik Import Data. Di kotak dialog Import Data, klik kartu Kubernetes - File.

    image

  3. Pilih proyek dan Logstore yang akan digunakan, lalu klik Next. Pilih proyek yang dibuat saat Anda menginstal komponen Logtail.

  4. Di langkah Machine Group Configurations, konfigurasikan hal berikut:

    1. Pilih opsi machine group berdasarkan pengaturan Anda:

      • Kubernetes Clusters > ACK Daemonset

      • Kubernetes Clusters > Self-managed Cluster in DaemonSet Mode

      Penting

      Pengaturan selanjutnya bervariasi tergantung opsi yang Anda pilih.

    2. Konfirmasi bahwa machine group yang diperlukan muncul di bagian Applied Server Groups, lalu klik Next. Setelah menginstal Logtail di kluster ACK, SLS secara otomatis membuat machine group bernama k8s-group-${your_k8s_cluster_id} yang dapat Anda gunakan langsung.

      Penting
  5. Buat konfigurasi Logtail dan klik Next. SLS mulai mengumpulkan log setelah konfigurasi dibuat. Opsi filter kontainer Opsi filter berikut tersedia untuk Logtail 1.0.34 dan versi lebih baru. Untuk versi sebelumnya, gunakan hanya variabel lingkungan dan label kontainer.

    • K8s Pod Name Regular Matching: Cocokkan kontainer berdasarkan nama pod menggunakan ekspresi reguler. Contoh: ^(nginx-log-demo.*)$ mencocokkan semua kontainer di pod yang namanya diawali dengan nginx-log-demo.

    • K8s Namespace Regular Matching: Cocokkan kontainer berdasarkan namespace. Contoh: ^(default|nginx)$ mencocokkan kontainer di namespace nginx dan default.

    • K8s Container Name Regular Matching: Cocokkan kontainer berdasarkan nama kontainer (seperti yang didefinisikan di spec.containers). Contoh: ^(container-test)$ mencocokkan kontainer bernama container-test.

    • Whitelist / Blacklist Label Kontainer: Filter kontainer berdasarkan label kontainer (pasangan kunci-nilai). Namespace dan nama kontainer Kubernetes dipetakan ke label io.kubernetes.pod.namespace dan io.kubernetes.container.name. Pasangan kunci-nilai dievaluasi dengan logika OR. Pencocokan string adalah default; awali dengan ^ dan akhiri dengan $ untuk pencocokan regex.

    • Whitelist / Blacklist Variabel Lingkungan: Filter kontainer berdasarkan pasangan kunci-nilai variabel lingkungan. Logika OR berlaku. Contoh: atur Environment Variable Name ke NGINX_SERVICE_PORT dan Environment Variable Value ke ^(80|6379)$ untuk mencocokkan kontainer di port 80 atau 6379.

    • Whitelist / Blacklist Label Pod Kubernetes: Filter kontainer berdasarkan label pod Kubernetes (berbeda dari label kontainer). Logika OR berlaku. Contoh: atur Label Name ke environment dan Label Value ke ^(dev|pre)$ untuk mencocokkan kontainer dengan label pod environment:dev atau environment:pre.

    Catatan Konfigurasi Logtail memerlukan waktu hingga 3 menit untuk berlaku.
    Penting

    Label kontainer (diambil melalui docker inspect) berbeda dari label Kubernetes. Lihat Dapatkan label dan Dapatkan variabel lingkungan.

    Konfigurasi global

    ParameterDeskripsi
    Nama konfigurasiMasukkan nama unik untuk konfigurasi dalam proyek. Nama tidak dapat diubah nanti.
    Jenis topik logPilih cara topik log dihasilkan. Opsi: Machine Group Topic (menggunakan topik machine group untuk membedakan log dari grup berbeda), File Path Extraction (menggunakan regex untuk mengekstrak bagian path file sebagai topik), Custom (tentukan topik kustom). Lihat Topik log.
    Parameter lanjutanOpsional. Konfigurasikan parameter global lanjutan. Lihat CreateLogtailPipelineConfig.

    Konfigurasi input

    ParameterDeskripsi
    Logtail deployment modePilih Daemonset untuk kasus penggunaan ini.
    File path typePilih Path in Container dalam kebanyakan kasus. Pilih Host Path hanya jika volume hostPath dipasang dan Anda ingin mengumpulkan log berdasarkan path yang dipetakan di host kontainer.
    File pathTentukan path file log. Path Linux diawali dengan / (contoh: /apsara/nuwa//app.Log`). Path Windows diawali dengan huruf drive (contoh: `C:\Program Files\Intel\\*.Log). Gunakan * dan ? sebagai karakter wildcard saja. Contoh: /apsara/nuwa/**/*.log mengumpulkan semua file .log di bawah /apsara/nuwa secara rekursif. /var/logs/app_*/**/*.log mengumpulkan file .log di subdirektori yang cocok dengan app_* di bawah /var/logs. /var/log/nginx/**/access* mengumpulkan file yang diawali dengan access di bawah /var/log/nginx secara rekursif.
    Maximum directory monitoring depthAtur jumlah maksimum level subdirektori yang dipantau untuk wildcard ** di path file. Nilai 0 hanya memantau direktori yang ditentukan. Pertahankan nilai ini serendah mungkin sesuai kebutuhan Anda—nilai besar meningkatkan konsumsi resource pemantauan dan dapat menyebabkan latensi pengumpulan.
    Enable container metadata previewSaat diaktifkan, menampilkan informasi kontainer yang cocok dan metadata kontainer lengkap setelah konfigurasi dibuat.
    Container filteringFilter kontainer mana yang akan dikumpulkan lognya. Perilaku filter tergantung pada versi Logtail: jika Logtail sebelum 1.0.34, gunakan hanya variabel lingkungan dan label kontainer. Jika Logtail 1.0.34 atau lebih baru, gunakan filter tingkat Kubernetes (Nama Pod K8s, Namespace, Nama Kontainer, dan Label Pod). Lihat opsi filter kontainer di bawah.
    Log tag enrichmentTambahkan tag log dari variabel lingkungan dan label pod.
    File encodingPilih format encoding file log.
    First collection sizeUkuran data yang dikumpulkan Logtail dari file pada pengumpulan pertama. Default: 1.024 KB. Rentang: 0–10.485.760 KB. Jika file lebih kecil dari 1.024 KB, Logtail dimulai dari awal. Jika lebih besar, Logtail mengumpulkan 1.024 KB terakhir.
    Collection blacklistKecualikan direktori atau file tertentu dari pengumpulan menggunakan path eksak atau wildcard (* dan ?). Disarankan maksimal 10 entri. Path tidak boleh diakhiri dengan /. Mendukung File Path Blacklist, File Blacklist, dan Directory Blacklist.
    Allow file to be collected multiple timesSecara default, hanya satu konfigurasi Logtail yang dapat mengumpulkan log dari file tertentu. Aktifkan ini untuk mengizinkan beberapa konfigurasi mengumpulkan dari file yang sama.
    Advanced parametersKonfigurasikan parameter tambahan secara manual. Lihat Buat konfigurasi pipeline Logtail.

    Konfigurasi prosesor

    ParameterDeskripsi
    Contoh logTambahkan contoh log dari skenario nyata untuk membantu konfigurasi pemrosesan. Panjang total maksimum: 1.500 karakter.
    Mode multi-barisIdentifikasi entri log multi-baris. Opsi: Custom (gunakan Regex to Match First Line untuk mengidentifikasi batas log), Multi-line JSON (setiap objek JSON mencakup beberapa baris). Konfigurasikan Processing Method If Splitting Fails: Discard (buang log yang tidak cocok) atau Retain Single Line (pertahankan setiap baris sebagai entri log terpisah).
    Metode pemrosesanTambahkan prosesor untuk pemrosesan data. Logtail V2.0 memungkinkan penggabungan prosesor native dan extended secara bebas (prosesor extended harus mengikuti prosesor native). Versi sebelumnya tidak dapat mencampur prosesor native dan extended.
  6. Buat indeks dan pratinjau data, lalu klik Next. Indeks teks penuh diaktifkan secara default. Untuk membuat indeks bidang secara otomatis, klik Automatic Index Generation. Untuk informasi lebih lanjut, lihat Buat indeks.

    Penting

    Gunakan indeks teks penuh untuk mengkueri semua bidang. Gunakan indeks bidang untuk mengkueri bidang tertentu dan mengurangi trafik indeks. Indeks bidang diperlukan untuk analisis log (kueri harus menyertakan pernyataan SELECT).

  7. Klik Query Log untuk membuka halaman kueri dan analisis Logstore Anda. Tunggu sekitar 1 menit agar indeks berlaku, lalu lihat log yang dikumpulkan di tab Raw Logs. Lihat Panduan kueri dan analisis log.

Variabel lingkungan

Gunakan variabel lingkungan untuk mengonfigurasi pengumpulan log langsung di YAML Layanan Knative Anda. Semua nama variabel lingkungan untuk pengumpulan log harus menggunakan awalan aliyun_logs_. Bagian {key} hanya boleh berisi huruf kecil, angka, dan tanda hubung (-).

Penting

Konfigurasi berbasis variabel lingkungan tidak didukung dalam skenario komputasi tepi.

Aktifkan SLS saat membuat Layanan Knative

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

  2. Di halaman Clusters, temukan kluster yang ingin Anda kelola dan klik namanya. Di panel navigasi kiri, pilih Applications > Knative.

  3. Klik tab Services, pilih namespace, dan klik Create from Template. Pilih Custom di bagian Sample Template dan gunakan YAML berikut:

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: helloworld-go-log
spec:
  template:
    spec:
      containers:
      - name: my-demo-app
        image: 'registry.cn-hangzhou.aliyuncs.com/log-service/docker-log-test:latest'
        env:
        # Kumpulkan stdout ke Logstore "log-stdout".
        - name: aliyun_logs_log-stdout
          value: stdout
        # Kumpulkan file /var/demo/*.log ke Logstore "log-varlog".
        - name: aliyun_logs_log-varlog
          value: /var/demo/*.log
        # Tambahkan tag kustom ke semua log yang dikumpulkan oleh kontainer ini.
        - name: aliyun_logs_mytag1_tags
          value: tag1=v1
        volumeMounts:
        - name: volumn-sls-mydemo
          mountPath: /var/demo
        # Opsional: tambahkan perintah sleep jika pod sering restart.
        command: ["sh", "-c"]
        args: ["sleep 3600"]
      volumes:
      - name: volumn-sls-mydemo
        emptyDir: {}

Cara kerja variabel lingkungan:

  • aliyun_logs_{key}: {key} menjadi nama Logstore dan nama konfigurasi. Atur value ke stdout untuk mengumpulkan stdout kontainer, atau ke path file untuk mengumpulkan file log.

    • aliyun_logs_log-stdout: stdout membuat Logstore log-stdout dan mengumpulkan stdout dari kontainer.

    • aliyun_logs_log-varlog: /var/demo/*.log membuat Logstore log-varlog dan mengumpulkan file yang cocok.

  • aliyun_logs_{key}_tags: Menambahkan tag ke semua log dari kontainer. Format: {tag-key}={tag-value}. {key} adalah nama tag (tanpa garis bawah).

  • volumeMounts: Diperlukan saat mengumpulkan file log non-stdout. mountPath harus sesuai dengan direktori di variabel path log.

  1. Klik Create untuk mengirimkan konfigurasi.

(Opsional) Pengaturan variabel lingkungan lanjutan

VariabelWajibDeskripsiContohCatatan
aliyun_logs_{key}YaMenentukan sumber log. Atur ke stdout atau path file log. Membuat Logstore {key} jika aliyun_logs_{key}_logstore tidak diatur.value: stdout atau value: /var/log/nginx/access.logLog dikumpulkan dalam mode sederhana secara default. Untuk penguraian, gunakan konsol SLS atau CRD.
aliyun_logs_{key}_tagsTidakMenambahkan tag ke log. Format: {tag-key}={tag-value}.value: app=catalina
aliyun_logs_{key}_projectTidakMenentukan proyek SLS. Default ke proyek yang dibuat saat instalasi Logtail.value: my-k8s-projectProyek harus berada di wilayah yang sama dengan Logtail.
aliyun_logs_{key}_logstoreTidakMenentukan nama Logstore. Default ke {key}.value: my-logstore
aliyun_logs_{key}_shardTidakJumlah shard untuk Logstore. Nilai valid: 1–10. Default: 2.value: '4'Tidak berpengaruh jika Logstore sudah ada.
aliyun_logs_{key}_ttlTidakPeriode retensi log dalam hari. Nilai valid: 1–3650. Atur ke 3650 untuk penyimpanan permanen. Default: 90 hari.value: '3650'Tidak berpengaruh jika Logstore sudah ada.
aliyun_logs_{key}_machinegroupTidakMachine group tempat aplikasi dideploy. Default ke machine group Logtail.value: my-machine-groupLihat Kumpulkan log kontainer dari kluster ACK.
aliyun_logs_{key}_logstoremodeTidakJenis Logstore. Default: standard. Opsi: standard (mendukung analisis log; pemantauan waktu nyata dan analisis interaktif) atau query (kueri berkinerja-tinggi; biaya indeks sekitar separuh dari standard; tidak ada analisis SQL; cocok untuk volume data besar atau retensi panjang tanpa analisis — jika log disimpan selama berminggu-minggu atau berbulan-bulan, periode retensi log dianggap panjang).value: standard atau value: queryMemerlukan image logtail-ds v1.3.1 atau lebih baru. Tidak berpengaruh jika Logstore sudah ada.

Langkah 3: Kueri dan analisis log

  1. Masuk ke Konsol Simple Log Service.

  2. Di bagian Projects, klik proyek untuk membuka halaman detailnya.

    image

  3. Di panel navigasi kiri, klik ikon 图标 di sebelah Logstore. Di daftar drop-down, pilih Search & Analysis.

    image

Tunggu sekitar 1 menit agar indeks berlaku, lalu lihat log di tab Raw Logs. Lihat Panduan kueri dan analisis log.

Bidang default dalam log teks kontainer

Setiap log teks kontainer mencakup bidang berikut secara default:

BidangDeskripsi
__tag__:__hostname__Nama host kontainer
__tag__:__path__Path file log di kontainer
__tag__:_container_ip_Alamat IP kontainer
__tag__:_image_name_Nama image yang digunakan oleh kontainer
__tag__:_pod_name_Nama pod
__tag__:_namespace_Namespace pod
__tag__:_pod_uid_UID pod

Langkah selanjutnya