All Products
Search
Document Center

Simple Log Service:Batas Logtail

Last Updated:Jun 03, 2026

Logtail menerapkan batasan pada lingkungan runtime, pengumpulan file, pengumpulan kontainer, manajemen checkpoint, konfigurasi, kelompok mesin, kinerja, dan penanganan error.

Lingkungan runtime

Batas

Batasan

Arsitektur

  • Logtail untuk Linux mendukung x86_64 dan arm64.

  • Logtail untuk Windows mendukung x86_32 dan x86_64.

Sumber daya komputasi

  • CPU: Sediakan minimal 0,1 core.

  • Memori: Minimal 30 MB untuk host, 150 MB untuk Kubernetes, dan 100 MB untuk Kubernetes Controller/Operator.

Penggunaan aktual bergantung pada laju pengumpulan, jumlah direktori dan file yang dipantau, serta adanya hambatan pengiriman. Pertahankan penggunaan di bawah 80% dari batas.

Lingkungan sistem

Sistem operasi yang didukung tercantum dalam Jenis sistem.

Kubernetes

  • Pengumpulan log menggunakan DaemonSet memerlukan Kubernetes versi 1.10.0 atau lebih baru dengan dukungan HostToContainer mount propagation.

  • Pengumpulan log berbasis CRD (alibaba-log-controller) memerlukan Kubernetes versi 1.16.0 atau lebih baru.

    Kubernetes versi 1.7.0 dan lebih baru juga mendukung CRD melalui apiextensions.k8s.io/v1beta1, tetapi stabilitas API beta ini bervariasi tergantung versinya.

Penting

Semua komponen Logtail berjalan dengan prioritas system-cluster-critical dan dapat mengusir Pod yang sudah ada. Jangan lakukan deployment saat sumber daya kluster tidak mencukupi.

Docker

Batasan untuk pengumpulan output standar kontainer:

  • Anda harus menambahkan "log-driver": "json-file" ke file konfigurasi Docker daemon.json.

  • Untuk CentOS 7.4 dan versi lebih baru (kecuali CentOS 8.0), Anda harus mengatur fs.may_detach_mounts=1. Untuk informasi lebih lanjut, lihat Bug 1468249, Bug 1441737, dan issue 34538.

Media penyimpanan

Hindari penyimpanan jaringan bersama (NAS, OSS), karena dapat menyebabkan pemotongan data, inkonsistensi konten, atau penghentian pengumpulan. Gunakan Elastic Block Storage (EBS).

Pengumpulan file

Batas

Batasan

Ukuran satu log

Default: 512 KB, dapat disesuaikan hingga 8 MB menggunakan parameter startup max_read_buffer_size. Atur parameter startup Logtail.

Log multi-baris yang dipisahkan oleh ekspresi reguler baris pertama tetap tunduk pada batas 512 KB per log. Log yang melebihi 512 KB akan dipaksa dipisah. Misalnya, log sebesar 1.025 KB akan dibagi menjadi 512 KB + 512 KB + 1 KB, menghasilkan beberapa log yang tidak lengkap.

Encoding file

Encoding UTF-8 dan GBK didukung. UTF-8 direkomendasikan untuk kinerja optimal.

Peringatan

Jika file log menggunakan format encoding lain, masalah seperti karakter acak atau kehilangan data dapat terjadi.

Ukuran file log

Tanpa Batas.

Rotasi file log

Ukuran antrian rotasi default: 20, dapat disesuaikan dengan parameter startup logreader_max_rotate_queue_size. Atur parameter startup Logtail.

Anda dapat menentukan path log dalam format xxx.log atau xxx.log*.

Penting

Jangan mencampur kedua format ini dalam satu instans Logtail. Satu file yang cocok dengan beberapa konfigurasi akan menyebabkan pengumpulan duplikat.

Jika lebih dari 20 file belum diproses, log baru akan hilang. Periksa apakah kuota tulis shard Logstore telah terlampaui, lalu sesuaikan konkurensi Logtail. Nilai parameter yang direkomendasikan.

Perilaku pengumpulan saat parsing log diblokir

Saat parsing log diblokir, Logtail tetap membuka deskriptor file log untuk mencegah penghapusan file dan kehilangan data.

Jika file log mengalami rotasi beberapa kali selama parsing diblokir, Logtail menempatkan file tersebut ke dalam antrian rotasi.

Ekspresi reguler

Ekspresi reguler yang kompatibel dengan Perl didukung.

JSON

JSON standar, sebagaimana didefinisikan dalam RFC 7159 dan ECMA-404, sepenuhnya didukung. JSON non-standar, seperti {"name": "\xE5\xAD\xA6"}, tidak didukung.

Konfigurasi Logtail ganda untuk satu file

Secara default, satu file hanya cocok dengan satu konfigurasi Logtail. Cara mengumpulkan beberapa salinan log dari satu file.

Penting

Saat Anda mengumpulkan beberapa salinan, I/O pembacaan file, sumber daya komputasi, dan I/O jaringan meningkat secara linear.

Perilaku pembukaan file

Logtail tetap membuka file yang dikumpulkan dan tertunda demi menjaga integritas data. File akan ditutup ketika:

  • File tidak dimodifikasi selama lebih dari 5 menit.

  • File mengalami rotasi dan pengumpulan selesai.

  • Konfigurasi pengumpulan Logtail berubah.

Untuk melepas handle file secara terjadwal setelah penghapusan, atur parameter startup force_release_deleted_file_fd_timeout. Atur parameter startup Logtail.

Perilaku pengumpulan log awal

Logtail hanya mengumpulkan Data inkremental. Saat pertama kali mendeteksi modifikasi file, jika ukuran file melebihi 1 MB (512 KB untuk stdout kontainer), pengumpulan dimulai dari 1 MB terakhir. Jika tidak, pengumpulan dimulai dari awal.

Atur nilai ini dengan parameter tail_size_kb. Konfigurasi Logtail (Lama).

Logtail melewati file yang tidak dimodifikasi setelah konfigurasi diterapkan. Impor file log historis.

Perilaku penimpaan file

Logtail mengidentifikasi file berdasarkan inode dan hash dari 1.024 byte pertama. Jika salah satu berubah setelah penimpaan, file dianggap baru dan dikumpulkan dari awal. Jika tidak, file dilewati.

Perilaku pemindahan file

File yang dipindahkan dan cocok dengan konfigurasi Logtail yang sebelumnya tidak cocok dianggap sebagai file baru dan dikumpulkan dari awal. Jika tidak, file dilewati.

Riwayat pengumpulan file

Logtail melacak riwayat pengumpulan file di memori untuk hanya mengumpulkan Data inkremental. Penulisan di luar cakupan retensi menyebabkan pengumpulan duplikat.

  • Secara default, riwayat file dari bulan terakhir disimpan.

  • Jika terdapat lebih dari 5.000 file historis dalam direktori yang sama, hanya catatan dari minggu terakhir yang disimpan.

  • Jika terdapat lebih dari 10.000 file historis dalam direktori yang sama, hanya catatan dari hari terakhir yang disimpan.

Log teks non-standar

Untuk baris log yang mengandung \0, versi yang lebih baru dari 2.1.10 dan 3.0.12 hanya menyimpan \0 di tengah log dan membuang \0 di awal dan akhir. Versi sebelumnya mungkin memotong pada \0 pertama atau menyimpannya secara utuh. Tingkatkan Logtail untuk perilaku yang konsisten. Karakter escape lain (kode warna ASCII, karakter tak tercetak) dilaporkan apa adanya.

Pengumpulan kontainer

Catatan

Batasan ini berlaku selain batasan pengumpulan file.

Batas

Batasan

Perilaku pengumpulan log awal

Untuk stdout kontainer, saat modifikasi file pertama kali terdeteksi, pengumpulan dimulai dari 512 KB terakhir jika file melebihi 512 KB, atau dari awal jika tidak. Atur dengan parameter StartLogMaxOffset. Kumpulkan output standar kontainer dalam mode DaemonSet menggunakan Konsol.

Link simbolis

Link simbolis untuk direktori dan file tidak didukung dalam pengumpulan file kontainer.

Siklus hidup kontainer

Siklus hidup kontainer minimum: 10 detik. Untuk pengumpulan file kontainer, Logtail membatasi pembaruan kontainer hingga 10 kali per 3 menit. Atur dengan parameter startup docker_config_update_interval dan max_docker_config_update_times. Atur parameter startup Logtail.

Rotasi log output standar

Docker atau kubelet melakukan rotasi file stdout kontainer. Ukuran rotasi default: 10 MB untuk kubelet (100 MB untuk Docker di ACK). Jika stdout melebihi 10 MB/detik, file akan cepat mengalami rotasi. Untuk mencegah kehilangan data, kumpulkan dari file kontainer atau tingkatkan parameter kubelet containerLogMaxSize.

Driver log output standar

Jika Anda menggunakan Docker sebagai runtime kontainer, Anda harus menambahkan "log-driver": "json-file" ke file konfigurasi Docker daemon.json.

Manajemen checkpoint

Batasan

Batasan

Timeout checkpoint

Checkpoint dihapus setelah 30 hari tidak aktif. Dengan preserve:false, checkpoint dihapus setelah 30 menit tidak aktif.

Kebijakan penyimpanan checkpoint

Checkpoint disimpan setiap 15 menit dan saat program keluar. Atur dengan parameter startup check_point_dump_interval. Atur parameter startup Logtail.

Lokasi penyimpanan checkpoint

Path default: /tmp/logtail_checkpoint. Ubah dengan parameter startup check_point_filename. Atur parameter startup Logtail.

Penanganan saat downtime

Pemulihan setelah downtime dimulai dari checkpoint terakhir yang disimpan, yang dapat menyebabkan pengumpulan duplikat. Sesuaikan kebijakan penyimpanan checkpoint untuk meminimalkan duplikasi.

Konfigurasi pengumpulan Logtail

Batas

Batas

Latensi pembaruan konfigurasi

Pembaruan konfigurasi dari Konsol atau API memerlukan waktu sekitar 30 detik untuk sampai ke klien Logtail.

Pemuatan dinamis konfigurasi

Didukung. Pembaruan pada satu konfigurasi tidak memengaruhi konfigurasi lainnya.

Jumlah total konfigurasi yang dapat dimuat untuk satu instans Logtail

Tidak ada batas keras. Maksimum yang direkomendasikan: 100 konfigurasi per server.

Output flusher pihak ketiga

Konfigurasi dari Konsol atau API terikat ke Logstore. Saat menggunakan flusher pihak ketiga, Logtail juga mengirim salinan ke Logstore terkait secara default.

Multi-akun dan cross-account

Didukung. Konfigurasikan identifier pengguna dan Gunakan Logtail untuk mengumpulkan log kontainer lintas akun Alibaba Cloud.

Multi-wilayah

Tidak didukung secara default. Untuk mengaktifkan, ajukan Tiket.

Global Accelerator

Didukung. Aktifkan di sisi server, lalu konfigurasikan di klien. Aktifkan Global Accelerator.

Kelompok mesin

Batasan

Batasan

Jumlah mesin

Tidak ada batas keras. Maksimum yang direkomendasikan: 100.000. Melebihi angka ini menyebabkan deteksi heartbeat tidak akurat.

Jumlah konfigurasi yang diterapkan

Tidak ada batas keras. Maksimum yang direkomendasikan: 1.000.

Kinerja

Batas

Batasan

Throughput pemrosesan log

Batas lalu lintas log mentah default: 20 MB/detik (rasio kompresi tipikal: 5–10x). Melebihi batas ini dapat menyebabkan kehilangan data. Atur dengan parameter startup max_bytes_per_sec. Atur parameter startup Logtail.

Kinerja maksimum

Throughput single-core:

  • Mode sederhana: Kapasitas pemrosesan log maksimum adalah 100 MB/detik.

  • Mode regex: Kapasitas pemrosesan maksimum default adalah 20 MB/detik. Nilai ini bergantung pada kompleksitas ekspresi reguler.

  • Throughput untuk log yang dibatasi pemisah dibatasi hingga 40 MB/detik.

  • Mode JSON: Kapasitas pemrosesan log maksimum adalah 30 MB/detik.

Beberapa thread pemrosesan melalui parameter process_thread_count dapat meningkatkan throughput sebesar 1,5–3x.

Jumlah maksimum direktori dan file yang dipantau

Bergantung pada parameter mem_usage_limit (default: 384 MB untuk host, 2.048 MB untuk kontainer). Berlaku empat tingkat:

  • Jumlah total maksimum direktori yang dipantau: ⌊mem_usage_limit/100⌋ × 5.000. Tidak termasuk direktori yang ditentukan dalam blacklist konfigurasi pengumpulan Logtail.

  • Jumlah total maksimum direktori dan file yang dipantau: ⌊mem_usage_limit/100⌋ × 50.000. Tidak termasuk direktori dalam blacklist konfigurasi pengumpulan Logtail, tetapi mencakup file yang tidak cocok dengan konfigurasi pengumpulan Logtail mana pun.

  • Jumlah total direktori dan file yang dipantau untuk satu konfigurasi pengumpulan: ⌊mem_usage_limit/100⌋ × 5.000. Tidak termasuk direktori dalam blacklist konfigurasi pengumpulan Logtail, tetapi mencakup file yang tidak cocok dengan konfigurasi pengumpulan Logtail tersebut.

  • Jumlah total subdirektori dan file dalam satu direktori: ⌊mem_usage_limit/100⌋ × 5.000. Termasuk direktori dalam blacklist konfigurasi pengumpulan Logtail dan file yang tidak cocok dengan konfigurasi pengumpulan Logtail mana pun.

Saat salah satu tingkat tercapai, Logtail berhenti memantau entri tambahan. Tingkatkan batas dengan mempersempit direktori yang dipantau atau menaikkan mem_usage_limit. Konfigurasikan parameter mem_usage_limit di Atur parameter startup Logtail.

Di Linux, Logtail menggunakan inotify untuk mengurangi latensi pengumpulan. Jumlah maksimum direktori yang dipantau inotify (termasuk subdirektori): 3.000.

Kebijakan penanganan batas sumber daya

Jika Penggunaan sumber daya Logtail melebihi batas maksimum selama 5 menit, Logtail akan direstart secara paksa. Hal ini dapat menyebabkan kehilangan atau duplikasi data.

Isolasi data multi-tenant

Logtail menyediakan isolasi di tingkat konfigurasi. Pengecualian pada satu konfigurasi pengumpulan Logtail tidak memengaruhi konfigurasi lainnya.

Latensi pengumpulan log

Dalam kondisi normal, latensi dari penulisan log hingga pengumpulan oleh Logtail kurang dari 1 detik.

Kebijakan unggah log

Logtail mengagregasi dan mengunggah log per file. Unggahan dipicu ketika jumlah log melebihi 4.000, ukuran total melebihi 512 KB, atau telah berlalu 3 detik—mana yang lebih dulu terjadi.

Penanganan error

Batasan

Batasan

Penanganan error jaringan

Saat terjadi error jaringan, Logtail melakukan retry dengan penyesuaian interval otomatis. Dalam kasus ekstrem, hal ini dapat menyebabkan pengumpulan duplikat atau kehilangan data:

  • Jika server menerima paket tetapi klien tidak menerima tanggapan dalam waktu 15 detik, retry menyebabkan pengumpulan duplikat.

  • Jika 5 paket rusak berturut-turut diterima, data tersebut dibuang.

Kuota sumber daya terlampaui

Jika laju pengiriman melebihi kuota Logstore, Logtail akan diblokir dan melakukan retry. Tingkatkan jumlah shard Logstore untuk mengatasi masalah ini.

Exception waktu klien

Jika selisih waktu antara klien dan server melebihi 15 menit, retry gagal setelah 5 percobaan dan data dibuang. Perbaiki waktu mesin klien.

Proyek atau Logstore tidak ada

Data dibuang setelah 5 kali retry gagal. Hal ini dapat terjadi jika Logstore dihapus melalui API. Hapus konfigurasi Logtail yang sesuai untuk mengatasi masalah ini.

Otentikasi gagal

Data dibuang setelah 5 kali retry gagal. Penyebab umum:

  • Jaringan tidak stabil saat startup Logtail mencegah otentikasi.

  • Mesin tidak dapat membuat koneksi HTTPS ke Titik akhir SLS untuk otentikasi.

Error tidak dikenal lainnya

Setelah 5 kali retry tidak berhasil, data dibuang.

Waktu retry maksimum sebelum timeout

Jika pengiriman data gagal terus-menerus lebih dari 6 jam, data tersebut dibuang.

Pemeriksaan status mandiri

Logtail secara otomatis restart saat keluar secara abnormal atau saat Penggunaan sumber daya melebihi batas yang dikonfigurasi.

Melebihi jumlah maksimum direktori dan file yang dipantau

Logtail tidak dapat menemukan path pengumpulan secara tepat waktu, yang dapat menyebabkan kehilangan data.

Delay pengumpulan signifikan

Progres pengumpulan log tertinggal dari generasi log. Jika lebih dari 20 file log yang belum diproses mengalami rotasi, terjadi kehilangan data.