全部产品
Search
文档中心

Simple Log Service:Batasan Logtail

更新时间:Aug 08, 2025

Topik ini menjelaskan batasan Logtail, termasuk batasan pada lingkungan yang didukung, file log, kontainer, checkpoint, konfigurasi Logtail, kelompok mesin, metrik kinerja, dan penanganan kesalahan.

Lingkungan yang Didukung

Item

Deskripsi

Arsitektur

  • Logtail Linux mendukung x86_64 dan ARM64.

  • Logtail Windows mendukung x86_32 dan x86_64.

Sumber daya komputasi

  • CPU: Setidaknya harus disediakan 0,1 core.

  • Memori: Setidaknya 30 MB untuk skenario server, 150 MB untuk skenario Kubernetes, dan 100 MB untuk Kubernetes Controller/Operator.

Penggunaan aktual tergantung pada laju pengumpulan, jumlah direktori dan file yang dipantau, serta tingkat kemacetan pengiriman. Pastikan bahwa tingkat penggunaan aktual kurang dari 80% dari batas.

Sistem operasi

Untuk sistem operasi yang didukung, lihat Jenis Host.

Kubernetes

  • Saat Anda mengumpulkan log dalam mode DaemonSet, diperlukan Kubernetes versi 1.10.0 atau lebih baru. Fitur HostToContainer mount propagation harus didukung.

  • Saat Anda menggunakan definisi sumber daya kustom (CRD) untuk mengumpulkan log, diperlukan Kubernetes versi 1.16.0 atau lebih baru, dan komponen alibaba-log-controller harus diinstal.

    API apiextensions.k8s.io/v1beta1 yang disediakan oleh Kubernetes versi 1.7.0 dan lebih baru juga mendukung CRD. Namun, stabilitas API dalam versi Beta bervariasi berdasarkan versi Kubernetes tertentu.

    Penting

    Semua komponen Logtail memiliki prioritas system-cluster-critical. Jangan deploy mereka saat sumber daya kluster tidak mencukupi, karena mereka dapat mengevakuasi Pod yang ada pada node.

Docker

Pengumpulan stdout dan stderr dari kontainer memiliki batasan berikut:

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

  • Untuk CentOS 7.4 dan yang lebih baru kecuali Centos 8.0, Anda harus mengatur fs.may_detach_mounts menjadi 1. Untuk informasi lebih lanjut, lihat Bug 1468249, Bug 1441737, dan issue 34538.

Media penyimpanan

Menggunakan media penyimpanan jaringan bersama seperti Penyimpanan File NAS (NAS) atau Object Storage Service (OSS) tidak direkomendasikan, karena dapat menyebabkan pemotongan data, ketidakkonsistenan isi, atau penghentian pengumpulan. Kami merekomendasikan Anda menggunakan Elastic Block Storage (EBS).

Batasan pada file log

Item

Deskripsi

Ukuran Satu Log

Secara default, ukuran maksimum sebuah log adalah 512 KB. Anda dapat mengubah nilai parameter startup max_read_buffer_size untuk menyesuaikan ukuran tersebut. Ukuran maksimum sebuah log tidak boleh melebihi 8 MB. Untuk informasi lebih lanjut, lihat Konfigurasikan Parameter Startup Logtail.

Jika log multi-baris dibagi berdasarkan ekspresi reguler yang digunakan untuk mencocokkan awal baris pertama log, ukuran maksimum setiap log setelah pembagian tetap 512 KB. Jika ukuran log melebihi 512 KB, log tersebut secara paksa dibagi menjadi beberapa log untuk dikumpulkan. Sebagai contoh, jika ukuran log adalah 1.025 KB, log tersebut dibagi menjadi log dengan ukuran berikut: 512 KB, 512 KB, dan 1 KB. Kemudian, log-log tersebut dikumpulkan secara berurutan dan dianggap sebagai log yang tidak lengkap.

Pengkodean File Log

Logtail mendukung file log yang dikodekan dalam UTF-8 dan GBK. Kami merekomendasikan penggunaan file log yang dikodekan dalam UTF-8 untuk meningkatkan kinerja pemrosesan.

Peringatan

Jika file log dikodekan dalam format lain, masalah seperti karakter acak dan kehilangan data mungkin terjadi.

Ukuran File Log

Tanpa Batas.

Rotasi File Log

Secara default, jumlah maksimum file log dalam antrian rotasi adalah 20. Anda dapat mengubah nilai parameter startup logreader_max_rotate_queue_size untuk menyesuaikan jumlah tersebut. Untuk informasi lebih lanjut, lihat Konfigurasikan Parameter Startup Logtail.

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

Penting

Pastikan kedua format tersebut tidak ada pada waktu yang sama dalam satu instans Logtail. Jika kedua format ada pada waktu yang sama, log dalam file log mungkin dikumpulkan menggunakan beberapa konfigurasi Logtail, dan data duplikat mungkin dikumpulkan.

Jika lebih dari 20 file log belum diproses, log baru akan hilang. Dalam kasus ini, Anda harus memeriksa apakah kuota penulisan shard melebihi batas dan menyesuaikan parameter terkait konkurensi. Untuk informasi lebih lanjut, lihat Nilai Parameter yang Direkomendasikan.

Perilaku Pengumpulan Log Saat Penguraian Log Diblokir

Saat penguraian log diblokir, Logtail tetap membuka deskriptor file log untuk mencegah file log dihapus selama periode pemblokiran dan kehilangan log.

Jika file log dirotasi beberapa kali selama periode pemblokiran, Logtail memasukkan file log ke dalam antrian rotasi.

Ekspresi Reguler

Logtail menggunakan ekspresi reguler yang kompatibel dengan Perl.

JSON

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

Beberapa Konfigurasi Logtail untuk Satu File Log

Secara default, Anda hanya dapat menggunakan satu konfigurasi Logtail untuk mengumpulkan log dari file log. Untuk informasi lebih lanjut tentang cara menggunakan beberapa konfigurasi Logtail untuk mengumpulkan log dari file log, lihat Bagaimana Cara Saya Mengumpulkan Beberapa Salinan Log dalam File?

Penting

Saat Anda menggunakan beberapa konfigurasi Logtail untuk mengumpulkan log dari file log, I/O baca, sumber daya komputasi, dan I/O jaringan bertambah sesuai.

Perilaku Membuka File

Logtail menjaga file log tempat Anda ingin mengumpulkan log dan file log dalam antrian rotasi tetap terbuka untuk memastikan integritas data yang dikumpulkan. File log ditutup dalam skenario berikut:

  • File log tidak dimodifikasi dalam 5 menit.

  • File log dirotasi, dan semua log dalam file log telah dikumpulkan.

  • Konfigurasi Logtail diperbarui.

Untuk melepaskan pegangan file dalam periode waktu tertentu setelah file log dihapus, terlepas dari apakah pengumpulan log dari file log selesai atau apakah log baru masih ditulis ke file log, konfigurasikan parameter force_release_deleted_file_fd_timeout untuk menentukan periode timeout. Untuk informasi lebih lanjut, lihat Konfigurasikan Parameter Startup Logtail.

Perilaku Pengumpulan Log Pertama

Logtail hanya mengumpulkan data dari file log inkremental. Jika ukuran file log melebihi batas 1 MB pertama kali modifikasi file log terdeteksi, Logtail mengumpulkan data dari 1 MB terakhir. Jika ukuran file log tidak melebihi 1 MB, Logtail mengumpulkan data dari awal file log. Batas untuk stdout dan stderr kontainer adalah 512 KB.

Anda dapat mengubah nilai parameter tail_size_kb dalam konfigurasi Logtail untuk menyesuaikan batas tersebut. Untuk informasi lebih lanjut, lihat Konfigurasi Logtail.

Jika file log tidak dimodifikasi setelah konfigurasi Logtail dikirim, Logtail tidak mengumpulkan data dari file log. Untuk informasi lebih lanjut tentang cara mengumpulkan log dari file log historis, lihat Impor Log Historis dari File Log.

Perilaku Penimpaan File

Logtail menggunakan inode dan nilai hash dari 1.024 byte pertama file log untuk mengidentifikasi file log. Jika file log ditimpa dan inode atau nilai hash dari 1.024 byte pertama file log berubah, file log dianggap sebagai file log yang belum dikumpulkan lognya, dan log dikumpulkan dari awal file log. Jika inode atau nilai hash tidak berubah, log dalam file log tidak dikumpulkan.

Perilaku Transfer File

Jika file log ditransfer dan konfigurasi Logtail yang cocok tidak digunakan untuk mengumpulkan log dari file log sebelum file log ditransfer, file log dianggap sebagai file log yang belum dikumpulkan lognya, dan log dikumpulkan dari awal file log. Dalam skenario ini, jika konfigurasi Logtail yang cocok digunakan untuk mengumpulkan log dari file log, log dalam file log tidak dikumpulkan.

Sejarah Pengumpulan File

Logtail menyimpan kemajuan pengumpulan historis file log historis dalam memori untuk memastikan hanya data inkremental yang dikumpulkan setelah file log diubah. Jika kemajuan pengumpulan historis file log historis disimpan lebih lama dari periode tertentu dan data baru ditulis ke file log, data duplikat dikumpulkan.

  • Secara default, kemajuan pengumpulan historis file log historis disimpan hingga satu bulan.

  • Jika jumlah file log historis dalam direktori yang sama melebihi 5.000, kemajuan pengumpulan file log dalam seminggu terakhir disimpan.

  • Jika jumlah file log historis dalam direktori yang sama melebihi 10.000, kemajuan pengumpulan file log dalam sehari terakhir disimpan.

Log Teks Non-Standar

Untuk baris log yang berisi \0, versi lebih besar dari 2.1.10 atau lebih besar dari 3.0.12 hanya menyimpan karakter \0 di tengah baris dan membuang karakter \0 di awal dan akhir. Versi lain mungkin memotong baris pada karakter \0 pertama atau menyimpan seluruh baris. Kami merekomendasikan peningkatan. Untuk karakter escape lainnya (seperti kode warna ASCII) atau karakter non-cetak, Logtail langsung mengirimkan karakter tersebut.

Batasan pada kontainer

Catatan

Baik batasan pada file log maupun batasan pada kontainer berlaku saat Anda menggunakan Logtail untuk mengumpulkan log kontainer.

Item

Deskripsi

Perilaku Pengumpulan Log Pertama

Saat Anda mengumpulkan stdout dan stderr kontainer dan jika ukuran file log melebihi batas 512 KB pertama kali modifikasi file log terdeteksi, Logtail mengumpulkan data dari 512 KB terakhir. Jika ukuran file log tidak melebihi 512 KB, Logtail mengumpulkan data dari awal file log. Anda dapat mengubah nilai parameter StartLogMaxOffset dalam konfigurasi Logtail untuk menyesuaikan batas tersebut. Untuk informasi lebih lanjut, lihat Gunakan Konsol Simple Log Service untuk Mengumpulkan stdout dan stderr Kontainer dalam Mode DaemonSet.

Tautan Simbolik

Saat Anda mengumpulkan log dari file kontainer, file dan direktori file tidak boleh berupa tautan simbolik.

Siklus Hidup Kontainer

Secara default, Logtail hanya dapat mengumpulkan log dari kontainer jika siklus hidup kontainer berlangsung 10 detik atau lebih lama. Saat Anda mengumpulkan log dari file kontainer, Logtail membatasi jumlah pembaruan log dalam file kontainer hingga 10 kali dalam periode 3 menit untuk memastikan kinerja pengumpulan. Anda dapat mengubah nilai parameter startup docker_config_update_interval dan max_docker_config_update_times untuk menyesuaikan pengaturan tersebut. Untuk informasi lebih lanjut, lihat Konfigurasikan Parameter Startup Logtail.

Rotasi File untuk stdout dan stderr

File stdout dan stderr kontainer dirotasi oleh Docker atau kubelet. Secara default, ukuran file stdout dan stderr yang dirotasi oleh kubelet adalah 10 MB, dan ukuran file stdout dan stderr yang dirotasi oleh Docker adalah 100 MB. Jika laju output stdout dan stderr kontainer lebih besar dari 10 MB/s, file stdout dan stderr dirotasi dengan kecepatan lebih tinggi. Dalam kasus ini, kami merekomendasikan Anda mengumpulkan log dari file kontainer atau mengubah nilai parameter containerLogMaxSize untuk mencegah kehilangan log.

Driver Logging untuk stdout dan stderr

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

Batasan pada checkpoint

Item

Deskripsi

Periode timeout checkpoint

Dalam skenario default, jika file log tidak dimodifikasi dalam 30 hari, checkpoint file log secara otomatis dihapus. Jika preserve:false dikonfigurasikan dalam konfigurasi Logtail dan file log tidak dimodifikasi dalam 30 menit, checkpoint file log dihapus.

Kebijakan penyimpanan checkpoint

Checkpoint disimpan secara otomatis pada interval 15 menit dan pada saat Logtail keluar. Anda dapat mengubah nilai parameter startup check_point_dump_interval untuk mengubah kebijakan penyimpanan checkpoint. Untuk informasi lebih lanjut, lihat Konfigurasikan parameter startup Logtail.

Jalur penyimpanan checkpoint

Secara default, checkpoint disimpan dalam direktori /tmp/logtail_checkpoint. Anda dapat mengubah nilai parameter startup check_point_filename untuk mengubah jalur penyimpanan checkpoint. Untuk informasi lebih lanjut, lihat Konfigurasikan parameter startup Logtail.

Penanganan selama downtime

Checkpoint disimpan secara berkala. Jika downtime terjadi, pengumpulan data dilanjutkan dari checkpoint yang disimpan sepenuhnya terakhir. Hal ini dapat menyebabkan pengumpulan data duplikat. Anda dapat mengubah kebijakan penyimpanan checkpoint untuk mencegah pengumpulan data duplikat.

Batasan pada konfigurasi Logtail

Item

Deskripsi

Laten Pengaturan Pembaruan Konfigurasi

Pembaruan konfigurasi Logtail yang dilakukan menggunakan Konsol Simple Log Service atau dengan memanggil Operasi API memerlukan waktu sekitar 30 detik untuk berlaku.

Pemuatan Dinamis Konfigurasi Logtail

Konfigurasi Logtail dapat dimuat secara dinamis. Pembaruan pada konfigurasi Logtail tidak memengaruhi konfigurasi Logtail lainnya.

Jumlah Konfigurasi Logtail yang Dapat Dimuat Secara Dinamis untuk Satu Instans Logtail

Tanpa Batas. Namun, kami merekomendasikan agar Anda memuat tidak lebih dari 100 konfigurasi Logtail untuk satu server.

Pembuatan Log Menggunakan Flusher Pihak Ketiga

Jika konfigurasi Logtail dibuat di Konsol Simple Log Service atau dengan memanggil Operasi API, konfigurasi Logtail tersebut dikaitkan dengan logstore. Oleh karena itu, saat Anda mengonfigkan flusher pihak ketiga dalam konfigurasi plugin Anda, Logtail secara otomatis mengirimkan salinan data ke logstore.

Akun Multi dan Lintas Akun

Pengumpulan log multi-akun dan lintas akun didukung. Untuk informasi lebih lanjut, lihat Konfigurasikan Pengenal Pengguna dan Gunakan Logtail untuk Mengumpulkan Log Kontainer Lintas Akun Alibaba Cloud.

Multi-Region

Secara default, pengumpulan log multi-region tidak didukung. Untuk mengumpulkan log dari beberapa region, ajukan Tiket.

Percepatan Global

Percepatan global didukung. Setelah Anda mengaktifkan percepatan global di sisi Simple Log Service, Anda harus mengonfigurasikan percepatan global di sisi Logtail. Untuk informasi lebih lanjut, lihat Percepatan Pengumpulan Log.

Batasan pada kelompok mesin

Item

Deskripsi

Jumlah mesin

Tanpa Batas. Namun, kami merekomendasikan agar Anda mengonfigurasikan tidak lebih dari 100.000 mesin. Jika tidak, heartbeat tidak dapat diperoleh.

Jumlah konfigurasi Logtail yang dapat diterapkan

Tanpa Batas. Namun, kami merekomendasikan agar Anda menerapkan tidak lebih dari 1.000 konfigurasi Logtail.

Batasan pada metrik kinerja

Item

Deskripsi

Throughput untuk Pemrosesan Log

Kecepatan transmisi default log mentah dibatasi hingga 20 MB/s. Data log diunggah setelah dienkripsi dan dikompresi. Rasio kompresi berkisar antara 5:1 hingga 10:1. Jika kecepatan transmisi lebih cepat dari nilai default, log mungkin hilang. Anda dapat mengubah nilai parameter startup max_bytes_per_sec untuk menyesuaikan kecepatan transmisi. Untuk informasi lebih lanjut, lihat Konfigurasikan Parameter Startup Logtail.

Kecepatan Pemrosesan Maksimum untuk Log

Kecepatan pemrosesan dengan satu core:

  • Dalam mode sederhana, kecepatan pemrosesan maksimum adalah 100 MB/s.

  • Dalam mode regex penuh, kecepatan pemrosesan maksimum adalah 20 MB/s. Ini adalah nilai default. Kecepatan pemrosesan aktual bervariasi berdasarkan kompleksitas ekspresi reguler.

  • Dalam mode delimiter, kecepatan pemrosesan maksimum adalah 40 MB/s.

  • Dalam mode JSON, kecepatan pemrosesan maksimum adalah 30 MB/s.

Anda dapat mengonfigurasikan parameter startup process_thread_count untuk mengonfigurasikan beberapa thread. Ini membantu meningkatkan kinerja sebesar 150% hingga 300%.

Jumlah Maksimum Direktori dan File yang Dipantau

Jumlah maksimum direktori dan file yang dipantau terkait dengan parameter mem_usage_limit. Nilai default parameter mem_usage_limit adalah 384 MB dalam lingkungan host dan 2.048 MB dalam lingkungan kontainer. Kategori berikut digunakan:

  • Jumlah maksimum direktori yang dipantau = (Nilai dari mem_usage_limit/100) × 5.000. Direktori tidak termasuk daftar hitam direktori yang ditentukan dalam konfigurasi Logtail.

  • Jumlah maksimum direktori dan file yang dipantau = (Nilai dari mem_usage_limit/100) × 50.000. Direktori tidak termasuk daftar hitam direktori yang ditentukan dalam konfigurasi Logtail. File mencakup file yang tidak cocok dengan konfigurasi Logtail.

  • Jumlah direktori dan file yang dipantau oleh satu konfigurasi Logtail = (Nilai dari mem_usage_limit/100) × 5.000. Direktori tidak termasuk daftar hitam direktori yang ditentukan dalam konfigurasi Logtail. File mencakup file yang tidak cocok dengan konfigurasi Logtail.

  • Jumlah subdirektori dan file yang dipantau dalam satu direktori = (Nilai dari mem_usage_limit/100) × 5.000. Subdirektori mencakup daftar hitam direktori yang ditentukan dalam konfigurasi Logtail. File mencakup file yang tidak cocok dengan konfigurasi Logtail.

Jika jumlah untuk salah satu kategori di atas mencapai batas atas, Logtail tidak lagi memantau sisa direktori dan file yang sesuai dengan kategori tersebut. Anda dapat mempersempit cakupan direktori yang dipantau dalam konfigurasi Logtail atau mengubah nilai parameter startup mem_usage_limit untuk meningkatkan jumlah direktori yang dipantau. Untuk informasi lebih lanjut tentang parameter mem_usage_limit, lihat Konfigurasikan Parameter Startup Logtail.

Logtail yang diinstal pada server Linux memungkinkan Anda menggunakan mekanisme inotify untuk memantau direktori. Ini membantu mempersingkat latensi pengumpulan log. Jumlah maksimum direktori, termasuk subdirektori, yang dapat dipantau menggunakan mekanisme inotify adalah 3.000.

Kebijakan Penanganan Konsumsi Sumber Daya Berlebih

Jika jumlah sumber daya yang digunakan oleh Logtail tetap lebih tinggi dari batas atas selama 5 menit, Logtail secara paksa di-restart. Restart ini dapat menyebabkan kehilangan atau duplikasi data.

Isolasi Multi-Penyewa

Konfigurasi Logtail diisolasi. Jika terjadi kesalahan dalam konfigurasi Logtail, konfigurasi Logtail lainnya tidak terpengaruh.

Latensi Pengumpulan Log

Dalam kondisi normal, Logtail dapat mengumpulkan log kurang dari 1 detik setelah log ditulis ke disk.

Kebijakan Unggah Log

Sebelum Logtail mengunggah log, Logtail menggabungkan log dalam file yang sama. Logtail mulai mengunggah log ketika jumlah log melebihi 4.000, total ukuran log melebihi 512 KB, atau durasi pengumpulan log melebihi 3 detik.

Batasan pada penanganan kesalahan

Item

Deskripsi

Penanganan Kesalahan Jaringan

Jika terjadi kesalahan jaringan, Logtail secara otomatis mencoba kembali tugas pengumpulan data dan menyesuaikan interval percobaan ulang. Dalam kasus ekstrem, log mungkin dikumpulkan berulang kali atau dibuang karena masalah berikut:

  • Paket yang dikirim oleh Logtail diterima oleh Simple Log Service, dan respons paket dari Simple Log Service gagal diterima oleh Logtail dalam 15 detik. Dalam hal ini, Logtail mengirim permintaan lagi, dan data duplikat dikumpulkan.

  • Kesalahan tautan jaringan menyebabkan kerusakan pada paket yang diterima oleh Logtail, dan kesalahan terjadi lima kali berturut-turut. Dalam hal ini, Logtail membuang data terkait.

Pemrosesan Peristiwa Ambang Batas Terlampaui

Jika kecepatan transmisi data melebihi batas atas logstore, Logtail memblokir pengumpulan log dan secara otomatis mencoba kembali tugas pengumpulan data. Kami merekomendasikan Anda meningkatkan jumlah shard untuk logstore.

Kesalahan Waktu Logtail

Jika percobaan ulang gagal lima kali karena selisih waktu antara waktu permintaan dan waktu respons lebih besar dari 15 menit, Logtail membuang data terkait. Maksimal lima percobaan ulang diizinkan. Kami merekomendasikan Anda memperbaiki waktu mesin tempat Logtail berada.

Tidak Adanya Proyek atau Logstore Tertentu

Jika percobaan ulang gagal lima kali, Logtail membuang data terkait. Maksimal lima percobaan ulang diizinkan. Kegagalan ini mungkin terjadi jika Anda menghapus logstore Anda dengan memanggil Operasi API. Kami merekomendasikan Anda menghapus konfigurasi Logtail dan memutuskan hubungan konfigurasi Logtail dari kelompok mesin Anda dengan memanggil Operasi API.

Otentikasi Gagal

Jika percobaan ulang gagal lima kali, Logtail membuang data terkait. Maksimal lima percobaan ulang diizinkan. Kegagalan ini mungkin terjadi dalam skenario berikut:

  • Jika kegagalan terjadi saat Logtail dimulai, penyebabnya adalah tidak ada informasi otentikasi yang dapat diperoleh melalui jaringan yang tidak stabil.

  • Jika kegagalan terjadi berulang kali, penyebabnya adalah tidak ada informasi otentikasi yang dapat diperoleh saat mesin Anda tidak dapat terhubung ke Titik Akhir Simple Log Service melalui HTTPS.

Kesalahan Tidak Dikenal Lainnya

Jika percobaan ulang gagal lima kali, Logtail membuang data terkait. Maksimal lima percobaan ulang diizinkan.

Periode Percobaan Ulang Maksimum Sebelum Timeout

Jika data gagal ditransmisikan dan masalah tersebut berlangsung lebih dari 6 jam, Logtail membuang data tersebut.

Pemeriksaan Status Diri

Jika terjadi pengecualian, Logtail di-restart. Sebagai contoh, jika aplikasi keluar secara tak terduga atau penggunaan sumber daya melebihi batas atas yang ditentukan, Logtail di-restart.

Melebihi Jumlah Maksimum Folder dan File yang Dipantau

Logtail tidak dapat menemukan jalur pengumpulan tepat waktu dan akurat, yang dapat mengakibatkan kehilangan data.

Pengumpulan Tertunda Signifikan

Pengumpulan log tertinggal dari pembuatan log. Jika log yang belum diproses melebihi 20, kehilangan data mungkin terjadi.