全部产品
Search
文档中心

:Mulai dengan instalasi Logtail untuk pengumpulan data

更新时间:Jul 02, 2025

Operasi pengumpulan log oleh Logtail bervariasi tergantung pada skenario. Topik ini menjelaskan cara menggunakan Logtail untuk mengumpulkan log dalam berbagai skenario, seperti host, kluster Kubernetes, dan kontainer.

Instal Logtail untuk mengumpulkan log dari server

Saat mengumpulkan log teks dari server, Simple Log Service mendukung instalasi Logtail baik secara otomatis maupun manual. Metode yang digunakan bergantung pada akun atau wilayah tempat server Anda berada.

Instalasi Otomatis

Jika kondisi berikut terpenuhi, Simple Log Service dapat secara otomatis menginstal Logtail pada Instance ECS (Elastic Compute Service) melalui CloudOps Orchestration Service (OOS) di konsol Simple Log Service. Untuk informasi lebih lanjut, lihat Instalasi Otomatis Logtail untuk Mengumpulkan Log Teks dari Server.

  • Instance ECS digunakan.

  • Instance ECS dan proyek Simple Log Service milik akun Alibaba Cloud yang sama serta berada di wilayah yang sama.

Instalasi Manual

Jika salah satu kondisi berikut terpenuhi, Anda harus menginstal Logtail secara manual pada server. Untuk informasi lebih lanjut, lihat Instalasi Manual Logtail untuk Mengumpulkan Log Teks dari Server.

  • Server yang digunakan bukan Instance ECS.

  • Instance ECS digunakan, tetapi instance ECS dan proyek Simple Log Service milik akun Alibaba Cloud yang berbeda.

  • Instance ECS digunakan. Instance ECS dan proyek Simple Log Service milik akun Alibaba Cloud yang sama tetapi berada di wilayah yang berbeda.

Instal Logtail untuk mengumpulkan log dari kluster Kubernetes

Log kontainer Kubernetes dapat digunakan untuk pemecahan masalah, optimasi performa, audit keamanan, dan analisis pemanfaatan sumber daya. Simple Log Service memungkinkan Anda mengumpulkan log kontainer dari kluster Kubernetes baik dalam mode DaemonSet maupun Sidecar.

Mode DaemonSet

  • Hanya satu kontainer Logtail yang berjalan pada sebuah node di kluster Kubernetes. Anda dapat menggunakan Logtail untuk mengumpulkan log dari semua kontainer pada node tersebut.

  • Ketika sebuah node ditambahkan ke kluster Kubernetes, kluster secara otomatis membuat kontainer Logtail pada node baru tersebut. Ketika sebuah node dihapus dari kluster Kubernetes, kluster secara otomatis menghapus kontainer Logtail pada node tersebut. DaemonSets dan grup mesin berbasis pengenal kustom menghilangkan kebutuhan untuk mengelola proses Logtail secara manual.

Mode Sidecar

  • Setiap pod menjalankan kontainer Logtail. Anda dapat menggunakan Logtail untuk mengumpulkan log dari semua kontainer dalam pod. Pengumpulan log dari setiap pod diisolasi.

  • Untuk memastikan bahwa Logtail dapat mengumpulkan log dari kontainer lain dalam pod, pastikan bahwa kontainer Logtail dan kontainer aplikasi berbagi volume yang sama. Untuk informasi lebih lanjut tentang cara mengumpulkan log kontainer dalam mode Sidecar, lihat Kontainer Sidecar dengan agen logging dan Pod dengan beberapa kontainer. Untuk informasi lebih lanjut tentang volume, lihat Dasar-dasar Penyimpanan.

Metode pengumpulan

Skenario

Keuntungan

Kerugian

DaemonSet

Umumnya direkomendasikan untuk sebagian besar skenario.

Menyediakan O&M yang sederhana, penggunaan sumber daya rendah, dan konfigurasi fleksibel. Memungkinkan pengumpulan untuk stdout kontainer, stderr, dan log teks.

Logtail mengumpulkan log dari semua kontainer pada node spesifik DaemonSet. Namun, masalah bottleneck performa mungkin terjadi pada Logtail, dan isolasi kontainer kurang ketat.

Sidecar

Digunakan ketika setiap pod memerlukan Logtail terpisah untuk pengumpulan. Secara default, Logtail diinstal dalam mode Sidecar di kluster Serverless Kubernetes (ASK).

Membuat kontainer Sidecar untuk setiap kontainer dari mana Anda ingin mengumpulkan log. Tenant sepenuhnya diisolasi.

Konsumsi sumber daya tinggi dan konfigurasi serta pemeliharaan yang kompleks.

Penemuan Kontainer

  • Sebelum kontainer Logtail dapat mengumpulkan log dari kontainer lain, kontainer Logtail harus mengidentifikasi dan menentukan kontainer mana yang sedang berjalan. Proses ini disebut penemuan kontainer. Selama penemuan kontainer, kontainer Logtail tidak berkomunikasi dengan komponen kube-apiserver dari kluster Kubernetes. Sebaliknya, kontainer Logtail berkomunikasi dengan daemon runtime kontainer dari node tempat kontainer Logtail berjalan untuk mendapatkan informasi tentang semua kontainer pada node tersebut. Ini mencegah penemuan kontainer memberikan beban pada komponen kube-apiserver.

  • Saat menggunakan Logtail untuk mengumpulkan log, Anda dapat menentukan kondisi seperti namespace, nama pod, label pod, dan variabel lingkungan kontainer untuk menentukan kontainer dari mana Logtail mengumpulkan atau tidak mengumpulkan log.

Pemetaan jalur file untuk kontainer

Pod dalam kluster Kubernetes diisolasi. Akibatnya, kontainer Logtail dalam pod tidak dapat langsung mengakses file kontainer dalam pod yang berbeda. Sistem file kontainer dibuat dengan memasang sistem file host kontainer ke kontainer. Kontainer Logtail hanya dapat mengakses file apa pun di host kontainer setelah sistem file yang mencakup direktori root host kontainer dipasang ke kontainer Logtail. Hal ini memungkinkan kontainer Logtail mengumpulkan log dari file dalam sistem file. Hubungan antara jalur file dalam kontainer dan jalur file pada host kontainer disebut pemetaan jalur file.

Sebagai contoh, jalur file log dalam kontainer adalah /log/app.log. Setelah pemetaan jalur file, jalur file pada host kontainer adalah /var/lib/docker/containers/<container-id>/log/app.log. Secara default, sistem file yang mencakup direktori root host kontainer dipasang ke direktori /logtail_host dari kontainer Logtail. Oleh karena itu, kontainer Logtail mengumpulkan log dari /logtail_host/var/lib/docker/containers/<container-id>/log/app.log.

Catatan Penggunaan

Runtime Kontainer

  • Mesin yang didukung:

    • Docker

    • Containerd

  • Driver penyimpanan (hanya untuk kontainer Docker):

    • Hanya driver overlay dan overlay2 yang didukung.

    • Jika Anda menggunakan driver non-overlay, Anda harus memasang volume pada direktori log untuk menghasilkan direktori sementara.

Pemasangan Volume

Sistem file Apsara File Storage NAS (NAS) dipasang ke direktori log dengan menggunakan PersistentVolumeClaim (PVC).

Spesifikasi jalur file log

  • Jangan gunakan tautan simbolis.

    • Konfigurasi tidak valid: /var/log/app -> /mnt/nas/logs.

    • Konfigurasi valid: Gunakan jalur /mnt/nas/logs.

  • Aturan pencocokan jalur pemasangan:

    Jika volume dipasang ke direktori data kontainer aplikasi, Anda harus menentukan direktori data atau subdirektori sebagai direktori pengumpulan.

    Contoh:

    1Target Pemasangan: /var/log/service
    2✅ Jalur pengumpulan valid: /var/log/service atau /var/log/service/subdir
    3❌ Jalur pengumpulan tidak valid: /var/log (jalur terlalu pendek)

Penanganan log saat kontainer dihentikan

Runtime

Integritas log

Risiko penundaan penghancuran kontainer

Saran optimasi

Docker

Jika ada latensi pengumpulan karena masalah seperti latensi jaringan atau konsumsi sumber daya berlebih sebelum kontainer dihentikan, beberapa log yang dikumpulkan sebelum kontainer dihentikan mungkin hilang.

Saat kontainer dihentikan, Logtail segera melepaskan pegangan file kontainer saat ini. Kemudian, kontainer dapat keluar sesuai harapan.

Tingkatkan frekuensi pengiriman log (tentukan nilai kecil untuk flush_interval).

Containerd

Saat kontainer dihentikan, Logtail tidak melepaskan pegangan file kontainer saat ini sampai semua log dikirim. Dalam periode ini, file tetap terbuka.

Jika ada latensi pengumpulan karena masalah seperti latensi jaringan atau konsumsi sumber daya berlebih, kontainer mungkin gagal dihancurkan secara tepat waktu.

Konfigurasikan parameter max_hold_buffer_size untuk membatasi penggunaan memori.

Instal Logtail untuk mengumpulkan log dari kontainer Docker

Setelah Docker diterapkan pada server, Anda dapat mengumpulkan log dari kontainer aplikasi yang diterapkan pada server. Log Docker dibagi menjadi dua jenis: stdout dan stderr serta log teks.

Log teks merujuk pada log yang dihasilkan oleh kontainer dan ditulis ke direktori file tertentu pada server. Stdout dan stderr merujuk pada output real-time dari kontainer.