Logtail menerapkan batasan pada lingkungan runtime, pengumpulan file, pengumpulan kontainer, manajemen checkpoint, konfigurasi, kelompok mesin, kinerja, dan penanganan error.
Lingkungan runtime
|
Batas |
Batasan |
|
Arsitektur |
|
|
Sumber daya komputasi |
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 |
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:
|
|
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 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 |
|
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:
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.
|
|
Log teks non-standar |
Untuk baris log yang mengandung |
Pengumpulan kontainer
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 |
Manajemen checkpoint
|
Batasan |
Batasan |
|
Timeout checkpoint |
Checkpoint dihapus setelah 30 hari tidak aktif. Dengan |
|
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: |
|
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:
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:
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:
|
|
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:
|
|
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. |