All Products
Search
Document Center

Container Service for Kubernetes:Kumpulkan log kontainer dari kluster ACK (DaemonSet)

Last Updated:Aug 21, 2026

ACK terintegrasi erat dengan Simple Log Service, menyediakan komponen pengumpulan log yang menyederhanakan pengumpulan dan pengelolaan log kontainer. Topik ini menjelaskan cara menginstal komponen pengumpulan log serta mengonfigurasi pengumpulan log untuk secara otomatis mengumpulkan, mengkueri, dan menganalisis log Anda. Kemampuan ini meningkatkan efisiensi operasional sekaligus menurunkan biaya pengelolaan.

Kasus penggunaan

Komponen pengumpulan log mengumpulkan log kontainer dengan dua cara:

Untuk perbandingan kedua metode pengumpulan tersebut, lihat Metode pengumpulan. Untuk detail penagihan Log Service, lihat Ikhtisar penagihan.

Indeks

Langkah

Detail

Langkah 1: Instal komponen pengumpulan log

Instal salah satu komponen pengumpulan log berikut.

  • Instal LoongCollector (disarankan)

    LoongCollector adalah agen pengumpulan generasi berikutnya dari SLS dan merupakan peningkatan dari Logtail.
  • Instal Logtail

    Logtail adalah agen yang mengumpulkan log Kubernetes. Agen ini dapat mengumpulkan berbagai tipe log dari kontainer standar dan kluster Kubernetes.

Langkah 2: Buat konfigurasi pengumpulan

Anda dapat mengumpulkan log teks atau output standar sesuai kebutuhan.

  • Kumpulkan log teks

    Log teks adalah file log yang dihasilkan oleh program di dalam kontainer dan disimpan ke direktori tertentu. Metode ini ideal untuk analisis jangka panjang atau troubleshooting.
  • Kumpulkan output standar

    Output standar (stdout) menyediakan log waktu nyata dari aplikasi yang berjalan di dalam kontainer. Metode ini ideal untuk debugging program dan mengidentifikasi masalah secara cepat.

Langkah 3: Kueri dan analisis log

Kueri dan analisis log di konsol.

Langkah 1: Instal komponen pengumpulan log

LoongCollector (disarankan)

LoongCollector (sebelumnya Logtail): Agen pengumpulan log generasi berikutnya dari Simple Log Service. Deploy di server, node Kubernetes, atau host Docker untuk mengumpulkan log dari file tanpa memodifikasi kode aplikasi. Agen ini kompatibel mundur dengan Logtail dan memberikan kinerja yang ditingkatkan.

Kluster ACK yang sudah ada

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

  2. Di halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Components and Add-ons .

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

  4. Setelah instalasi, Simple Log Service (SLS) secara otomatis membuat resource berikut di wilayah kluster ACK. Anda dapat melihatnya di Konsol Simple Log Service (SLS).

    Tipe resource

    Nama resource

    Tujuan

    Project

    k8s-log-${cluster_id}

    Mengisolasi log dari layanan yang berbeda.

    Machine group

    k8s-group-${cluster_id}

    Machine group untuk loongcollector-ds, digunakan untuk pengumpulan log.

    k8s-group-${cluster_id}-cluster

    Machine group untuk loongcollector-cluster, digunakan untuk pengumpulan metrik.

    k8s-group-${cluster_id}-singleton

    Machine group untuk konfigurasi pengumpulan instans tunggal tertentu.

    Penting

    Komponen LoongCollector tidak membuat logstore bernama config-operation-log. Jika logstore ini sudah ada, LoongCollector tidak akan menulis log ke dalamnya.

Logtail

Pengumpulan data berbasis Logtail: Logtail adalah agen pengumpulan log yang disediakan oleh Simple Log Service. Anda dapat menggunakan Logtail untuk mengumpulkan log dari berbagai sumber data, seperti instans Alibaba Cloud Elastic Compute Service (ECS), server di pusat data, dan server dari penyedia layanan cloud pihak ketiga. Logtail mendukung pengumpulan log non-intrusif berdasarkan file log. Anda tidak perlu memodifikasi kode aplikasi Anda, dan pengumpulan log tidak memengaruhi operasi aplikasi Anda.

Instal komponen Logtail di kluster ACK yang sudah ada

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

  2. Di halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Components and Add-ons .

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

Instal komponen Logtail saat membuat kluster ACK

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

  2. Di halaman Clusters, klik Create Kubernetes Cluster. Di langkah Component Configurations wizard, pilih Enable Log Service.

    Topik ini hanya menjelaskan pengaturan terkait Simple Log Service. Untuk informasi lebih lanjut tentang pengaturan lainnya, lihat Buat kluster ACK yang dikelola.

    Setelah Anda memilih Enable Log Service, sistem akan meminta Anda untuk membuat project Simple Log Service. Anda dapat menggunakan salah satu metode berikut untuk membuat project:

    • Select Project

      Anda dapat memilih project yang sudah ada untuk mengelola log kontainer yang dikumpulkan.

      Install Logtail components

    • Create Project

      Simple Log Service secara otomatis membuat project untuk mengelola log kontainer yang dikumpulkan. ClusterID menunjukkan pengenal unik dari kluster Kubernetes yang dibuat.

      Install Logtail components

Penting

Di langkah Component Configurations wizard, Enable dipilih secara default untuk parameter Control Plane Component Logs. Jika Enable dipilih, sistem secara otomatis mengonfigurasi pengaturan pengumpulan dan mengumpulkan log dari komponen control plane kluster, dan Anda dikenai biaya untuk log yang dikumpulkan berdasarkan metode penagihan pay-as-you-go. Anda dapat menentukan apakah akan memilih Enable berdasarkan kebutuhan bisnis Anda. Untuk informasi lebih lanjut, lihat Kumpulkan log komponen control plane di kluster ACK yang dikelola.image

Setelah komponen Logtail diinstal, Simple Log Service secara otomatis menghasilkan project bernama k8s-log-<YOUR_CLUSTER_ID> dan resource di dalam project tersebut. Anda dapat login ke Konsol Simple Log Service untuk melihat resource tersebut.

Tipe resource

Nama resource

Deskripsi

Contoh

Machine group

k8s-group-<YOUR_CLUSTER_ID>

Machine group logtail-daemonset, yang digunakan dalam skenario pengumpulan log.

k8s-group-my-cluster-123

k8s-group-<YOUR_CLUSTER_ID>-statefulset

Machine group logtail-statefulset, yang digunakan dalam skenario pengumpulan metrik.

k8s-group-my-cluster-123-statefulset

k8s-group-<YOUR_CLUSTER_ID>-singleton

Machine group instans tunggal, yang digunakan untuk membuat konfigurasi Logtail untuk instans tunggal tersebut.

k8s-group-my-cluster-123-singleton

Logstore

config-operation-log

Logstore ini digunakan untuk menyimpan log komponen alibaba-log-controller. Kami menyarankan agar Anda tidak membuat konfigurasi Logtail untuk logstore ini. Anda dapat menghapus logstore tersebut. Setelah logstore dihapus, sistem tidak lagi mengumpulkan log operasional komponen alibaba-log-controller. Anda dikenai biaya untuk logstore ini dengan cara yang sama seperti logstore biasa. Untuk informasi lebih lanjut, lihat Item yang dikenai biaya untuk model bayar berdasarkan data yang diingest.

None

Langkah 2: Buat konfigurasi pengumpulan

Kumpulkan log teks

Anda dapat menggunakan empat metode berikut untuk membuat konfigurasi LoongCollector. Kami menyarankan menggunakan satu metode saja untuk mengelola konfigurasi Anda.

Metode konfigurasi

Deskripsi konfigurasi

Skenario

CRD - AliyunPipelineConfig (disarankan)

Anda dapat menggunakan Custom Resource Definition (CRD) AliyunPipelineConfig, yaitu CRD Kubernetes, untuk mengelola konfigurasi LoongCollector.

Metode ini cocok untuk skenario yang memerlukan pengumpulan dan pemrosesan kompleks, serta konsistensi versi antara konfigurasi LoongCollector dan kontainer LoongCollector di kluster ACK.

CRD - AliyunLogConfig

Anda dapat menggunakan CRD AliyunLogConfig, yaitu CRD versi lama, untuk mengelola konfigurasi LoongCollector.

Metode ini cocok untuk skenario yang sudah dikenal di mana konfigurasi LoongCollector dapat dikelola menggunakan CRD versi lama.

Anda harus secara bertahap mengganti CRD AliyunLogConfig dengan CRD AliyunPipelineConfig untuk mendapatkan ekstensibilitas dan stabilitas yang lebih baik. Untuk informasi lebih lanjut tentang perbedaan antara metode CRD - AliyunPipelineConfig dan CRD - AliyunLogConfig, lihat CRD.

Konsol Simple Log Service

Anda dapat mengelola konfigurasi LoongCollector di GUI berdasarkan deployment dan konfigurasi cepat.

Metode ini cocok untuk skenario yang memerlukan pengaturan sederhana untuk mengelola konfigurasi LoongCollector. Jika Anda menggunakan metode ini untuk mengelola konfigurasi LoongCollector, fitur lanjutan dan pengaturan kustom tertentu tidak dapat digunakan.

Variabel lingkungan

Anda dapat menggunakan variabel lingkungan untuk mengonfigurasi parameter yang digunakan untuk mengelola konfigurasi LoongCollector secara efisien.

Anda hanya dapat menggunakan variabel lingkungan untuk mengonfigurasi pengaturan sederhana. Logika pemrosesan kompleks tidak didukung. Hanya log teks satu baris yang didukung. Anda dapat menggunakan variabel lingkungan untuk membuat konfigurasi LoongCollector yang dapat memenuhi persyaratan berikut:

  • Kumpulkan data dari beberapa aplikasi ke logstore yang sama.

  • Kumpulkan data dari beberapa aplikasi ke project yang berbeda.

Catatan

Saat menggunakan metode (Disarankan) CRD-AliyunPipelineConfig, versi komponen logtail-ds harus 1.8.10 atau lebih baru. Untuk detail peningkatan, lihat Tingkatkan Logtail ke versi terbaru. Persyaratan versi ini tidak berlaku untuk komponen LoongCollector.

CRD - AliyunPipelineConfig (disarankan)

Untuk membuat konfigurasi LoongCollector, Anda hanya perlu membuat Custom Resource (CR) dari CRD AliyunPipelineConfig. Setelah CR dibuat, konfigurasi LoongCollector langsung berlaku.

Penting

Jika Anda membuat konfigurasi LoongCollector dengan membuat CR dan ingin memodifikasi konfigurasi LoongCollector tersebut, Anda hanya dapat memodifikasi CR-nya. Jika Anda memodifikasi konfigurasi LoongCollector di konsol Simple Log Service, pengaturan baru tersebut tidak akan disinkronkan ke CR.

  1. Login ke Konsol ACK.

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

  3. Di halaman Custom Resources, klik tab CRDs, lalu klik Create from YAML.

  4. Modifikasi parameter dalam contoh YAML berikut sesuai kebutuhan, salin dan tempelkan ke dalam templat, lalu klik Create.

    File YAML ini digunakan untuk mengumpulkan log dari file test.LOG di direktori /data/logs/app_1 dari pod yang memiliki label app: ^(.*test.*)$ ke logstore k8s-file yang dibuat secara otomatis di project k8s-log-<YOUR_CLUSTER_ID>. Modifikasi parameter berikut dalam file YAML sesuai kebutuhan:

    • project: Contoh: k8s-log-<YOUR_CLUSTER_ID>.

      Login ke Konsol Simple Log Service. Periksa nama project yang dihasilkan setelah LoongCollector diinstal.

    • IncludeK8sLabel: Label yang digunakan untuk memfilter pod. Contoh: app: ^(.*test.*)$. Dalam contoh ini, pod yang memiliki kunci label app dan nilai label yang mengandung test akan dikumpulkan.

      Catatan

      Jika Anda ingin mengumpulkan semua pod yang namanya mengandung test di kluster Anda, Anda dapat mengganti parameter IncludeK8sLabel dengan parameter K8sContainerRegex dan menggunakan karakter wildcard untuk menentukan nilai parameter K8sContainerRegex. Contoh: K8sContainerRegex: ^(. test.) $.

    • FilePaths: Contoh: /data/logs/app_1/**/test.LOG. Untuk informasi lebih lanjut, lihat Pemetaan path file untuk kontainer.

    • Endpoint dan Region (ID Wilayah): Contoh untuk parameter Endpoint: cn-hangzhou.log.aliyuncs.com. Contoh untuk parameter Region: cn-hangzhou.

    Nilai parameter config mencakup jenis plug-in input, output, dan pemrosesan serta metode pemfilteran kontainer. Untuk informasi lebih lanjut, lihat PipelineConfig. Untuk informasi lebih lanjut tentang parameter lengkap dalam file YAML, lihat Parameter CR.

    apiVersion: telemetry.alibabacloud.com/v1alpha1
    # Buat ClusterAliyunPipelineConfig.
    kind: ClusterAliyunPipelineConfig
    metadata:
      # Tentukan nama sumber daya. Nama harus unik di kluster Kubernetes saat ini. Nama ini juga merupakan nama dari konfigurasi Logtail yang dibuat. 
      name: example-k8s-stdout
    spec:
      # Tentukan proyek target.
      project:
        name: k8s-log-<YOUR_CLUSTER_ID>
      # Buat penyimpanan log untuk menyimpan log.
      logstores:
        - name: k8s-stdout
      # Tentukan konfigurasi Logtail.
      config:
        # Contoh log (opsional)
        sample: |
          2024-06-19 16:35:00 INFO test log
          line-1
          line-2
          end
        # Tentukan plugin input.
        inputs:
              # Gunakan plugin service_docker_stdout untuk mengumpulkan log teks di dalam kontainer.
          - Type: service_docker_stdout
            Stdout: true
            Stderr: true
            # Konfigurasikan kondisi filter informasi kontainer. Beberapa opsi berada dalam hubungan "dan".
            # Tentukan namespace tempat pod yang berisi kontainer yang akan dikumpulkan berada. Mendukung pencocokan ekspresi reguler.
            K8sNamespaceRegex: "^(default)$"
            # Aktifkan pratinjau metadata kontainer.
            CollectContainersFlag: true
            # Kumpulkan kontainer yang memenuhi kondisi label Pod. Beberapa entri berada dalam hubungan "atau".
            IncludeK8sLabel:
              app: ^(.*test.*)$
            # Konfigurasikan konfigurasi chunk multi-baris. Konfigurasi tidak valid untuk pengumpulan log satu baris.
            # Konfigurasikan ekspresi reguler untuk awal baris.
            BeginLineRegex: \d+-\d+-\d+.*
        # Tentukan plugin output
        flushers:
          # Gunakan plugin flusher_sls untuk mengirim log ke penyimpanan log yang ditentukan.
          - Type: flusher_sls
            # Pastikan penyimpanan log ada.
            Logstore: k8s-stdout
            # Pastikan titik akhir valid.
            Endpoint: ap-southeast-1.log.aliyuncs.com
            Region: ap-southeast-1
            TelemetryType: logs

CRD - AliyunLogConfig

Untuk membuat konfigurasi LoongCollector, Anda hanya perlu membuat CR dari CRD AliyunLogConfig. Setelah CR dibuat, konfigurasi LoongCollector langsung berlaku.

Penting

Jika Anda membuat konfigurasi LoongCollector dengan membuat CR dan ingin memodifikasi konfigurasi LoongCollector tersebut, Anda hanya dapat memodifikasi CR-nya. Jika Anda memodifikasi konfigurasi LoongCollector di konsol Simple Log Service, pengaturan baru tersebut tidak akan disinkronkan ke CR.

  1. Login ke Konsol ACK.

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

  3. Di halaman Custom Resources, klik tab CRDs, lalu klik Create from YAML.

  4. Modifikasi parameter dalam contoh YAML berikut sesuai kebutuhan, salin dan tempelkan ke dalam templat, lalu klik Create.

    File YAML ini digunakan untuk membuat konfigurasi LoongCollector bernama example-k8s-file yang mengumpulkan konten test.LOG dari path /data/logs/app_1 untuk semua kontainer yang namanya dimulai dengan app di kluster Anda dalam mode sederhana. Data yang dikumpulkan dikirim ke logstore k8s-file yang dibuat secara otomatis di project k8s-log-<YOUR_CLUSTER_ID>.

    Modifikasi path file log dalam contoh sesuai kebutuhan. Untuk informasi lebih lanjut, lihat Pemetaan path file untuk kontainer.

    • logPath: Path file log. Contoh: /data/logs/app_1.

    • filePattern: Nama file dari mana Anda ingin mengumpulkan log. Contoh: test.LOG.

    Parameter Config menentukan detail LoongCollector, seperti jenis plug-in input, output, dan pemrosesan serta metode pemfilteran kontainer. Untuk informasi lebih lanjut, lihat AliyunLogConfigDetail. Untuk informasi lebih lanjut tentang parameter lengkap dalam file YAML, lihat Parameter CR.

    # Konfigurasi output standar
    apiVersion: log.alibabacloud.com/v1alpha1
    kind: AliyunLogConfig
    metadata:
      # Tentukan nama sumber daya. Nama harus unik di kluster Kubernetes saat ini.
      name: simple-stdout-example
    spec:
      # Tentukan nama proyek target (opsional, defaultnya adalah k8s-log-<your_cluster_id>)
      # project: k8s-log-test
      # Tentukan nama penyimpanan log. Jika penyimpanan log yang ditentukan tidak ada, Simple Log Service akan secara otomatis membuat penyimpanan log.
      logstore: k8s-stdout
      # Tentukan konfigurasi Logtail.
      logtailConfig:
        # Tentukan jenis sumber data. Untuk mengumpulkan output standar, atur nilainya ke plugin.
        inputType: plugin
        # Tentukan nama konfigurasi koleksi Logtail. Nama harus sama dengan nama sumber daya yang ditentukan di metadata.name.
        configName: simple-stdout-example
        inputDetail:
          plugin:
            inputs:
              - type: service_docker_stdout
                detail:
                  # Tentukan koleksi stdout dan stderr.
                  Stdout: true
                  Stderr: true
                  # Tentukan namespace pod yang berisi kontainer yang akan dikumpulkan. Mendukung pencocokan ekspresi reguler.
                  K8sNamespaceRegex: "^(default)$"
                  # Tentukan nama kontainer yang akan dikumpulkan. Mendukung pencocokan ekspresi reguler.
                  K8sContainerRegex: "^(app.*)$"
                  # Konfigurasikan konfigurasi chunk multi-baris.
                  # Konfigurasikan ekspresi reguler untuk awal baris.
                  BeginLineRegex: \d+-\d+-\d+.*
                  

Konsol Simple Log Service

Catatan

Metode ini cocok untuk skenario yang memerlukan pengaturan sederhana untuk mengelola konfigurasi LoongCollector tanpa perlu login ke kluster Kubernetes. Anda tidak dapat membuat konfigurasi LoongCollector secara batch menggunakan metode ini.

  1. Login ke Konsol Simple Log Service.

  2. Di bagian Projects, klik project yang Anda gunakan untuk menginstal komponen LoongCollector. Contoh: k8s-log-<YOUR_CLUSTER_ID>. Di halaman yang muncul, klik ikon > logstore yang Anda inginkan, lalu klik Logtail Configurations. Di halaman Logtail Configuration, klik Add Logtail Configuration. Di dialog Quick Data Import, temukan kartu Kubernetes - File dan klik Integrate Now.image

  3. Di langkah Machine Group Configurations wizard Import Data, atur parameter Scenario ke Kubernetes Clusters dan parameter Deployment Method ke ACK Daemonset, pilih machine group k8s-group-${your_k8s_cluster_id} dan klik ikon > untuk memindahkan machine group dari bagian Source Machine Group ke bagian Applied Server Groups, lalu klik Next.image

  4. Buat konfigurasi LoongCollector. Di langkah Logtail Configuration wizard Import Data, konfigurasikan parameter yang diperlukan dan klik Next. Pembuatan konfigurasi LoongCollector memerlukan waktu sekitar 1 menit. Daftar berikut menjelaskan pengaturan parameter utama. Untuk informasi lebih lanjut, lihat Buat konfigurasi Logtail.

    • Global Configurations

      Pada bagian Global Configurations, konfigurasikan parameter Configuration Name.

      image

    • Input Configurations

      • Logtail Deployment Mode: Mode deployment LoongCollector. Pilih Daemonset.

      • File Path Type: Jenis path file yang ingin Anda gunakan untuk mengumpulkan log. Nilai yang valid: Path in Container dan Host Path. Jika volume hostPath dipasang ke kontainer dan Anda ingin mengumpulkan log dari file berdasarkan path file yang dipetakan di host kontainer, atur parameter ini ke Host Path. Di skenario lain, atur parameter ini ke Path in Container.

      • File Path: Direktori yang digunakan untuk menyimpan log yang ingin Anda kumpulkan. Path file harus dimulai dengan garis miring (/). Dalam contoh ini, atur parameter File Path ke /data/wwwlogs/main/**/*.Log, yang menunjukkan bahwa log dikumpulkan dari file yang diakhiri dengan .Log di direktori /data/wwwlogs/main. Anda dapat mengonfigurasi parameter Maximum Directory Monitoring Depth untuk menentukan jumlah maksimum level subdirektori yang ingin Anda pantau. Subdirektori tersebut berada di direktori file log yang Anda tentukan. Parameter ini menentukan level subdirektori yang dapat dicocokkan oleh karakter wildcard ** dalam nilai parameter File Path. Nilai 0 menentukan bahwa hanya direktori file log yang ditentukan yang dipantau.image

  5. Create indexes dan preview data. Secara default, Simple Log Service mengaktifkan pengindeksan teks penuh. Dalam hal ini, indeks teks penuh dibuat. Anda dapat mengkueri semua field di log berdasarkan indeks tersebut. Anda juga dapat membuat indeks untuk field secara manual berdasarkan log yang dikumpulkan. Atau, Anda dapat mengklik Automatic Index Generation. Kemudian, Simple Log Service akan menghasilkan indeks untuk field. Anda dapat mengkueri data secara akurat berdasarkan indeks field. Hal ini mengurangi biaya pengindeksan dan meningkatkan efisiensi kueri. Untuk informasi lebih lanjut, lihat Buat indeks.image

Variabel lingkungan

Catatan

Metode ini hanya mendukung log teks satu baris. Jika Anda ingin mengumpulkan log teks multi-baris atau log dengan format lain, gunakan metode di atas.

  1. Buat aplikasi dan konfigurasikan Simple Log Service.

    Konfigurasikan Simple Log Service di konsol ACK
    1. Login ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

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

    3. Di halaman Deployments, klik Create From Image.

    4. Di tab Application Basic Information, atur Application Name, klik Next, dan di halaman Container Configuration, atur nama image.

      Bagian berikut hanya menjelaskan pengaturan terkait Simple Log Service. Untuk informasi lebih lanjut tentang pengaturan lainnya, lihat Buat workload tanpa status (Deployment).

    5. Di bagian Log, konfigurasikan informasi terkait log.

      1. Buat konfigurasi Logtail.

        Klik Collection Configuration untuk membuat konfigurasi Logtail. Setiap konfigurasi Logtail terdiri dari parameter Logstore dan Log Path In Container.

        • Logstore: nama logstore yang digunakan untuk menyimpan log yang dikumpulkan. Jika logstore tidak ada, ACK secara otomatis membuat logstore di project Simple Log Service yang terkait dengan kluster ACK Anda.

          Catatan

          Periode retensi default log di logstore adalah 90 hari.

        • Log Path in Container: path dari mana Anda ingin mengumpulkan log. Nilai /usr/local/tomcat/logs/catalina.*.log menunjukkan bahwa Logtail mengumpulkan log teks dari aplikasi Tomcat.image

          Secara default, setiap logstore sesuai dengan konfigurasi Logtail yang dapat Anda gunakan untuk mengumpulkan log berdasarkan baris dalam mode sederhana.

      2. Buat tag kustom.

        Klik Custom Tag untuk membuat tag kustom. Setiap tag kustom adalah pasangan kunci-nilai dan ditambahkan ke log yang dikumpulkan. Anda dapat menggunakan tag kustom untuk mengidentifikasi log kontainer. Misalnya, tentukan nomor versi untuk parameter Tag Value.image

    Konfigurasikan Simple Log Service menggunakan templat YAML
    1. Login ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

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

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

    4. Konfigurasikan templat YAML.

      Sintaksis templat YAML sama dengan sintaksis Kubernetes. Namun, untuk menentukan konfigurasi pengumpulan untuk kontainer, Anda harus menggunakan env untuk menambahkan Collection Configurations dan Custom Tags ke kontainer. Anda juga harus membuat volumeMounts dan volumes yang sesuai berdasarkan konfigurasi pengumpulan. Kode berikut adalah contoh:

      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-varlog
            value: /var/log/*.log
          - name: aliyun_logs_mytag1_tags
            value: tag1=v1
          # Konfigurasikan pemasangan volume
          volumeMounts:
          - name: volumn-sls-mydemo
            mountPath: /var/log
          # Jika pod di-restart berulang kali, Anda dapat menambahkan perintah sleep ke parameter startup pod.
          command: ["sh", "-c"]  # Jalankan perintah di shell.
          args: ["sleep 3600"]   # Buat pod tidur selama 3.600 detik (1 jam).
        volumes:
        - name: volumn-sls-mydemo
          emptyDir: {}
      1. Gunakan variabel lingkungan untuk membuat Collection Configurations dan Custom Tags. Semua variabel lingkungan yang terkait konfigurasi menggunakan aliyun_logs_ sebagai awalan.

        • Buat konfigurasi pengumpulan dengan format berikut:

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

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

          • aliyun_logs_log-varlog: Variabel lingkungan ini membuat konfigurasi untuk mengumpulkan konten file `/var/log/*.log` dari kontainer dan menyimpan kontennya di Logstore bernama log-varlog. Nama konfigurasi pengumpulan Simple Log Service yang sesuai juga log-varlog. Tujuannya adalah mengumpulkan konten file `/var/log/*.log` dari kontainer ke log-varlog Logstore.

        • Buat Custom Tags dengan format berikut:

          - name: aliyun_logs_mytag1_tags
            value: tag1=v1                       

          Setelah tag ditambahkan, tag tersebut secara otomatis ditambahkan ke data log yang dikumpulkan dari kontainer. mytag1 adalah nama yang tidak mengandung underscore (_).

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

        Dalam contoh ini, konfigurasi pengumpulan menambahkan pengumpulan /var/log/*.log. Oleh karena itu, volumeMounts yang sesuai untuk /var/log ditambahkan.

    5. Setelah Anda menyelesaikan templat YAML, klik Create. Kluster Kubernetes mengeksekusi konfigurasi tersebut.

  2. Gunakan variabel lingkungan untuk mengonfigurasi pengaturan 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}

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

    • Jika variabel aliyun_logs_{key}_logstore yang ditentukan tidak ada, logstore bernama {key} dibuat secara otomatis untuk menyimpan log yang dikumpulkan.

    • Untuk mengumpulkan stdout kontainer, atur nilainya ke stdout. Anda juga dapat mengatur nilainya ke path file log di dalam kontainer.

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

    • {key} menentukan nama konfigurasi LoongCollector. Nama konfigurasi harus unik di kluster Kubernetes.

    aliyun_logs_{key}_tags

    Opsional. Variabel ini digunakan untuk menambahkan tag ke 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 project Simple Log Service. Project default adalah project yang dihasilkan setelah LoongCollector diinstal.

    - name: aliyun_logs_catalina_project
    
      value: my-k8s-project

    Project harus dideploy di wilayah yang sama dengan LoongCollector.

    aliyun_logs_{key}_logstore

    Opsional. Variabel ini menentukan logstore. 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 yang 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 yang valid: 1 hingga 3650.

    • Jika Anda mengatur nilainya ke 3650, log disimpan secara permanen.

    • 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 machine group tempat aplikasi dideploy. Machine group default adalah machine group tempat LoongCollector dideploy. 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 yang 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 yang 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 datanya 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 

    N/A.

    • 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 machine group di setiap project dan atur pengenal kustom machine group dengan format berikut: k8s-group-{cluster-id}, di mana {cluster-id} adalah ID kluster Anda. Anda dapat menentukan nama machine group kustom.

      2. Tentukan project, logstore, dan machine group di variabel lingkungan untuk setiap aplikasi. Nama machine group 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 dideploy di kluster ACK yang sama, Anda dapat menggunakan machine group 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

Kumpulkan stdout

Anda dapat membuat konfigurasi pengumpulan dengan salah satu dari empat cara berikut. Kami menyarankan Anda hanya menggunakan satu metode untuk mengelola konfigurasi pengumpulan Anda:

Metode konfigurasi

Deskripsi konfigurasi

Skenario

CRD - AliyunPipelineConfig (disarankan)

Anda dapat menggunakan Custom Resource Definition (CRD) AliyunPipelineConfig, yaitu CRD Kubernetes, untuk mengelola konfigurasi LoongCollector.

Metode ini cocok untuk skenario yang memerlukan pengumpulan dan pemrosesan kompleks, serta konsistensi versi antara konfigurasi LoongCollector dan kontainer LoongCollector di kluster ACK.

CRD - AliyunLogConfig

Anda dapat menggunakan CRD AliyunLogConfig, yaitu CRD versi lama, untuk mengelola konfigurasi LoongCollector.

Metode ini cocok untuk skenario yang sudah dikenal di mana konfigurasi LoongCollector dapat dikelola menggunakan CRD versi lama.

Anda harus secara bertahap mengganti CRD AliyunLogConfig dengan CRD AliyunPipelineConfig untuk mendapatkan ekstensibilitas dan stabilitas yang lebih baik. Untuk informasi lebih lanjut tentang perbedaan antara metode CRD - AliyunPipelineConfig dan CRD - AliyunLogConfig, lihat CRD.

Konsol Simple Log Service

Anda dapat mengelola konfigurasi LoongCollector di GUI berdasarkan deployment dan konfigurasi cepat.

Metode ini cocok untuk skenario yang memerlukan pengaturan sederhana untuk mengelola konfigurasi LoongCollector. Jika Anda menggunakan metode ini untuk mengelola konfigurasi LoongCollector, fitur lanjutan dan pengaturan kustom tertentu tidak dapat digunakan.

Variabel lingkungan

Anda dapat menggunakan variabel lingkungan untuk mengonfigurasi parameter yang digunakan untuk mengelola konfigurasi LoongCollector secara efisien.

Anda hanya dapat menggunakan variabel lingkungan untuk mengonfigurasi pengaturan sederhana. Logika pemrosesan kompleks tidak didukung. Hanya log teks satu baris yang didukung. Anda dapat menggunakan variabel lingkungan untuk membuat konfigurasi LoongCollector yang dapat memenuhi persyaratan berikut:

  • Kumpulkan data dari beberapa aplikasi ke logstore yang sama.

  • Kumpulkan data dari beberapa aplikasi ke project yang berbeda.

Catatan

Menggunakan metode (Disarankan) CRD-AliyunPipelineConfig memerlukan komponen logtail-ds versi 1.8.10 atau lebih baru. Untuk detail peningkatan komponen, lihat Tingkatkan Logtail ke versi terbaru. Persyaratan versi ini tidak berlaku untuk komponen LoongCollector.

CRD-AliyunPipelineConfig (disarankan)

Untuk membuat konfigurasi Logtail, cukup buat custom resource AliyunPipelineConfig, yang akan berlaku secara otomatis.

Penting

Untuk konfigurasi yang dibuat melalui custom resource, modifikasi harus dilakukan dengan memperbarui custom resource yang sesuai. Perubahan yang dilakukan di konsol Simple Log Service tidak akan disinkronkan ke custom resource.

  1. Login ke Konsol ACK.

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

  3. Di halaman Custom Resources, klik tab CRDs, lalu klik Create from YAML.

  4. Modifikasi parameter dalam contoh YAML berikut sesuai kebutuhan, salin dan tempelkan ke dalam templat, lalu klik Create.

    Catatan

    Anda dapat menggunakan generator konfigurasi Logtail untuk membuat skrip YAML skenario target. Alat ini membantu Anda menyelesaikan konfigurasi dengan cepat dan mengurangi operasi manual.

    File YAML contoh di bawah ini mengambil output standar dari Pod yang memiliki label app: ^(.*test.*)$ di namespace default, menggunakan mode teks multi-baris, dan meneruskannya ke logstore bernama k8s-stdout, yang dibuat secara otomatis di dalam project bernama k8s-log-<YOUR_CLUSTER_ID>. Sesuaikan parameter dalam YAML sesuai kebutuhan:

    • project: Login ke Konsol Simple Log Service, dan identifikasi nama project yang dibuat oleh Logtail yang Anda instal, biasanya dalam format k8s-log-<YOUR_CLUSTER_ID>.

    • IncludeK8sLabel: Digunakan untuk memfilter label pod target. Misalnya, app: ^(.*test.*)$ menunjukkan bahwa kunci label adalah app, dan akan mengumpulkan pod dengan nilai yang mengandung test.

    • Endpoint dan Region: Misalnya, ap-southeast-1.log.aliyuncs.com dan ap-southeast-1.

    Untuk informasi lebih lanjut tentang config dalam file YAML, seperti input, output, jenis plug-in pemrosesan, dan metode pemfilteran kontainer yang didukung, lihat PipelineConfig. Untuk daftar lengkap parameter YAML, lihat Parameter CR.

    apiVersion: telemetry.alibabacloud.com/v1alpha1
    # Buat ClusterAliyunPipelineConfig.
    kind: ClusterAliyunPipelineConfig
    metadata:
      # Tentukan nama resource. Nama harus unik di kluster Kubernetes saat ini. Nama ini juga merupakan nama konfigurasi Logtail yang dibuat. 
      name: example-k8s-stdout
    spec:
      # Tentukan project target.
      project:
        name: k8s-log-<YOUR_CLUSTER_ID>
      # Buat logstore untuk menyimpan log.
      logstores:
        - name: k8s-stdout
      # Definisikan konfigurasi Logtail.
      config:
        # Contoh log (opsional)
        sample: |
          2024-06-19 16:35:00 INFO test log
          line-1
          line-2
          end
        # Definisikan plug-in input.
        inputs:
              # Gunakan plug-in service_docker_stdout untuk mengumpulkan log teks di dalam kontainer.
          - Type: service_docker_stdout
            Stdout: true
            Stderr: true
            # Konfigurasikan kondisi filter informasi kontainer. Beberapa opsi berada dalam hubungan "dan".
            # Tentukan namespace tempat pod yang berisi kontainer yang akan dikumpulkan berada. Mendukung pencocokan ekspresi reguler.
            K8sNamespaceRegex: "^(default)$"
            # Aktifkan pratinjau metadata kontainer.
            CollectContainersFlag: true
            # Kumpulkan kontainer yang memenuhi kondisi label Pod. Beberapa entri berada dalam hubungan "atau".
            IncludeK8sLabel:
              app: ^(.*test.*)$
            # Konfigurasikan konfigurasi chunk multi-baris. Konfigurasi tidak valid untuk pengumpulan log satu baris.
            # Konfigurasikan ekspresi reguler untuk awal baris.
            BeginLineRegex: \d+-\d+-\d+.*
        # Definisikan plug-in output
        flushers:
          # Gunakan plug-in flusher_sls untuk mengirim log ke logstore tertentu.
          - Type: flusher_sls
            # Pastikan logstore ada.
            Logstore: k8s-stdout
            # Pastikan endpoint valid.
            Endpoint: ap-southeast-1.log.aliyuncs.com
            Region: ap-southeast-1
            TelemetryType: logs

CRD-AliyunLogConfig

Untuk membuat konfigurasi Logtail, cukup buat custom resource AliyunLogConfig, yang akan berlaku secara otomatis.

Penting

Untuk konfigurasi yang dibuat melalui custom resource, modifikasi harus dilakukan dengan memperbarui custom resource yang sesuai. Perubahan yang dilakukan di Konsol Simple Log Service tidak akan disinkronkan ke custom resource.

  1. Login ke Konsol ACK.

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

  3. Di halaman Custom Resources, klik tab CRDs, lalu klik Create from YAML.

  4. Modifikasi parameter dalam contoh YAML berikut sesuai kebutuhan, salin dan tempelkan ke dalam templat, lalu klik Create.

    Skrip YAML ini akan membuat konfigurasi Logtail bernama simple-stdout-example. Skrip ini akan mengumpulkan output standar dari semua kontainer di kluster yang memiliki nama yang dimulai dengan app, menggunakan mode multi-baris. Data yang dikumpulkan kemudian akan dikirim ke logstore bernama k8s-stdout di dalam project bernama k8s-log-<YOUR_CLUSTER_ID>.

    Untuk informasi lebih lanjut tentang item logtailConfig dalam file YAML, termasuk input, output, jenis plug-in pemrosesan, dan metode pemfilteran kontainer yang didukung, lihat AliyunLogConfigDetail. Untuk daftar lengkap parameter YAML, lihat Parameter CR.

    # Konfigurasi output standar
    apiVersion: log.alibabacloud.com/v1alpha1
    kind: AliyunLogConfig
    metadata:
      # Tentukan nama resource. Nama harus unik di kluster Kubernetes saat ini.
      name: simple-stdout-example
    spec:
      # Tentukan nama project target (opsional, default adalah k8s-log-<your_cluster_id>)
      # project: k8s-log-test
      # Tentukan nama logstore. Jika logstore yang ditentukan tidak ada, Simple Log Service secara otomatis membuat Logstore.
      logstore: k8s-stdout
      # Tentukan konfigurasi Logtail.
      logtailConfig:
        # Tentukan jenis sumber data. Untuk mengumpulkan output standar, atur nilainya menjadi plugin.
        inputType: plugin
        # Tentukan nama konfigurasi pengumpulan Logtail. Nama harus sama dengan nama resource yang ditentukan di metadata.name.
        configName: simple-stdout-example
        inputDetail:
          plugin:
            inputs:
              - type: service_docker_stdout
                detail:
                  # Tentukan pengumpulan stdout dan stderr.
                  Stdout: true
                  Stderr: true
                  # Tentukan namespace tempat pod yang berisi kontainer yang akan dikumpulkan berada. Mendukung pencocokan ekspresi reguler.
                  K8sNamespaceRegex: "^(default)$"
                  # Tentukan nama kontainer yang akan dikumpulkan. Mendukung pencocokan ekspresi reguler.
                  K8sContainerRegex: "^(app.*)$"
                  # Konfigurasikan konfigurasi chunk multi-baris.
                  # Konfigurasikan ekspresi reguler untuk awal baris.
                  BeginLineRegex: \d+-\d+-\d+.*
                  

Konsol Simple Log Service

  1. Login ke Konsol Simple Log Service.

  2. Pilih project Anda dari daftar, seperti k8s-log-<YOUR_CLUSTER_ID>. Di halaman project, klik Logtail Configurations untuk logstore target, klik Add Logtail Configuration, dan klik Integrate Now di bawah K8s - Stdout and Stderr - Old Version.image

  3. Karena Logtail sudah diinstal untuk kluster ACK, pilih Use Existing Machine Groups.image

  4. Di halaman Machine Group Configurations, pilih machine group k8s-group-${your_k8s_cluster_id} di bawah metode ACK Daemonset dalam skenario Kubernetes Clusters, tambahkan ke machine group yang diterapkan, lalu klik Next.image

  5. Buat konfigurasi Logtail, masukkan konfigurasi yang diperlukan seperti dijelaskan di bawah ini, dan klik Next. Konfigurasi akan berlaku dalam waktu sekitar 1 menit.

    Bagian ini hanya mencakup konfigurasi yang diperlukan. Untuk daftar lengkap, lihat Konfigurasi Global.

    • Global Configuration

      Masukkan nama konfigurasi di Global Configuration.

      image

  6. Buat indeks dan pratinjau data: Secara default, Simple Log Service mengaktifkan indeks teks penuh, mengindeks semua field di log untuk kueri. Anda juga dapat membuat indeks field secara manual berdasarkan log yang dikumpulkan, atau klik Automatic Index Generation. Ini akan menghasilkan indeks field untuk kueri istilah pada field tertentu, mengurangi biaya indeks dan meningkatkan efisiensi kueri. image

Variabel lingkungan

  1. Konfigurasikan Simple Log Service saat membuat aplikasi.

    Konsol
    1. Login ke Konsol Manajemen Container Service dan klik Clusters di panel navigasi kiri.

    2. Di halaman Clusters, klik kluster target, lalu pilih Workloads > Deployments dari panel navigasi kiri.

    3. Di halaman Deployments, pilih namespace dan klik Create from Image.

    4. Di halaman Basic Information, atur nama aplikasi, lalu klik Next untuk masuk ke halaman Container.

      Bagian ini memperkenalkan konfigurasi terkait Simple Log Service. Untuk informasi lebih lanjut tentang konfigurasi aplikasi lainnya, lihat Buat workload tanpa status (Deployment).

    5. Di bagian Log, konfigurasikan informasi terkait log.

      1. Atur Collection Configuration.

        Klik Collection Configuration untuk membuat konfigurasi pengumpulan baru. Setiap konfigurasi terdiri dari dua item:

        • Logstore: Tentukan logstore tempat log yang dikumpulkan disimpan. Jika logstore tidak ada, ACK akan secara otomatis membuatnya di project Simple Log Service yang terkait dengan kluster Anda.

          Catatan

          Periode retensi log default untuk logstore yang baru dibuat adalah 90 hari.

        • Log Path in Container (Can be set to stdout): Tentukan stdout untuk mengumpulkan output standar dan output error dari kontainer.

          Collection Configuration

          Setiap konfigurasi pengumpulan dibuat secara otomatis sebagai konfigurasi logstore, dan log dikumpulkan dalam mode sederhana (per baris) secara default.

      2. Atur Custom Tag.

        Klik Custom Tag untuk membuat tag kustom. Setiap tag adalah pasangan kunci-nilai yang akan ditambahkan ke log yang dikumpulkan. Gunakan tag ini untuk memberi label data log kontainer, seperti nomor versi.

        Custom tag

    6. Setelah mengonfigurasi semua pengaturan, klik Next. Untuk langkah selanjutnya, lihat Buat workload tanpa status (Deployment).

    Templat YAML
    1. Login ke Konsol Manajemen Container Service atau , dan pilih Clusters dari panel navigasi kiri.

    2. Di halaman Clusters, klik nama kluster target, lalu pilih Workloads > Deployments dari panel navigasi kiri.

    3. Di halaman Deployments, pilih namespace dan klik Create from YAML.

    4. Konfigurasikan file YAML.

      Sintaksis templat YAML konsisten dengan Kubernetes. Untuk menentukan konfigurasi pengumpulan untuk kontainer, gunakan env untuk menambahkan Collection Configuration dan Custom Tag ke kontainer, dan buat volumeMounts dan volumes yang sesuai berdasarkan konfigurasi pengumpulan. Berikut adalah contoh pod sederhana:

      apiVersion: apps/v1
      kind: Deployment
      metadata:
        annotations:
          deployment.kubernetes.io/revision: '1'
        labels:
          app: deployment-stdout
          cluster_label: CLUSTER-LABEL-A
        name: deployment-stdout
        namespace: default
      spec:
        progressDeadlineSeconds: 600
        replicas: 1
        revisionHistoryLimit: 10
        selector:
          matchLabels:
            app: deployment-stdout
        strategy:
          rollingUpdate:
            maxSurge: 25%
            maxUnavailable: 25%
          type: RollingUpdate
        template:
          metadata:
            labels:
              app: deployment-stdout
              cluster_label: CLUSTER-LABEL-A
          spec:
            containers:
              - args:
                  - >-
                    while true; do date '+%Y-%m-%d %H:%M:%S'; echo 1; echo 2; echo 3;
                    echo 4; echo 5; echo 6; echo 7; echo 8; echo 9; 
                    sleep 10; done
                command:
                  - /bin/sh
                  - '-c'
                  - '--'
                env:
                  - name: cluster_id
                    value: CLUSTER-A
                  - name: aliyun_logs_log-stdout
                    value: stdout
                image: 'mirrors-ssl.aliyuncs.com/busybox:latest'
                imagePullPolicy: IfNotPresent
                name: timestamp-test
                resources: {}
                terminationMessagePath: /dev/termination-log
                terminationMessagePolicy: File
            dnsPolicy: ClusterFirst
            restartPolicy: Always
            schedulerName: default-scheduler
            securityContext: {}
            terminationGracePeriodSeconds: 30
      1. Buat Collection Configuration dan Custom Tag Anda menggunakan variabel lingkungan. Semua variabel lingkungan terkait dimulai dengan awalan aliyun_logs_.

        • Aturan untuk membuat konfigurasi pengumpulan adalah sebagai berikut:

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

          Contoh ini membuat konfigurasi pengumpulan dalam format aliyun_logs_{key}, di mana {key} adalah log-varlog.

          • aliyun_logs_log-varlog: Variabel ini menunjukkan pembuatan logstore bernama log-varlog. Path pengumpulan log diatur ke /var/log/*.log, dan nama konfigurasi pengumpulan Simple Log Service yang sesuai juga log-varlog. Tujuannya adalah mengumpulkan konten file /var/log/*.log dari kontainer ke log-varlog Logstore.

        • Aturan untuk Creating Custom Tags adalah sebagai berikut:

          - name: aliyun_logs_mytag1_tags
            value: tag1=v1                       

          Setelah tag dikonfigurasi, field yang sesuai secara otomatis ditambahkan ke data log yang dikumpulkan dari kontainer. mytag1 harus nama apa pun yang tidak mengandung '_'.

      2. Jika konfigurasi pengumpulan Anda menentukan path selain stdout, Anda perlu membuat volumeMounts yang sesuai di bagian ini.

        Dalam contoh ini, konfigurasi pengumpulan menambahkan pengumpulan untuk /var/log/*.log, sehingga volumeMounts yang sesuai untuk /var/log ditambahkan.

    5. Setelah menyelesaikan YAML, klik Create untuk mengirimkan konfigurasi ke kluster Kubernetes guna dieksekusi.

  2. Konfigurasikan parameter lanjutan untuk variabel lingkungan.

    Variabel lingkungan mendukung berbagai parameter konfigurasi untuk pengumpulan log. Atur parameter lanjutan sesuai kebutuhan.

    Penting

    Mengonfigurasi pengumpulan log melalui variabel lingkungan tidak cocok untuk skenario komputasi tepi.

    Field

    Deskripsi

    Contoh

    Catatan

    aliyun_logs_{key}

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

    • Jika aliyun_logs_{key}_logstore tidak ada, logstore bernama {key} dibuat secara default.

    • Jika nilainya stdout, ini menunjukkan pengumpulan output standar kontainer. Nilai lain menunjukkan path log di dalam kontainer.

    • - name: aliyun_logs_catalina
      
        value: stdout
    • - name: aliyun_logs_access-log
      
        value: /var/log/nginx/access.log

    aliyun_logs_{key}_tags

    Opsional. Nilainya harus dalam format {tag-key}={tag-value} dan digunakan untuk memberi tag log.

    - name: aliyun_logs_catalina_tags
    
      value: app=catalina

    None.

    aliyun_logs_{key}_project

    Opsional. Nilainya menentukan project di Simple Log Service. Jika variabel lingkungan ini tidak ada, project yang Anda pilih saat instalasi akan digunakan.

    - name: aliyun_logs_catalina_project
    
      value: my-k8s-project

    Project harus dideploy di wilayah yang sama dengan Logtail.

    aliyun_logs_{key}_logstore

    Opsional. Nilainya menentukan Logstore di Simple Log Service. Jika variabel lingkungan ini tidak ada, Logstore sama dengan {key}.

    - name: aliyun_logs_catalina_logstore
    
      value: my-logstore

    None.

    aliyun_logs_{key}_shard

    Opsional. Nilainya menentukan jumlah shard saat membuat logstore. Nilai yang valid: 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'

    None.

    aliyun_logs_{key}_ttl

    Opsional. Nilainya menentukan periode retensi log. Nilai yang valid: 1 hingga 3650.

    • Jika nilainya 3650, periode retensi log diatur ke permanen.

    • Jika variabel lingkungan ini tidak ada, periode retensi log default adalah 90 hari.

    Catatan

    Jika logstore sudah ada, parameter ini tidak berlaku.

    - name: aliyun_logs_catalina_ttl
    
      value: '3650'

    None.

    aliyun_logs_{key}_machinegroup

    Opsional. Nilainya menentukan machine group aplikasi. Jika variabel lingkungan ini tidak ada, machine group default tempat Logtail diinstal akan digunakan. Untuk penggunaan detail parameter ini, lihat Kumpulkan log kontainer dari kluster ACK.

    - name: aliyun_logs_catalina_machinegroup
    
      value: my-machine-group

    None.

    aliyun_logs_{key}_logstoremode

    Opsional. Nilainya menentukan jenis logstore. Nilai default: standard. Nilai yang valid:

    Catatan

    Jika logstore sudah ada, parameter ini tidak berlaku.

    • standard: Mendukung fitur analisis data one-stop dari Simple Log Service. Cocok untuk pemantauan waktu nyata, analisis interaktif, dan membangun sistem observabilitas lengkap.

    • query: Mendukung kueri berkinerja-tinggi. Biaya traffic indeks kira-kira separuh dari standard, tetapi tidak mendukung analisis SQL. Cocok untuk skenario dengan volume data besar, periode penyimpanan panjang (mingguan atau bulanan), dan tidak memerlukan analisis log.

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

    Parameter ini memerlukan versi image logtail-ds >=1.3.1.

    • Customization requirement 1: Collect data from multiple applications into the same logstore

      Untuk mengumpulkan data dari beberapa aplikasi ke Logstore yang sama, atur parameter aliyun_logs_{key}_logstore. Misalnya, konfigurasi berikut mengumpulkan stdout dari dua aplikasi ke stdout-logstore.

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

      Variabel lingkungan untuk Aplikasi 1 adalah sebagai berikut:

      # Konfigurasikan variabel lingkungan
          - name: aliyun_logs_app1-stdout
            value: stdout
          - name: aliyun_logs_app1-stdout_logstore
            value: stdout-logstore

      Variabel lingkungan untuk Aplikasi 2 adalah sebagai berikut:

      # Konfigurasikan variabel lingkungan
          - name: aliyun_logs_app2-stdout
            value: stdout
          - name: aliyun_logs_app2-stdout_logstore
            value: stdout-logstore
    • Customization requirement 2: Collect data from different applications into different projects

      Untuk mengumpulkan data dari aplikasi yang berbeda ke beberapa project, ikuti langkah-langkah berikut:

      1. Buat machine group di setiap project dengan ID kustom bernama k8s-group-{cluster-id}, di mana {cluster-id} adalah ID kluster Anda. Nama machine group dapat dikustomisasi.

      2. Konfigurasikan informasi project, logstore, dan machine group di variabel lingkungan untuk setiap aplikasi. Gunakan nama machine group yang sama seperti yang dibuat pada langkah sebelumnya.

        Dalam contoh berikut, {key} untuk Aplikasi 1 adalah app1-stdout, dan {key} untuk Aplikasi 2 adalah app2-stdout. Jika kedua aplikasi dideploy di kluster K8s yang sama, Anda dapat menggunakan machine group yang sama untuk keduanya.

        Variabel lingkungan untuk Aplikasi 1 adalah sebagai berikut:

        # 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

        Variabel lingkungan untuk Aplikasi 2 adalah sebagai berikut:

        # 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: Kueri dan analisis log

  1. Login ke Konsol Simple Log Service.

  2. Di bagian Projects, klik project yang ingin Anda tuju ke halaman detailnya.

    image

  3. Di panel navigasi kiri, klik ikon icon logstore yang Anda inginkan. Di daftar drop-down, pilih Search & Analysis untuk melihat log yang dikumpulkan dari kluster Kubernetes Anda.

    image

Field log bawaan

Log teks

Field log K8s

Tabel berikut menjelaskan field default yang disertakan dalam setiap log teks kontainer di Kubernetes.

Field

Deskripsi

__tag__:__hostname__

Nama host kontainer.

__tag__:__path__

Path file log di dalam kontainer.

__tag__:_container_ip_

Alamat IP kontainer.

__tag__:_image_name_

Nama image yang digunakan oleh kontainer.

Catatan

Jika ada beberapa image dengan hash yang sama tetapi nama atau tag yang berbeda, konfigurasi pengumpulan akan memilih satu nama berdasarkan hash untuk pengumpulan. Tidak dapat menjamin bahwa nama yang dipilih sesuai dengan yang didefinisikan di file YAML.

__tag__:_pod_name_

Nama pod.

__tag__:_namespace_

Namespace tempat pod berada.

__tag__:_pod_uid_

Pengenal unik (UID) pod.

Output standar

Tabel berikut menjelaskan field yang diunggah secara default untuk setiap log di kluster Kubernetes.

Field

Deskripsi

_time_

Waktu saat log dikumpulkan.

_source_

Jenis sumber log. Nilai yang valid: stdout dan stderr.

_image_name_

Nama image.

_container_name_

Nama kontainer.

_pod_name_

Nama pod.

_namespace_

Namespace pod.

_pod_uid_

Pengenal unik pod.

Referensi