全部产品
Search
文档中心

Container Service for Kubernetes:Aktifkan SLS pada Knative

更新时间:Jul 06, 2025

Anda dapat mengumpulkan log teks kontainer dari Layanan Knative dalam mode DaemonSet. Dalam mode ini, setiap node menjalankan agen logging untuk meningkatkan efisiensi operasi dan pemeliharaan (O&M). Kluster Container Service for Kubernetes (ACK) kompatibel dengan Simple Log Service (SLS) dan mendukung pengumpulan log non-intrusif. Anda dapat menginstal komponen pengumpulan log yang menerapkan pod pengumpul log pada setiap node, sehingga memungkinkan pengumpulan log dari semua kontainer di setiap node. Log yang dikumpulkan dapat digunakan untuk analisis dan manajemen kontainer.

Prasyarat

Langkah 1: Instal komponen pengumpulan log

Instal LoongCollector

Catatan

Saat ini, LoongCollector sedang dalam rilis canary. Sebelum menginstal LoongCollector, periksa wilayah yang didukung.

Pengumpulan data berbasis LoongCollector: LoongCollector adalah agen pengumpulan log generasi baru yang disediakan oleh Simple Log Service. Ini merupakan versi ditingkatkan dari Logtail dan mengintegrasikan kemampuan agen pengumpulan tertentu dari Application Real-Time Monitoring Service (ARMS), seperti pengumpulan data berbasis Managed Service for Prometheus dan teknologi Extended Berkeley Packet Filter (eBPF) untuk pengumpulan data non-intrusif.

Setelah LoongCollector diinstal, Simple Log Service secara otomatis menghasilkan proyek bernama k8s-log-${your_k8s_cluster_id} dan sumber daya terkait dalam proyek tersebut. Anda dapat masuk ke Konsol Simple Log Service untuk melihat sumber daya tersebut. Tabel berikut menjelaskan sumber daya tersebut.

Jenis Sumber Daya

Nama Sumber Daya

Deskripsi

Contoh

Grup Mesin

k8s-group-${your_k8s_cluster_id}

Grup mesin loongcollector-ds, yang digunakan dalam skenario pengumpulan log.

k8s-group-my-cluster-123

k8s-group-${your_k8s_cluster_id}-cluster

Grup mesin loongcollector-cluster, yang digunakan dalam skenario pengumpulan metrik.

k8s-group-my-cluster-123-cluster

k8s-group-${your_k8s_cluster_id}-singleton

Grup mesin untuk instance tunggal, yang digunakan untuk membuat konfigurasi LoongCollector untuk instance tunggal tersebut.

k8s-group-my-cluster-123-singleton

Logstore

config-operation-log

Logstore digunakan untuk mengumpulkan dan menyimpan log loongcollector-operator.

Penting

Jangan hapus logstore config-operation-log.

config-operation-log

Instal 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 instance Alibaba Cloud Elastic Compute Service (ECS), server di pusat data, dan server dari penyedia layanan cloud pihak ketiga. Logtail mendukung pengumpulan log non-intrusif berbasis file log tanpa memodifikasi kode aplikasi Anda, sehingga tidak memengaruhi operasi aplikasi.

Instal Komponen Logtail di kluster ACK yang 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, klik 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. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

  2. Di halaman Kluster, klik Create Kubernetes Cluster. Di langkah Component Configurations wizard, pilih Aktifkan Layanan Log.

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

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

    • Select Project

      Pilih proyek yang sudah ada untuk mengelola log kontainer yang dikumpulkan.

      安装logtail组件

    • Create Project

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

      安装logtail组件

Penting

Di langkah Component Configurations wizard, Enable dipilih secara default untuk parameter Log Komponen Plane Kontrol. Jika Aktifkan dipilih, sistem secara otomatis mengonfigurasi pengaturan pengumpulan dan mengumpulkan log dari komponen plane kontrol kluster, dan Anda akan dikenakan biaya untuk log yang dikumpulkan berdasarkan metode penagihan bayar sesuai pemakaianbayar-per-penggunaan. Anda dapat menentukan apakah akan memilih Aktifkan berdasarkan kebutuhan bisnis Anda. Untuk informasi lebih lanjut, lihat Kumpulkan log komponen plane kontrol di kluster ACK yang dikelola.image

Setelah komponen Logtail diinstal, Simple Log Service secara otomatis menghasilkan proyek bernama k8s-log-<YOUR_CLUSTER_ID> dan sumber daya terkait dalam proyek tersebut. Anda dapat masuk ke Konsol Simple Log Service untuk melihat sumber daya tersebut. Tabel berikut menjelaskan sumber daya tersebut.

Tipe Sumber Daya

Nama Sumber Daya

Deskripsi

Contoh

Grup Mesin

k8s-group-<YOUR_CLUSTER_ID>

Grup mesin logtail-daemonset, yang digunakan dalam skenario pengumpulan log.

k8s-group-my-cluster-123

k8s-group-<YOUR_CLUSTER_ID>-statefulset

Grup mesin logtail-statefulset, yang digunakan dalam skenario pengumpulan metrik.

k8s-group-my-cluster-123-statefulset

k8s-group-<YOUR_CLUSTER_ID>-singleton

Grup mesin untuk instance tunggal, yang digunakan untuk membuat konfigurasi Logtail untuk instance tunggal tersebut.

k8s-group-my-cluster-123-singleton

Logstore

config-operation-log

Logstore digunakan untuk menyimpan log komponen alibaba-log-controller. Kami sarankan Anda tidak membuat konfigurasi Logtail untuk logstore ini. Anda dapat menghapus logstore ini. Setelah logstore dihapus, sistem tidak lagi mengumpulkan log operasional komponen alibaba-log-controller. Anda akan dikenakan biaya untuk logstore ini dengan cara yang sama seperti logstore reguler. Untuk informasi lebih lanjut, lihat Item tagihan berdasarkan data yang dimasukkan.

Tidak ada

Langkah 2: Buat konfigurasi pengumpulan

Berikut ini menjelaskan empat metode yang dapat Anda gunakan untuk membuat konfigurasi pengumpulan. Kami sarankan Anda hanya menggunakan satu metode untuk mengelola konfigurasi pengumpulan.

Metode

Deskripsi Konfigurasi

Skema

CRD - AliyunPipelineConfig (direkomendasikan)

Gunakan Custom Resource Definition (CRD) AliyunPipelineConfig, yang merupakan CRD Kubernetes, untuk mengelola konfigurasi Logtail.

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

Catatan

Komponen logtail-ds yang diinstal pada kluster ACK harus lebih baru dari V1.8.10. Untuk informasi lebih lanjut tentang cara memperbarui Logtail, lihat Perbarui Logtail ke versi terbaru.

Konsol Simple Log Service

Gunakan GUI Konsol Simple Log Service untuk mengelola konfigurasi Logtail berdasarkan penyebaran dan konfigurasi cepat.

Metode ini cocok untuk skenario di mana pengaturan sederhana diperlukan untuk mengelola konfigurasi Logtail. Fitur lanjutan dan pengaturan kustom tertentu tidak tersedia jika menggunakan metode ini.

Variabel Lingkungan

Gunakan variabel lingkungan untuk mengonfigurasi parameter yang digunakan untuk mengelola konfigurasi Logtail secara efisien.

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

  • Kumpulkan data dari beberapa aplikasi ke logstore yang sama.

  • Kumpulkan data dari beberapa aplikasi ke proyek yang berbeda.

CRD - AliyunLogConfig

Gunakan CRD AliyunLogConfig, yang merupakan CRD versi lama, untuk mengelola konfigurasi Logtail.

Metode ini cocok untuk skenario yang diketahui di mana Anda dapat menggunakan CRD versi lama untuk mengelola konfigurasi Logtail.

Anda perlu secara bertahap mengganti CRD AliyunLogConfig dengan CRD AliyunPipelineConfig guna mendapatkan skalabilitas dan stabilitas yang lebih baik. Untuk informasi lebih lanjut mengenai perbedaan antara kedua CRD tersebut, lihat CRD.

(Direkomendasikan) CRD - AliyunPipelineConfig

Buat konfigurasi Logtail

Penting

Hanya komponen Logtail versi V0.5.1 atau lebih baru yang mendukung AliyunPipelineConfig.

Untuk membuat konfigurasi Logtail, buat CR dari CRD AliyunPipelineConfig. Setelah konfigurasi Logtail dibuat, konfigurasi tersebut diterapkan secara otomatis. Jika ingin memodifikasi konfigurasi Logtail yang dibuat berdasarkan CR, modifikasi CR tersebut.

  1. Dapatkan file kubeconfig kluster dan gunakan kubectl untuk terhubung ke kluster.

  2. Jalankan perintah berikut untuk membuat file YAML.

    Dalam perintah berikut, cube.yaml adalah nama file contoh. Anda dapat menentukan nama file yang berbeda berdasarkan kebutuhan bisnis Anda.

    vim cube.yaml
  3. Masukkan skrip berikut di file YAML dan konfigurasikan parameter berdasarkan kebutuhan bisnis Anda.

    Penting
    • Nilai parameter configName harus unik di proyek Simple Log Service yang Anda gunakan untuk menginstal komponen Logtail.

    • Anda harus mengonfigurasi CR untuk setiap konfigurasi Logtail. Jika beberapa CR terkait dengan konfigurasi Logtail yang sama, CR selain CR pertama tidak akan berlaku.

    • Untuk informasi lebih lanjut tentang parameter terkait AliyunPipelineConfig CRD, lihat (Direkomendasikan) Gunakan AliyunPipelineConfig untuk mengelola konfigurasi Logtail. Dalam contoh ini, konfigurasi Logtail mencakup pengaturan untuk pengumpulan log teks. Untuk informasi lebih lanjut, lihat CreateLogtailPipelineConfig.

    • Pastikan bahwa Logstore yang ditentukan oleh parameter config.flushers.Logstore ada. Anda dapat mengonfigurasi parameter spec.logstore untuk membuat Logstore secara otomatis.

    • Untuk nilai parameter Endpoint dan Region, lihat Titik Akhir. Parameter Region menunjukkan ID wilayah, seperti cn-hangzhou.

    Kumpulkan log teks satu baris dari kontainer tertentu

    Dalam contoh ini, konfigurasi Logtail bernama example-k8s-file dibuat untuk mengumpulkan log teks satu baris dari kontainer yang namanya berisi app dalam kluster. File tersebut adalah test.LOG, dan jalurnya adalah /data/logs/app_1.

    Log yang dikumpulkan disimpan di Logstore bernama k8s-file, yang termasuk dalam proyek bernama k8s-log-test.

    apiVersion: telemetry.alibabacloud.com/v1alpha1
    # Buat CR dari ClusterAliyunPipelineConfig CRD.
    kind: ClusterAliyunPipelineConfig
    metadata:
      # Tentukan nama sumber daya. Nama tersebut harus unik di kluster Kubernetes saat ini. Nama tersebut sama dengan nama konfigurasi Logtail yang dibuat.
      name: example-k8s-file
    spec:
      # Tentukan proyek tempat log dikumpulkan.
      project:
        name: k8s-log-test
      # Buat Logstore untuk menyimpan log.
      logstores:
        - name: k8s-file
      # Konfigurasikan parameter untuk konfigurasi Logtail.
      config:
        # Konfigurasikan plugin input Logtail.
        inputs:
          # Gunakan plugin input_file untuk mengumpulkan log teks dari kontainer.
          - Type: input_file
            # Tentukan jalur file di kontainer.
            FilePaths:
              - /data/logs/app_1/**/test.LOG
            # Aktifkan fitur penemuan kontainer. 
            EnableContainerDiscovery: true
            # Tambahkan kondisi untuk memfilter kontainer. Beberapa kondisi dievaluasi menggunakan operator logika AND. 
            ContainerFilters:
              # Tentukan namespace pod tempat kontainer yang diperlukan berada. Pencocokan ekspresi reguler didukung. 
              K8sNamespaceRegex: default
              # Tentukan nama kontainer yang diperlukan. Pencocokan ekspresi reguler didukung. 
              K8sContainerRegex: ^(.*app.*)$
        # Konfigurasikan plugin output Logtail.
        flushers:
          # Gunakan plugin flusher_sls untuk mengirim log ke Logstore tertentu. 
          - Type: flusher_sls
            # Pastikan bahwa Logstore ada.
            Logstore: k8s-file
            # Pastikan bahwa endpoint valid. Untuk bidang Region, masukkan ID wilayah.
            Endpoint: cn-hangzhou.log.aliyuncs.com
            Region: cn-hangzhou
            TelemetryType: logs

    Kumpulkan log teks multi-baris dari semua kontainer dan gunakan ekspresi reguler untuk mengurai log

    Dalam contoh ini, konfigurasi Logtail bernama example-k8s-file dibuat untuk mengumpulkan log teks multi-baris dari semua kontainer dalam kluster. File tersebut adalah test.LOG, dan jalurnya adalah /data/logs/app_1. Log yang dikumpulkan diurai dalam mode JSON dan disimpan di Logstore bernama k8s-file, yang termasuk dalam proyek bernama k8s-log-test.

    Contoh log sampel yang disediakan dalam contoh berikut dibaca oleh plugin input_file dalam format {"content": "2024-06-19 16:35:00 INFO test log\nline-1\nline-2\nend"}. Kemudian, log tersebut diurai berdasarkan ekspresi reguler 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 ClusterAliyunPipelineConfig CRD.
    kind: ClusterAliyunPipelineConfig
    metadata:
      # Tentukan nama sumber daya. Nama tersebut harus unik di kluster Kubernetes saat ini. Nama tersebut sama dengan nama konfigurasi Logtail yang dibuat.
      name: example-k8s-file
    spec:
      # Tentukan proyek tempat log dikumpulkan.
      project:
        name: k8s-log-test
      # Buat Logstore untuk menyimpan log.
      logstores:
        - name: k8s-file
      # Konfigurasikan parameter untuk konfigurasi Logtail.
      config:
        # Tentukan log sampel. Anda dapat meninggalkan parameter ini kosong.
        sample: |
          2024-06-19 16:35:00 INFO test log
          line-1
          line-2
          end
        # Konfigurasikan plugin input Logtail.
        inputs:
          # Gunakan plugin input_file untuk mengumpulkan log teks multi-baris dari kontainer.
          - Type: input_file
            # Tentukan jalur file di kontainer.
            FilePaths:
              - /data/logs/app_1/**/test.LOG
            # Aktifkan fitur penemuan kontainer. 
            EnableContainerDiscovery: true
            # Aktifkan pengumpulan log multi-baris.
            Multiline:
              # Tentukan mode kustom untuk mencocokkan awal baris pertama log berdasarkan ekspresi reguler.
              Mode: custom
              # Tentukan ekspresi reguler yang digunakan untuk mencocokkan awal baris pertama log.
              StartPattern: \d+-\d+-\d+.*
        # Tentukan plugin pemrosesan Logtail.
        processors:
          # Gunakan plugin processor_parse_regex_native untuk mengurai log berdasarkan ekspresi reguler yang ditentukan.
          - Type: processor_parse_regex_native
            # Tentukan nama bidang input.
            SourceKey: content
            # Tentukan ekspresi reguler yang digunakan untuk penguraian. Gunakan grup penangkapan untuk mengekstrak bidang.
            Regex: (\d+-\d+-\d+\s*\d+:\d+:\d+)\s*(\S+)\s*(.*)
            # Tentukan bidang yang ingin Anda ekstrak.
            Keys: ["time", "level", "msg"]
        # Konfigurasikan plugin output Logtail.
        flushers:
          # Gunakan plugin flusher_sls untuk mengirim log ke Logstore tertentu. 
          - Type: flusher_sls
            # Pastikan bahwa Logstore ada.
            Logstore: k8s-file
            # Pastikan bahwa endpoint valid.
            Endpoint: cn-hangzhou.log.aliyuncs.com
            Region: cn-hangzhou
            TelemetryType: logs
  4. Jalankan perintah berikut untuk menerapkan konfigurasi Logtail. Setelah konfigurasi Logtail diterapkan, Logtail mulai mengumpulkan log teks dari kontainer yang ditentukan dan mengirim log tersebut ke Simple Log Service.

    Dalam perintah berikut, cube.yaml adalah nama file contoh. Anda dapat menentukan nama file yang berbeda berdasarkan kebutuhan bisnis Anda.

    kubectl apply -f cube.yaml
    Penting

    Setelah log dikumpulkan, Anda harus membuat indeks. Kemudian, Anda dapat menanyakan dan menganalisis log di Logstore. Untuk informasi lebih lanjut, lihat Buat indeks.

CRD - AliyunLogConfig

Untuk membuat konfigurasi Logtail, buat CR dari CRD AliyunLogConfig. Setelah konfigurasi Logtail dibuat, konfigurasi tersebut diterapkan secara otomatis. Jika ingin memodifikasi konfigurasi Logtail yang dibuat berdasarkan CR, modifikasi CR tersebut.

  1. Dapatkan file kubeconfig kluster dan gunakan kubectl untuk terhubung ke kluster.

  2. Jalankan perintah berikut untuk membuat file YAML.

    Dalam perintah berikut, cube.yaml adalah nama file contoh. Anda dapat menentukan nama file yang berbeda berdasarkan kebutuhan bisnis Anda.

    vim cube.yaml
  3. Masukkan skrip berikut di file YAML dan konfigurasikan parameter berdasarkan kebutuhan bisnis Anda.

    Penting
    • Nilai parameter configName harus unik di proyek Simple Log Service yang Anda gunakan untuk menginstal komponen Logtail.

    • Jika beberapa CR terkait dengan konfigurasi Logtail yang sama, konfigurasi Logtail akan terpengaruh ketika Anda menghapus atau memodifikasi salah satu CR. Setelah CR dihapus atau dimodifikasi, status CR lain yang terkait menjadi tidak konsisten dengan status konfigurasi Logtail di Simple Log Service.

    • Untuk informasi lebih lanjut tentang parameter CR, lihat Gunakan AliyunLogConfig untuk mengelola konfigurasi Logtail. Dalam contoh ini, konfigurasi Logtail mencakup pengaturan untuk pengumpulan log teks. Untuk informasi lebih lanjut, lihat CreateConfig.

    Kumpulkan log teks satu baris dari kontainer tertentu

    Dalam contoh ini, konfigurasi Logtail bernama example-k8s-file dibuat untuk mengumpulkan log teks satu baris dari kontainer semua pod yang namanya dimulai dengan app dalam kluster. File tersebut adalah test.LOG, dan jalurnya adalah /data/logs/app_1. Log yang dikumpulkan disimpan di Logstore bernama k8s-file, yang termasuk dalam proyek bernama k8s-log-test.

    apiVersion: log.alibabacloud.com/v1alpha1
    kind: AliyunLogConfig
    metadata:
      # Tentukan nama sumber daya. Nama tersebut harus unik di kluster Kubernetes saat ini. 
      name: example-k8s-file
      namespace: kube-system
    spec:
      # Tentukan nama proyek. Jika Anda biarkan parameter ini kosong, proyek bernama k8s-log-<your_cluster_id> digunakan.
      project: k8s-log-test
      # Tentukan nama Logstore. Jika Logstore yang ditentukan tidak ada, Simple Log Service secara otomatis membuat Logstore. 
      logstore: k8s-file
      # Konfigurasikan parameter untuk konfigurasi Logtail. 
      logtailConfig:
        # Tentukan tipe sumber data. Jika Anda ingin mengumpulkan log teks, atur nilainya menjadi file. 
        inputType: file
        # Tentukan nama konfigurasi Logtail. 
        configName: example-k8s-file
        inputDetail:
          # Tentukan mode sederhana untuk mengumpulkan log teks. 
          logType: common_reg_log
          # Tentukan jalur file log. 
          logPath: /data/logs/app_1
          # Tentukan nama file log. Anda dapat menggunakan karakter wildcard (* dan ?) saat menentukan nama file log. Contoh: log_*.log. 
          filePattern: test.LOG
          # Atur nilai ini menjadi true jika Anda ingin mengumpulkan log teks dari kontainer. 
          dockerFile: true
          # Tentukan kondisi untuk memfilter kontainer.
          advanced:
            k8s:
              K8sPodRegex: '^(app.*)$'
  4. Jalankan perintah berikut untuk menerapkan konfigurasi Logtail. Setelah konfigurasi Logtail diterapkan, Logtail mulai mengumpulkan log teks dari kontainer yang ditentukan dan mengirim log tersebut ke Simple Log Service.

    Dalam perintah berikut, cube.yaml adalah nama file contoh. Anda dapat menentukan nama file yang berbeda berdasarkan kebutuhan bisnis Anda.

    kubectl apply -f cube.yaml
    Penting

    Setelah log dikumpulkan, Anda harus membuat indeks. Kemudian, Anda dapat menanyakan dan menganalisis log di Logstore. Untuk informasi lebih lanjut, lihat Buat indeks.

Konsol

  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 diperlukan, lalu klik Next. Dalam contoh ini, pilih proyek yang Anda gunakan untuk menginstal komponen Logtail dan Logstore yang telah Anda buat.

  4. Di langkah Machine Group Configurations, lakukan operasi berikut. Untuk informasi lebih lanjut, lihat Grup Mesin.

    1. Gunakan salah satu pengaturan berikut berdasarkan kebutuhan bisnis Anda:

      • Kubernetes Clusters > ACK Daemonset

      • Kubernetes Clusters > Self-managed Cluster in DaemonSet Mode

        Penting

        Pengaturan selanjutnya bervariasi berdasarkan pengaturan sebelumnya.

    2. Konfirmasikan bahwa grup mesin yang diperlukan telah ditambahkan ke bagian Applied Server Groups. Lalu, klik Next. Setelah Anda menginstal komponen Logtail di kluster Container Service for Kubernetes (ACK), Simple Log Service secara otomatis membuat grup mesin bernama k8s-group-${your_k8s_cluster_id}. Anda dapat langsung menggunakan grup mesin ini.

      Penting
  5. Buat konfigurasi Logtail dan klik Next. Simple Log Service mulai mengumpulkan log setelah konfigurasi Logtail dibuat.

    Catatan

    Konfigurasi Logtail memerlukan waktu hingga 3 menit untuk berlaku.

    Konfigurasi Global

    Parameter

    Deskripsi

    Nama Konfigurasi

    Masukkan nama untuk konfigurasi Logtail. Nama tersebut harus unik di proyek, dan tidak dapat diubah nanti.

    Tipe Topik Log

    Pilih metode untuk menghasilkan topik log. Untuk informasi lebih lanjut, lihat Topik Log.

    • Machine Group Topic: Topik grup mesin digunakan sebagai topik log. Pilih opsi ini untuk membedakan log dari grup mesin yang berbeda.

    • File Path Extraction: Tentukan ekspresi reguler kustom. Sebagian dari jalur file yang cocok dengan ekspresi reguler digunakan sebagai topik log. Pilih opsi ini untuk membedakan log dari sumber yang berbeda.

    • Custom: Tentukan topik log kustom.

    Parameter Lanjutan

    Opsional. Konfigurasikan parameter lanjutan yang terkait dengan konfigurasi global. Untuk informasi lebih lanjut, lihat CreateLogtailPipelineConfig.

    Konfigurasi Input

    Parameter

    Deskripsi

    Logtail Deployment Mode

    Pilih mode penyebaran Logtail. Dalam contoh ini, Daemonset dipilih.

    File Path Type

    Pilih tipe jalur 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 jalur file yang dipetakan pada host kontainer, atur parameter ini ke Host Path. Dalam skenario lain, atur parameter ini ke Path in Container.

    File Path

    • Jika kontainer yang diperlukan berjalan di host Linux, tentukan jalur yang dimulai dengan garis miring (/). Contoh: /apsara/nuwa/**/app.Log.

    • Jika kontainer yang diperlukan berjalan di host Windows, tentukan jalur yang dimulai dengan huruf drive. Contoh: C:\Program Files\Intel\**\*.Log.

    Anda dapat menentukan direktori dan nama yang tepat. Anda juga dapat menggunakan karakter wildcard untuk menentukan direktori dan nama. Untuk informasi lebih lanjut, lihat Pencocokan Wildcard. Saat mengonfigurasi parameter ini, gunakan hanya tanda bintang (*) atau tanda tanya (?) sebagai karakter wildcard.

    Simple Log Service memindai semua level direktori yang ditentukan untuk file log yang sesuai dengan kondisi yang ditentukan. Contoh:

    • Jika Anda menentukan /apsara/nuwa/**/*.log, Simple Log Service mengumpulkan log dari file log yang namanya diakhiri dengan .log di direktori /apsara/nuwa dan subdirektori rekursif dari direktori tersebut.

    • Jika Anda menentukan /var/logs/app_*/**/*.log, Simple Log Service mengumpulkan log dari file log yang memenuhi kondisi berikut: Nama file diakhiri dengan .log. File disimpan di subdirektori di bawah direktori /var/logs atau di subdirektori rekursif dari subdirektori tersebut. Nama subdirektori cocok dengan pola app_*.

    • Jika Anda menentukan /var/log/nginx/**/access*, Simple Log Service mengumpulkan log dari file log yang namanya dimulai dengan access di direktori /var/log/nginx dan subdirektori rekursif dari direktori tersebut.

    Maximum Directory Monitoring Depth

    Tentukan 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 untuk karakter wildcard ** yang termasuk dalam nilai parameter File Path. Nilai 0 menentukan bahwa hanya direktori file log yang Anda tentukan yang dipantau.

    Peringatan

    Kami sarankan Anda mengonfigurasi parameter ini berdasarkan kebutuhan minimum. Jika Anda menentukan nilai besar, Logtail mungkin mengonsumsi lebih banyak sumber daya pemantauan dan menyebabkan latensi pengumpulan.

    Enable Container Metadata Preview

    Jika Anda mengaktifkan Enable Container Metadata Preview, Anda dapat melihat metadata kontainer setelah membuat konfigurasi Logtail, termasuk informasi kontainer yang cocok dan informasi kontainer lengkap.

    Container Filtering

    • Versi Logtail

      • Jika versi Logtail lebih awal dari 1.0.34, Anda hanya dapat menggunakan environment variables dan container labels untuk memfilter kontainer.

      • Jika versi Logtail adalah 1.0.34 atau lebih baru, kami sarankan Anda menggunakan informasi tingkat Kubernetes yang berbeda untuk memfilter kontainer. Informasi tersebut mencakup K8s Pod Name Regular Matching, K8s Namespace Regular Matching, K8s Container Name Regular Matching, dan Kubernetes Pod Label Whitelist.

    • Kondisi Filter

      Penting
      • Label kontainer diperoleh dengan menjalankan perintah docker inspect. Label kontainer berbeda dari label Kubernetes. Untuk informasi lebih lanjut, lihat Dapatkan label.

      • Variabel lingkungan sama dengan variabel lingkungan yang dikonfigurasikan untuk memulai kontainer. Untuk informasi lebih lanjut, lihat Dapatkan variabel lingkungan.

      1. Namespace Kubernetes dan nama kontainer dapat dipetakan ke label kontainer. Label untuk namespace adalah io.kubernetes.pod.namespace. Label untuk nama kontainer adalah io.kubernetes.container.name. Kami sarankan Anda menggunakan dua label ini untuk memfilter kontainer. Sebagai contoh, jika namespace pod adalah backend-prod, dan nama kontainer di pod adalah worker-server. Jika Anda ingin mengumpulkan log dari kontainer worker-server, Anda dapat menentukan io.kubernetes.pod.namespace : backend-prod atau io.kubernetes.container.name : worker-server dalam daftar putih label kontainer.

      2. Jika kedua label tersebut tidak memenuhi kebutuhan bisnis Anda, Anda dapat menggunakan daftar putih variabel lingkungan atau daftar hitam variabel lingkungan untuk memfilter kontainer.

    • K8s Pod Name Regular Matching

      Masukkan nama pod. Nama pod menentukan kontainer dari mana log teks dikumpulkan. Pencocokan ekspresi reguler didukung. Sebagai contoh, jika Anda menentukan ^(nginx-log-demo.*)$, semua kontainer di pod yang namanya dimulai dengan nginx-log-demo akan cocok.

    • K8s Namespace Regular Matching

      Masukkan nama namespace. Nama namespace menentukan kontainer dari mana log teks dikumpulkan. Pencocokan ekspresi reguler didukung. Sebagai contoh, jika Anda menentukan ^(default|nginx)$, semua kontainer di namespace nginx dan default akan cocok.

    • K8s Container Name Regular Matching

      Masukkan nama kontainer. Nama kontainer menentukan kontainer dari mana log teks dikumpulkan. Pencocokan ekspresi reguler didukung. Nama kontainer Kubernetes didefinisikan di spec.containers. Sebagai contoh, jika Anda menentukan ^(container-test)$, semua kontainer yang namanya container-test akan cocok.

    • Container Label Whitelist

      Konfigurasikan daftar putih label kontainer. Daftar putih menentukan kontainer dari mana log teks dikumpulkan.

      Catatan

      Jangan tentukan nilai duplikat untuk parameter Nama Label. Jika Anda menentukan nilai duplikat, hanya satu nilai yang berlaku.

      • Jika Anda menentukan nilai untuk parameter Label Name tetapi tidak menentukan nilai untuk parameter Label Value, kontainer yang labelnya berisi nama label yang ditentukan akan cocok.

      • Jika Anda menentukan nilai untuk parameter Label Name dan Label Value, kontainer yang labelnya berisi Nama Label:Nilai Label yang ditentukan akan cocok.

        Secara default, pencocokan string dilakukan untuk nilai parameter Label Value. Kontainer hanya akan cocok jika nilai label kontainer sama dengan nilai parameter Label Value. Jika Anda menentukan nilai yang dimulai dengan caret (^) dan diakhiri dengan tanda dollar ($) untuk parameter Label Value, maka pencocokan ekspresi reguler akan dilakukan. Sebagai contoh, jika Anda mengatur parameter Label Name menjadi app dan mengatur parameter Label Value menjadi ^(test1|test2)$, maka kontainer yang memiliki label kontainer berisi app:test1 atau app:test2 akan cocok.

      Pasangan kunci-nilai dievaluasi menggunakan operator OR. Jika sebuah kontainer memiliki label kontainer yang terdiri dari salah satu pasangan kunci-nilai yang ditentukan, kontainer tersebut akan cocok.

    • Container Label Blacklist

      Konfigurasikan daftar hitam label kontainer. Daftar hitam menentukan kontainer dari mana log teks tidak dikumpulkan.

      Catatan

      Jangan tentukan nilai duplikat untuk parameter Nama Label. Jika Anda menentukan nilai duplikat, hanya satu nilai yang berlaku.

      • Jika Anda menentukan nilai untuk parameter Label Name tetapi tidak menentukan nilai untuk parameter Label Value, kontainer yang labelnya berisi nama label yang ditentukan akan disaring.

      • Jika Anda menentukan nilai untuk parameter Label Name dan Label Value, kontainer yang label kontainernya mencakup Label Name:Label Value yang ditentukan akan disaring.

        Secara default, pencocokan string dilakukan untuk nilai parameter Label Value. Kontainer hanya akan difilter jika nilai label kontainer sama dengan nilai parameter Label Value. Jika Anda menentukan nilai yang dimulai dengan tanda caret (^) dan diakhiri dengan tanda dollar ($) untuk parameter Label Value, maka pencocokan ekspresi reguler akan dilakukan. Sebagai contoh, jika Anda mengatur parameter Label Name menjadi app dan mengatur parameter Label Value menjadi ^(test1|test2)$, kontainer yang memiliki label kontainer berisi app:test1 atau app:test2 akan difilter.

      Pasangan kunci-nilai dievaluasi menggunakan operator OR. Jika sebuah kontainer memiliki label kontainer yang terdiri dari salah satu pasangan kunci-nilai yang ditentukan, kontainer tersebut akan disaring.

    • Environment Variable Whitelist

      Konfigurasikan daftar putih variabel lingkungan. Daftar putih menentukan kontainer dari mana log teks dikumpulkan.

      • Jika Anda menentukan nilai untuk parameter Environment Variable Name tetapi tidak menentukan nilai untuk parameter Environment Variable Value, kontainer yang variabel lingkungannya berisi nama variabel lingkungan yang ditentukan akan cocok.

      • Jika Anda menentukan nilai untuk parameter Environment Variable Name dan Environment Variable Value, kontainer yang variabel lingkungannya berisi Nama Variabel Lingkungan:Nilai Variabel Lingkungan yang ditentukan akan cocok.

        Secara default, pencocokan string dilakukan untuk nilai parameter Environment Variable Value. Kontainer hanya cocok jika nilai variabel lingkungannya sama dengan nilai parameter Environment Variable Value. Jika Anda menentukan nilai yang dimulai dengan caret (^) dan diakhiri dengan tanda dolar ($) untuk parameter Nilai Variabel Lingkungan, pencocokan ekspresi reguler dilakukan. Sebagai contoh, jika Anda mengatur parameter Environment Variable Name menjadi NGINX_SERVICE_PORT dan mengatur parameter Environment Variable Value menjadi ^(80|6379)$, kontainer yang nomor portnya 80 atau 6379 akan cocok.

      Pasangan kunci-nilai dievaluasi menggunakan operator OR. Jika sebuah kontainer memiliki variabel lingkungan yang terdiri dari salah satu pasangan kunci-nilai yang ditentukan, kontainer tersebut akan cocok.

    • Environment Variable Blacklist

      Konfigurasikan daftar hitam variabel lingkungan. Daftar hitam menentukan kontainer dari mana log teks tidak dikumpulkan.

      • Jika Anda menentukan nilai untuk parameter Environment Variable Name tetapi tidak menentukan nilai untuk parameter Environment Variable Value, kontainer yang variabel lingkungannya berisi nama variabel lingkungan yang ditentukan akan disaring.

      • Jika Anda menentukan nilai untuk parameter Environment Variable Name dan Environment Variable Value, kontainer yang variabel lingkungannya berisi Nama Variabel Lingkungan:Nilai Variabel Lingkungan yang ditentukan akan disaring.

        Secara default, pencocokan string dilakukan untuk nilai parameter Environment Variable Value. Kontainer hanya disaring jika nilai variabel lingkungannya sama dengan nilai parameter Environment Variable Value. Jika Anda menentukan nilai yang dimulai dengan caret (^) dan diakhiri dengan tanda dolar ($) untuk parameter Nilai Variabel Lingkungan, pencocokan ekspresi reguler dilakukan. Sebagai contoh, jika Anda mengatur parameter Environment Variable Name menjadi NGINX_SERVICE_PORT dan mengatur parameter Environment Variable Value menjadi ^(80|6379)$, kontainer yang nomor portnya 80 atau 6379 akan disaring.

      Pasangan kunci-nilai dievaluasi menggunakan operator OR. Jika sebuah kontainer memiliki variabel lingkungan yang terdiri dari salah satu pasangan kunci-nilai yang ditentukan, kontainer tersebut akan disaring.

    • Kubernetes Pod Label Whitelist

      Konfigurasikan daftar putih label pod Kubernetes. Daftar putih menentukan kontainer dari mana log teks dikumpulkan.

      • Jika Anda menentukan nilai untuk parameter Label Name tetapi tidak menentukan nilai untuk parameter Label Value, kontainer yang label podnya berisi nama label yang ditentukan akan cocok.

      • Jika Anda menentukan nilai untuk parameter Label Name dan Label Value, kontainer yang label podnya berisi Nama Label:Nilai Label yang ditentukan akan cocok.

        Secara default, pencocokan string dilakukan untuk nilai parameter Label Value. Kontainer hanya cocok jika nilai label podnya sama dengan nilai parameter Label Value. Jika Anda menentukan nilai yang dimulai dengan caret (^) dan diakhiri dengan tanda dolar ($), pencocokan ekspresi reguler dilakukan. Sebagai contoh, jika Anda mengatur parameter Label Name menjadi environment dan mengatur parameter Label Value menjadi ^(dev|pre)$, kontainer yang label podnya berisi environment:dev atau environment:pre akan cocok.

      Pasangan kunci-nilai dievaluasi menggunakan operator OR. Jika sebuah kontainer memiliki label pod yang terdiri dari salah satu pasangan kunci-nilai yang ditentukan, kontainer tersebut akan cocok.

    • Kubernetes Pod Label Blacklist

      Konfigurasikan daftar hitam label pod Kubernetes. Daftar hitam menentukan kontainer dari mana log teks tidak dikumpulkan.

      • Jika Anda menentukan nilai untuk parameter Label Name tetapi tidak menentukan nilai untuk parameter Label Value, kontainer yang label podnya berisi nama label yang ditentukan akan disaring.

      • Jika Anda menentukan nilai untuk parameter Label Name dan Label Value, kontainer yang label podnya berisi Nama Label:Nilai Label yang ditentukan akan disaring.

        Secara default, pencocokan string dilakukan untuk nilai parameter Label Value. Kontainer hanya disaring jika nilai label podnya sama dengan nilai parameter Label Value. Jika Anda menentukan nilai yang dimulai dengan caret (^) dan diakhiri dengan tanda dolar ($) untuk parameter Nilai Label, pencocokan ekspresi reguler dilakukan. Sebagai contoh, jika Anda mengatur parameter Label Name menjadi environment dan mengatur parameter Label Value menjadi ^(dev|pre)$, kontainer yang label podnya berisi environment:dev atau environment:pre akan disaring.

      Pasangan kunci-nilai dievaluasi dengan menggunakan operator OR. Jika sebuah kontainer memiliki label pod yang terdiri dari salah satu pasangan kunci-nilai yang ditentukan, kontainer tersebut akan disaring.

    Log Tag Enrichment

    Tentukan tag log dengan menggunakan variabel lingkungan dan label pod.

    File Encoding

    Pilih format penyandian file log.

    First Collection Size

    Tentukan ukuran data yang dapat dikumpulkan Logtail dari file log pada saat pertama kali Logtail mengumpulkan log dari file tersebut. Nilai default untuk First Collection Size adalah 1.024. Satuan: KB.

    • Jika ukuran file kurang dari 1.024 KB, Logtail akan mengumpulkan data dari awal file.

    • Jika ukuran file lebih besar dari 1.024 KB, Logtail akan mengumpulkan 1.024 KB data terakhir dalam file.

    Anda dapat menentukan First Collection Size berdasarkan kebutuhan bisnis Anda. Nilai valid: 0 hingga 10485760. Satuan: KB.

    Collection Blacklist

    Jika Anda mengaktifkan Collection Blacklist, Anda harus mengonfigurasi daftar hitam untuk menentukan direktori atau file yang ingin Anda Lewati oleh Simple Log Service saat mengumpulkan log. Anda dapat menentukan direktori dan nama file secara eksak. Anda juga dapat menggunakan karakter wildcard untuk menentukan direktori dan nama file. Saat mengonfigurasi parameter ini, gunakan hanya tanda bintang (*) atau tanda tanya (?) sebagai karakter wildcard.

    Penting
    • Jika Anda menggunakan karakter wildcard untuk mengonfigurasi File Path dan Anda ingin melewati beberapa direktori di direktori yang ditentukan, Anda harus mengonfigurasi Collection Blacklist dan memasukkan direktori lengkap.

      Sebagai contoh, jika Anda mengatur File Path menjadi /home/admin/app*/log/*.log dan Anda ingin melewati semua subdirektori dalam direktori /home/admin/app1*, Anda harus memilih Directory Blacklist dan memasukkan /home/admin/app1*/** di kolom Nama Direktori. Jika Anda memasukkan /home/admin/app1*, daftar hitam tidak akan berlaku.

    • Saat daftar hitam digunakan, overhead komputasi akan terjadi. Kami menyarankan Anda menambahkan hingga 10 entri ke daftar hitam.

    • Anda tidak dapat menentukan jalur direktori yang diakhiri dengan garis miring (/). Sebagai contoh, jika Anda mengatur jalurnya menjadi /home/admin/dir1/, daftar hitam direktori tidak akan berlaku.

    Jenis daftar hitam berikut didukung: File Path Blacklist, File Blacklist, dan Directory Blacklist.

    File Path Blacklist

    • Jika Anda memilih File Path Blacklist dan memasukkan /home/admin/private*.log di kolom Nama Jalur File, semua file yang namanya diawali dengan private dan diakhiri dengan .log di direktori /home/admin/ dilewati.

    • Jika Anda memilih File Path Blacklist dan memasukkan /home/admin/private*/*_inner.log di kolom Nama Jalur File, semua file yang namanya diakhiri dengan _inner.log di subdirektori yang namanya diawali dengan private di direktori /home/admin/ dilewati. Sebagai contoh, file /home/admin/private/app_inner.log dilewati, tetapi file /home/admin/private/app.log tidak.

    File Blacklist

    Jika Anda memilih File Blacklist dan memasukkan app_inner.log di kolom Nama File, semua file yang namanya app_inner.log dilewati.

    Directory Blacklist

    • Jika Anda memilih Directory Blacklist dan memasukkan /home/admin/dir1 di kolom Nama Direktori, semua file di direktori /home/admin/dir1 dilewati.

    • Jika Anda memilih Directory Blacklist dan memasukkan /home/admin/dir* di kolom Nama Direktori, file di semua subdirektori yang namanya diawali dengan dir di direktori /home/admin/ dilewati.

    • Jika Anda memilih Directory Blacklist dan memasukkan /home/admin/*/dir di kolom Nama Direktori, semua file di subdirektori dir di setiap subdirektori tingkat kedua dari direktori /home/admin/ dilewati. Sebagai contoh, file di direktori /home/admin/a/dir dilewati, tetapi file di direktori /home/admin/a/b/dir tidak.

    Allow File to Be Collected for Multiple Times

    Secara default, Anda hanya dapat menggunakan satu konfigurasi Logtail untuk mengumpulkan log dari sebuah berkas log. Untuk menggunakan beberapa konfigurasi Logtail guna mengumpulkan log dari sebuah berkas log, aktifkan Allow File to Be Collected Multiple Times.

    Advanced Parameters

    Anda harus secara manual mengonfigurasi parameter tertentu dari konfigurasi Logtail. Untuk informasi lebih lanjut, lihat Buat konfigurasi pipeline Logtail.

    Konfigurasi Prosesor

    Parameter

    Deskripsi

    Contoh Log

    Tambahkan contoh log yang dikumpulkan dari skenario nyata. Anda dapat menggunakan contoh log untuk dengan mudah mengonfigurasi parameter terkait pemrosesan log. Anda dapat menambahkan beberapa contoh log. Pastikan total panjangnya tidak melebihi 1.500 karakter.

    [2023-10-01T10:30:01,000] [INFO] java.lang.Exception: exception happened
        at TestPrintStackTrace.f(TestPrintStackTrace.java:3)
        at TestPrintStackTrace.g(TestPrintStackTrace.java:7)
        at TestPrintStackTrace.main(TestPrintStackTrace.java:16)

    Mode Multi-baris

    • Tentukan jenis log multi-baris. Log multi-baris mencakup beberapa baris berturut-turut. Anda dapat mengonfigurasi parameter ini untuk mengidentifikasi setiap log multi-baris dalam file log.

      • Custom: Log multi-baris diidentifikasi berdasarkan nilai Regex to Match First Line.

      • Multi-line JSON: Setiap objek JSON diperluas menjadi beberapa baris. Contoh:

        {
          "name": "John Doe",
          "age": 30,
          "address": {
            "city": "New York",
            "country": "USA"
          }
        }
    • Konfigurasikan Processing Method If Splitting Fails.

      Exception in thread "main" java.lang.NullPointerException
          at com.example.MyClass.methodA(MyClass.java:12)
          at com.example.MyClass.methodB(MyClass.java:34)
          at com.example.MyClass.main(MyClass.java:½0)

      Untuk contoh log di atas, Simple Log Service dapat membuang log atau menyimpan setiap baris tunggal sebagai log jika gagal memisahkannya.

      • Discard: Log dibuang.

      • Retain Single Line: Setiap baris teks log disimpan sebagai log. Total empat log disimpan.

    Metode Pemrosesan

    Tambahkan prosesor sesuai kebutuhan. Anda dapat menambahkan prosesor asli dan ekstensi untuk pemrosesan data.

    Penting

    Lihat petunjuk halaman konsol untuk batasan penggunaan prosesor.

    • Logtail V2.0

      • Anda dapat menggabungkan prosesor asli secara bebas untuk pemrosesan data.

      • Anda dapat menggabungkan prosesor asli dan ekstensi. Prosesor ekstensi harus mengikuti prosesor asli dalam urutan.

    • Logtail lebih awal dari V2.0

      • Anda tidak dapat menambahkan prosesor asli dan ekstensi secara bersamaan.

      • Anda hanya dapat menggunakan prosesor asli untuk mengumpulkan log teks. Saat menambahkannya, perhatikan hal berikut:

        • Anda harus menambahkan salah satu prosesor Logtail berikut terlebih dahulu: Penguraian Data (Mode Regex), Penguraian Data (Mode Pembatas), Penguraian Data (Mode JSON), Penguraian Data (Mode NGINX), Penguraian Data (Mode Apache), dan Penguraian Data (Mode IIS).

        • Setelah Anda menambahkan prosesor pertama, Anda dapat menambahkan prosesor Penguraian Waktu, prosesor Penyaringan Data, dan beberapa prosesor Masking Data.

      • Saat mengonfigurasi parameter Retain Original Field if Parsing Fails dan Retain Original Field if Parsing Succeeds, Anda hanya dapat menggunakan kombinasi parameter berikut. Untuk yang lainnya, Simple Log Service tidak menjamin efek konfigurasi.

        • Unggah log yang telah diurai.

          image

        • Unggah log yang diperoleh setelah penguraian berhasil, dan log mentah jika penguraian gagal.

          image

        • Unggah log yang diperoleh setelah penguraian. Tambahkan bidang log mentah ke log jika penguraian berhasil, dan log mentah jika gagal.

          Sebagai contoh, jika log mentah adalah "content": "{"request_method":"GET", "request_time":"200"}" dan berhasil diurai, sistem menambahkan bidang log mentah, yang ditentukan oleh parameter New Name of Original Field. Jika Anda tidak mengonfigurasi parameter tersebut, nama bidang asli digunakan. Nilai bidangnya adalah {"request_method":"GET", "request_time":"200"}.

          image

  6. Create indexes dan preview data. Lalu, klik Next. Secara default, pengindeksan teks penuh diaktifkan di Simple Log Service. Anda juga dapat mengonfigurasi indeks bidang berdasarkan log yang dikumpulkan dalam mode manual atau otomatis. Untuk mengonfigurasi indeks bidang dalam mode otomatis, klik Automatic Index Generation. Dengan cara ini, Simple Log Service secara otomatis membuat indeks bidang. Untuk informasi lebih lanjut, lihat Buat indeks.

    Penting

    Jika Anda ingin menanyakan semua bidang dalam log, kami sarankan Anda menggunakan indeks teks penuh. Jika Anda hanya ingin menanyakan bidang tertentu, kami sarankan Anda menggunakan indeks bidang. Ini membantu mengurangi lalu lintas indeks. Jika Anda ingin menganalisis bidang, Anda harus membuat indeks bidang. Anda harus menyertakan pernyataan SELECT dalam pernyataan kueri Anda untuk analisis.

  7. Klik Query Log. Kemudian, Anda akan diarahkan ke halaman kueri dan analisis Logstore Anda.

    Anda harus menunggu sekitar 1 menit agar indeks berlaku. Setelah itu, Anda dapat melihat log yang dikumpulkan di tab Raw Logs. Untuk informasi lebih lanjut, lihat Panduan untuk kueri dan analisis log.

Variabel Lingkungan

1. Aktifkan SLS saat Anda membuat Layanan Knative

Anda dapat mengaktifkan pengumpulan log berdasarkan template YAML berikut saat Anda membuat layanan Knative.

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

  2. Di halaman Clusters, temukan cluster yang Anda inginkan dan klik namanya. Di panel navigasi di sebelah kiri, pilih Applications > Knative.

  3. Klik tab Services, pilih namespace, lalu klik Create from Template. Pada halaman yang muncul, pilih Kustom di bagian Sample Template. Gunakan file YAML berikut dan ikuti petunjuk di halaman untuk membuat Layanan.

    Template YAML mematuhi sintaksis Kubernetes. Anda dapat menggunakan env untuk mendefinisikan log collection configurations dan custom tags. Anda juga harus menyetel parameter volumeMounts dan volumes. Contoh berikut menunjukkan cara mengonfigurasi Layanan Log dalam pod:

    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:
            # Tentukan variabel lingkungan.
            - name: aliyun_logs_log-stdout
              value: stdout
            - name: aliyun_logs_log-varlog
              value: /var/demo/*.log
            - name: aliyun_logs_mytag1_tags
              value: tag1=v1
            # Konfigurasikan pemasangan volume.
            volumeMounts:
            - name: volumn-sls-mydemo
              mountPath: /var/demo
            # Jika pod dimulai ulang berulang kali, Anda dapat menambahkan perintah sleep ke parameter startup pod.
            command: ["sh", "-c"]  # Jalankan perintah di shell.
            args: ["sleep 3600"]   # Tetapkan waktu sleep menjadi 1 jam (3600 detik).
          volumes:
          - name: volumn-sls-mydemo
            emptyDir: {}

    Lakukan langkah-langkah berikut secara berurutan sesuai dengan kebutuhan bisnis Anda:

    Catatan

    Jika Anda memiliki kebutuhan pengumpulan log lainnya, lihat (Opsional) 2. Gunakan variabel lingkungan untuk mengonfigurasi pengaturan lanjutan.

    1. Tambahkan log collection configurations dan custom tags menggunakan variabel lingkungan. Semua variabel lingkungan terkait pengumpulan log harus menggunakan aliyun_logs_ sebagai awalan.

      • Tambahkan variabel lingkungan dalam format berikut:

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

        Dalam contoh di atas, dua variabel lingkungan dalam format berikut ditambahkan ke konfigurasi pengumpulan log: aliyun_logs_{key}. {keys} dari variabel lingkungan adalah log-stdout dan log-varlog.

        • Variabel lingkungan aliyun_logs_log-stdout menunjukkan bahwa sebuah Logstore bernama log-stdout dibuat untuk menyimpan stdout yang dikumpulkan dari kontainer. Nama konfigurasi pengumpulan adalah log-stdout. Dengan cara ini, stdout dari kontainer dikumpulkan ke Logstore bernama log-stdout.

        • Variabel lingkungan aliyun_logs_log-varlog menunjukkan bahwa sebuah Logstore bernama log-varlog dibuat untuk menyimpan file /var/demo/*.log yang dikumpulkan dari kontainer. Nama konfigurasi pengumpulan adalah log-varlog. Dengan cara ini, file /var/demo/*.log dikumpulkan ke Logstore bernama log-varlog.

      • Tambahkan custom tags dalam format berikut:

        - name: aliyun_logs_mytag1_tags
          value: tag1=v1                       

        Setelah tag ditambahkan, tag tersebut secara otomatis dilampirkan ke data log yang dikumpulkan dari kontainer. mytag1 menentukan nama tag tanpa garis bawah (_).

    2. Jika Anda menentukan jalur log untuk mengumpulkan file log selain stdout, Anda harus menyetel parameter volumeMounts.

      Dalam template YAML di atas, bidang mountPath di volumeMounts disetel ke /var/demo. Ini memungkinkan Logtail mengumpulkan data log dari file /var/demo*.log.

  4. Setelah Anda memodifikasi template YAML, klik Create untuk mengirimkan konfigurasi.

(Opsional) 2. Gunakan variabel lingkungan untuk mengonfigurasi pengaturan lanjutan

Konfigurasi Logtail 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 edge.

Variabel

Deskripsi

Contoh

Catatan penggunaan

aliyun_logs_{key}

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

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

  • Untuk mengumpulkan stdout kontainer, atur nilainya menjadi stdout. Anda juga dapat menyetel nilainya ke jalur file log di 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 Logtail. 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 proyek Simple Log Service. Proyek default adalah proyek yang dihasilkan setelah Logtail diinstal.

- name: aliyun_logs_catalina_project

  value: my-k8s-project

Proyek harus diterapkan di wilayah yang sama dengan Logtail.

aliyun_logs_{key}_logstore

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

- name: aliyun_logs_catalina_logstore

  value: my-logstore

N/A.

aliyun_logs_{key}_shard

Opsional. Variabel ini menentukan jumlah shard logstore. Nilai valid: 1 hingga 10. Nilai default: 2.

Catatan

Jika logstore yang Anda tentukan sudah ada, variabel ini tidak berlaku.

- name: aliyun_logs_catalina_shard

  value: '4'

N/A.

aliyun_logs_{key}_ttl

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

  • Jika Anda menyetel nilai menjadi 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 grup mesin tempat aplikasi diterapkan. Grup mesin default adalah grup mesin tempat Logtail diterapkan. Untuk informasi lebih lanjut tentang cara menggunakan variabel ini, lihat Kumpulkan log kontainer dari kluster ACK.

- name: aliyun_logs_catalina_machinegroup

  value: my-machine-group

N/A.

aliyun_logs_{key}_logstoremode

Opsional. Variabel ini menentukan jenis logstore. Nilai default: standard. Nilai valid: standard dan query.

Catatan

Jika logstore yang Anda tentukan sudah ada, variabel ini tidak berlaku.

  • standard: Logstore standar. Jenis logstore ini mendukung fitur analisis log dan cocok untuk skenario seperti pemantauan real-time dan analisis interaktif. Anda dapat menggunakan jenis logstore ini untuk membangun sistem observabilitas yang komprehensif.

  • query: Query logstore. Jenis logstore ini mendukung kueri berperforma tinggi. Biaya lalu lintas indeks Query logstore sekitar setengah dari standard logstore. Query logstore tidak mendukung analisis SQL. Query logstore 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 

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

Langkah 3: Kueri dan analisis log

  1. Masuk ke konsol Simple Log Service.

  2. Di bagian Projects, klik proyek yang ingin Anda tuju untuk masuk ke halaman detailnya.

    image

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

    image

Bidang default dalam log teks kontainer

Tabel berikut menjelaskan bidang-bidang yang secara default termasuk dalam setiap log teks kontainer.

Nama Bidang

Deskripsi

__tag__:__hostname__

Nama host kontainer.

__tag__:__path__

Jalur file log di dalam kontainer.

__tag__:_container_ip_

Alamat IP kontainer.

__tag__:_image_name_

Nama image yang digunakan oleh kontainer.

__tag__:_pod_name_

Nama pod.

__tag__:_namespace_

Namespace tempat pod tersebut berada.

__tag__:_pod_uid_

Pengenal unik (UID) dari pod.

Referensi