Setelah menginstal LoongCollector, Anda dapat mengelola siklus hidup dan konfigurasi waktu prosesnya.
Perintah umum LoongCollector
Mulai LoongCollector
Jika Anda memiliki persyaratan kinerja tertentu untuk pengumpulan data, ubah file konfigurasi parameter startup (ilogtail_config.json) sebelum menjalankan LoongCollector.
sudo /etc/init.d/loongcollectord startHentikan LoongCollector
sudo /etc/init.d/loongcollectord stopPeriksa status LoongCollector
sudo /etc/init.d/loongcollectord status # Nilai kembali "loongcollector is running" menunjukkan startup berhasil.Periksa versi LoongCollector
cat /usr/local/ilogtail/app_info.json # Informasi versi disimpan dalam bidang loongcollector_version.Mulai ulang LoongCollector
sudo /etc/init.d/loongcollectord restartUninstall LoongCollector
Pada kode contoh, ganti
${region_id}dengancn-hangzhou. Untuk mempercepat unduhan, ganti${region_id}dengan wilayah instance ECS Anda. Untuk informasi selengkapnya, lihat Wilayah.wget https://aliyun-observability-release-${region_id}.oss-${region_id}.aliyuncs.com/loongcollector/linux64/latest/loongcollector.sh -O loongcollector.sh;Jalankan perintah uninstall.
chmod +x loongcollector.sh; sudo ./loongcollector.sh uninstall;
Peningkatan LoongCollector
Anda dapat meningkatkan LoongCollector ke versi yang lebih baru atau melakukan upgrade dari Logtail ke LoongCollector. Perintah upgrade sama untuk kedua skenario tersebut.
Upgrade LoongCollector atau upgrade dari Logtail ke LoongCollector
LoongCollector berhenti selama proses upgrade dan secara otomatis restart setelah upgrade selesai. Proses upgrade hanya menimpa file-file penting. Konfigurasi dan file checkpoint Anda tetap dipertahankan untuk mencegah kehilangan log.
Jalankan perintah unduh di server Anda untuk mendapatkan paket instalasi terbaru. Pada kode contoh, ganti
${region_id}dengancn-hangzhou. Untuk mempercepat unduhan, ganti${region_id}dengan wilayah instance ECS Anda. Untuk informasi selengkapnya, lihat Wilayah.wget https://aliyun-observability-release-${region_id}.oss-${region_id}.aliyuncs.com/loongcollector/linux64/latest/loongcollector.sh -O loongcollector.sh;Jalankan perintah upgrade. Gunakan perintah
upgrade. Jika Anda menggunakan perintahinstall, instalasi akan ditimpa dan konfigurasi asli Anda hilang.chmod +x loongcollector.sh; sudo ./loongcollector.sh upgrade;Jika informasi berikut ditampilkan, peningkatan berhasil.
Upgrade loongcollector files successfully. Starting loongcollector ... Upgrade loongcollector successfully.
Kembalikan dari LoongCollector ke Logtail
Anda harus mengunduh skrip logtail.sh lagi. Jangan gunakan skrip logtail.sh lama.
Jalankan perintah unduh di server Anda untuk mendapatkan paket instalasi. Pada kode contoh, ganti
${region_id}dengancn-hangzhou. Untuk mempercepat unduhan, ganti${region_id}dengan wilayah instance ECS Anda. Untuk informasi selengkapnya, lihat Wilayah.wget https://logtail-release-${region_id}.oss-${region_id}.aliyuncs.com/linux64/logtail.sh -O logtail.sh;Jalankan perintah rollback. Untuk menentukan versi tertentu, misalnya 1.8.7, lihat komentar dan ganti nomor versi sesuai kebutuhan.
chmod +x logtail.sh; sudo ./logtail.sh upgrade; #chmod +x logtail.sh; sudo ./logtail.sh upgrade -v -v 1.8.7;
File konfigurasi parameter startup (ilogtail_config.json)
Deskripsi: File ini mengonfigurasi parameter startup untuk LoongCollector. Pengaturan parameter yang salah dapat memengaruhi kinerja pengumpulan atau menyebabkan error pengumpulan.
Jalur: /usr/local/ilogtail/ilogtail_config.json.
Skenario: Simple Log Service membatasi kinerja pengumpulan LoongCollector untuk menghindari konsumsi sumber daya server yang berlebihan. Jika kinerja pengumpulan tidak memenuhi kebutuhan Anda, Anda dapat menyesuaikan parameter startup.
Contoh file:
{ "primary_region" : "cn-beijing", // Wilayah default. Anda dapat mengabaikan parameter ini. "config_servers" : // Alamat yang digunakan untuk mendapatkan konfigurasi pengumpulan. [ "http://logtail.cn-beijing.log.aliyuncs.com" ], "data_servers" : // Alamat untuk transmisi data dengan Simple Log Service. [ { "region" : "cn-beijing", "endpoint_list": [ "cn-beijing.log.aliyuncs.com" ] } ], "cpu_usage_limit" : 0.4, "mem_usage_limit" : 384, "max_bytes_per_sec" : 20971520, "bytes_per_sec" : 1048576, "buffer_file_num" : 25, "buffer_file_size" : 20971520, "buffer_map_num" : 5 }Parameter: Tabel berikut hanya mencantumkan parameter startup umum yang mungkin perlu Anda konfigurasi. Tambahkan atau ubah sesuai kebutuhan. Pertahankan nilai default untuk parameter yang tidak tercantum dalam tabel.
Skenario: Contoh berikut menunjukkan skenario umum dan operasi.
Perencanaan konfigurasi kinerja pengumpulan
Untuk mencegah collector mengonsumsi sumber daya server berlebihan dan memengaruhi layanan lain, Simple Log Service membatasi kinerja pengumpulannya. Untuk meningkatkan kinerja pengumpulan, Anda dapat memodifikasi parameter startup.
Contoh parameter yang direkomendasikan
Konfigurasi parameter berikut direkomendasikan untuk mengumpulkan file JSON umum. Kinerja mode ekspresi reguler penuh dan mode pemisah mirip dengan mode JSON. Kinerja mode minimalist lima kali lebih tinggi daripada mode JSON. Faktor seperti kompleksitas data dan aturan, serta jumlah direktori dan file pengumpulan, memengaruhi konsumsi CPU dan memori. Sesuaikan parameter dalam tabel berikut sesuai kebutuhan.
Tambahkan atau ubah nilai parameter dalam /usr/local/ilogtail/ilogtail_config.json dan restart LoongCollector agar perubahan berlaku. Tabel berikut memberikan nilai yang direkomendasikan untuk laju pengumpulan berbeda.
Saat Anda mengonfigurasi parameter startup berdasarkan kolom Laju pengumpulan lebih dari 40 MB/s dalam tabel, kinerja pengumpulan mendekati batasnya.
Parameter | Deskripsi | Laju pengumpulan lebih dari 10 MB/s | Laju pengumpulan lebih dari 20 MB/s | Laju pengumpulan lebih dari 40 MB/s |
cpu_usage_limit | Ambang batas penggunaan CPU, dihitung per core.
Nilai 0.4 berarti Simple Log Service berusaha membatasi penggunaan CPU collector hingga 40% dari satu core. Jika penggunaan melebihi batas ini, LoongCollector secara otomatis restart. Ini adalah batas lunak. Penggunaan CPU aktual dapat melebihi nilai ini. Jika batas dilampaui selama lima menit, pemutus sirkuit dipicu dan LoongCollector secara otomatis restart. | 1 | 2 | 4 |
mem_usage_limit | Ambang batas penggunaan memori.
Laju pengumpulan, jumlah direktori dan file yang dipantau, serta blokir pengiriman berkaitan dengan parameter ini. Untuk informasi selengkapnya, lihat Batasan. Ini adalah batas lunak. Penggunaan memori aktual dapat melebihi nilai ini. Jika batas dilampaui selama lima menit, pemutus sirkuit dipicu dan LoongCollector secara otomatis restart. | 1024 | 2048 | 4096 |
process_thread_count | Jumlah thread untuk pemrosesan data.
Satu thread dapat menangani 24 MB/s penulisan data dalam mode minimalist atau 12 MB/s dalam mode ekspresi reguler penuh. Anda tidak perlu menyesuaikan parameter ini dalam kondisi normal. | 2 | 4 | 8 |
send_request_concurrency | Jumlah permintaan konkuren asinkron.
Jika Anda memiliki TPS tulis tinggi, Anda dapat mengatur nilai konkurensi yang lebih tinggi. Anda dapat memperkirakan bahwa satu permintaan konkuren mendukung throughput jaringan 0.5 MB/s hingga 1 MB/s, tergantung pada latensi jaringan. | 20 | 40 | 80 |
Latensi jaringan tinggi atau transmisi log tidak stabil
Anda mungkin mengalami kehilangan log, transmisi log duplikat, LoongCollector sering mencoba ulang, atau sering terjadi gangguan atau fluktuasi jaringan. Kemungkinan penyebabnya meliputi:
Lebar pita jaringan tidak mencukupi: Jika volume log yang dikumpulkan besar, lebar pita jaringan yang tidak mencukupi dapat menyebabkan akumulasi log dan peningkatan latensi.
Lingkungan jaringan tidak stabil: Koneksi lintas wilayah atau lintas jaringan dapat menyebabkan latensi jaringan atau kehilangan paket.
Solusi
Anda dapat menggunakan node edge CDN Alibaba Cloud untuk mempercepat pengumpulan log. Metode ini menawarkan keunggulan signifikan dalam latensi dan stabilitas jaringan dibandingkan pengumpulan melalui jaringan publik. Fitur ini dikenakan biaya tambahan berdasarkan jumlah data yang ditransfer.
Aktifkan fitur akselerasi transfer log lintas domain untuk proyek Anda.
Hentikan LoongCollector. Masuk ke server tempat LoongCollector diinstal dan jalankan perintah
sudo /etc/init.d/loongcollectord stop.Modifikasi titik akhir. Dalam file
/usr/local/ilogtail/ilogtail_config.json, ganti nilai parameterendpoint_listdi bawah parameterdata_serversdenganlog-global.aliyuncs.com. Hal ini mengubah nama domain yang digunakan untuk transmisi data menjadi Titik akhir percepatan.Mulai LoongCollector. Jalankan perintah
sudo /etc/init.d/loongcollectord start.
Entri log tunggal besar terpotong
Jika satu entri log terlalu besar, entri tersebut mungkin terpotong setelah pengumpulan. Hal ini terjadi karena ukuran maksimum untuk satu entri log adalah 512 KB (524.288 byte) secara default. Jika entri log melebihi ukuran ini, Simple Log Service akan memotongnya. Untuk log multi-baris yang dipisahkan berdasarkan ekspresi reguler untuk baris pertama, batas ukuran untuk setiap entri log yang dihasilkan juga 512 KB. Jika batas ini dilampaui, entri tersebut dipaksa dibagi menjadi beberapa entri.
Solusi
Dalam file
/usr/local/ilogtail/ilogtail_config.json, ubah nilai parametermax_read_buffer_size. Jika parameter tidak ada, tambahkan. Nilai maksimum untuk parameter ini adalah 8 MB (8.388.608 byte).Perhatikan bahwa penggunaan memori meningkat secara linear. Anda harus menyediakan memori sebesar
max_read_buffer_size × konkurensi file.Mulai ulang LoongCollector. Jalankan perintah
sudo /etc/init.d/loongcollectord restart.
Log yang lebih tua dari 15 menit hilang selama transmisi
Pengumpulan log mungkin tampak berfungsi, tetapi beberapa log hilang. Hal ini terjadi ketika timestamp log berbeda lebih dari 15 menit dari waktu server Simple Log Service saat ini. Untuk keamanan data, Simple Log Service memvalidasi timestamp setiap permintaan, termasuk permintaan dari LoongCollector, dan menolak permintaan dengan timestamp yang berbeda lebih dari 15 menit dari waktu server. Jika waktu lokal server diubah, misalnya ke waktu masa depan untuk pengujian, permintaan akan ditolak dan penulisan data gagal.
Solusi
Dalam file
/usr/local/ilogtail/ilogtail_config.json, ubah nilai parameterenable_log_time_auto_adjustmenjaditrue. Jika parameter tidak ada, tambahkan. Pengaturan ini memungkinkan waktu log secara otomatis menyesuaikan dengan waktu lokal server.Saat fitur ini diaktifkan, offset antara waktu Simple Log Service dan waktu lokal server ditambahkan ke waktu log. Karena offset hanya diperbarui saat permintaan ditolak, waktu log yang Anda kueri di Simple Log Service mungkin tidak sesuai dengan waktu penulisan aktual.
Mulai ulang LoongCollector. Jalankan perintah
sudo /etc/init.d/loongcollectord restart.
Beralih ke proyek di wilayah lain
Karena berbagai alasan, Anda mungkin perlu menyimpan log yang dikumpulkan dari server ke proyek baru.
Solusi
Untuk menggunakan kembali konfigurasi pengumpulan, simpan konten file konfigurasi pengumpulan sebelum melanjutkan. Proses uninstal akan menghapus file ini.
Uninstal LoongCollector dari server.
Pilih metode instalasi LoongCollector yang sesuai berdasarkan hubungan antara proyek baru dan server.
Jika Anda juga perlu mentransfer data historis ke proyek baru, tersedia dua metode:
Unduh log ke mesin lokal Anda, lalu gunakan fitur Impor File Log Historis untuk mentransfer log ke proyek baru.
Gunakan transformasi data untuk menyalin data dari proyek lama ke proyek baru.
Mengoptimalkan penundaan transmisi log yang panjang
Masalah ini terjadi ketika timestamp log di Simple Log Service lebih dari tiga detik setelah waktu pembuatan log di server. Kemungkinan penyebabnya meliputi:
Lebih dari 100 file dikumpulkan secara bersamaan, atau lebih dari 5.000 file berada di direktori yang dipantau, mengonsumsi banyak memori.
Traffic data log tinggi (misalnya, lebih dari 2 MB/s dalam mode minimalist atau lebih dari 1 MB/s dalam mode ekspresi reguler) menyebabkan penggunaan CPU tinggi.
Aktifkan CloudLens for SLS dan periksa penggunaan CPU host saat ini di bawah Collection Monitoring.
Laju pengiriman data LoongCollector ke Simple Log Service melebihi 10 MB/detik.
Aktifkan CloudLens for SLS dan periksa laju pengumpulan host saat ini di bawah Collection Monitoring.
Solusi
Sesuaikan jumlah file atau traffic data berdasarkan kemungkinan penyebab yang tercantum di atas. Jika Anda tidak dapat mengurangi penggunaan memori atau menurunkan traffic transmisi, lihat Perencanaan konfigurasi kinerja pengumpulan untuk menyesuaikan kinerja pengumpulan.
File konfigurasi umum lainnya
Berikut adalah file konfigurasi dan informasi lain yang digunakan LoongCollector selama waktu proses:
File konfigurasi pengumpulan LoongCollector (user_log_config.json)
Deskripsi: File ini mencatat informasi konfigurasi pengumpulan yang diperoleh LoongCollector dari Simple Log Service. File ini diperbarui setiap kali konfigurasi pengumpulan diperbarui. Jangan ubah file ini, kecuali untuk mengonfigurasi secara manual informasi sensitif seperti detail AccessKey atau kata sandi database.
Jalur: /usr/local/ilogtail/user_log_config.json.
Skenario: Anda dapat memeriksa file ini untuk memastikan apakah konfigurasi pengumpulan telah dikirim ke server. Jika file ini ada dan isinya sesuai dengan konfigurasi pengumpulan di Simple Log Service, berarti konfigurasi telah berhasil dikirim.
File catatan AppInfo (app_info.json)
Deskripsi: File app_info.json mencatat informasi seperti waktu startup LoongCollector, alamat IP yang diambil, dan hostname. File ini hanya untuk pencatatan. Modifikasi apa pun terhadapnya tidak berlaku.
Jalur: /usr/local/ilogtail/app_info.json.
Skenario: Anda dapat melihat informasi IP server yang diidentifikasi oleh Simple Log Service selama pengumpulan untuk memverifikasi kecocokannya dengan informasi IP dalam kelompok mesin berbasis IP di konsol Simple Log Service. Ini biasanya digunakan untuk mengatasi kegagalan heartbeat pada kelompok mesin berbasis IP.
Jika Anda telah mengatur binding hostname-ke-IP di file /etc/hosts server, alamat IP yang diikat akan diambil secara otomatis. Jika tidak ada binding hostname, alamat IP dari network interface card pertama akan diambil secara otomatis. Jika parameter working_ip dalam ilogtail_config.json diatur, nilainya digunakan sebagai alamat IP server.
Log waktu proses LoongCollector (loongcollector.LOG)
Deskripsi: File loongcollector.LOG mencatat log waktu proses LoongCollector. Tingkat log, dari terendah ke tertinggi, adalah INFO, WARN, dan ERROR.
Jalur: /usr/local/ilogtail/loongcollector.LOG.
Skenario: Jika terjadi error pengumpulan, pertama-tama gunakan Diagnosa dan monitor LoongCollector untuk memeriksa error. Kemudian, pecahkan masalah dengan merujuk ke jenis error pengumpulan log dan log runtime LoongCollector.
File ID pengguna
Deskripsi: File ini berisi ID akun Alibaba Cloud dari proyek tempat log yang dikumpulkan berasal. Nama file-nya adalah ID akun, tanpa ekstensi. Ini menunjukkan bahwa akun ini memiliki izin untuk mengakses dan mengumpulkan log dari server ini.
Jalur: /etc/ilogtail/users/{ID akun Alibaba Cloud}.
Skenario: Anda hanya perlu mengonfigurasi ID pengguna saat mengumpulkan log dari instans ECS non-Alibaba Cloud, server yang dikelola sendiri, atau server dari penyedia cloud lain. Jika beberapa akun perlu mengumpulkan log dari server yang sama, Anda dapat membuat beberapa file ID pengguna di server tersebut.
File pengenal kustom
Deskripsi: File ini digunakan untuk mengonfigurasi pengenal kustom. Pengenal ini digunakan sebagai konten untuk kelompok mesin pengenal kustom, yang membantu Simple Log Service menemukan LoongCollector di server dan membangun heartbeat.
Jalur: /etc/ilogtail/user_defined_id.
Skenario: Konfigurasi ini diperlukan saat menggunakan kelompok mesin pengenal kustom. Untuk informasi selengkapnya, lihat Kaitkan kelompok mesin dengan konfigurasi pengumpulan LoongCollector.
File CheckPoint
Deskripsi: Mekanisme checkpoint mencatat posisi pengumpulan saat ini untuk memastikan integritas log.
Jalur: Jalur default adalah
/tmp/logtail_checkpoint.Skenario: Anda dapat mengelola file checkpoint dengan memodifikasi file parameter startup. Untuk informasi selengkapnya, lihat Batasan.
Pertanyaan Umum
Cara upgrade saat server tidak dapat terhubung ke internet
Di server tempat Anda perlu melakukan upgrade
LoongCollector, jalankanuname -muntuk menentukan arsitektur sistem. Lalu, di server yang dapat mengakses jaringan publik, jalankan perintah yang sesuai. Ganti${region_id}dengan wilayah proyek Anda.Arsitektur ARM:
wget https://aliyun-observability-release-${region_id}.oss-${region_id}.aliyuncs.com/loongcollector/linux64/latest/loongcollector.sh;wget http://aliyun-observability-release-${region_id}.oss-${region_id}.aliyuncs.com/loongcollector/linux64/latest/aarch64/main/loongcollector-linux64.tar.gz;Arsitektur x86-64:
wget https://aliyun-observability-release-${region_id}.oss-${region_id}.aliyuncs.com/loongcollector/linux64/latest/loongcollector.sh;wget http://aliyun-observability-release-${region_id}.oss-${region_id}.aliyuncs.com/loongcollector/linux64/latest/x86_64/main/loongcollector-linux64.tar.gz;
Salin skrip instalasi dan paket ke server tempat Anda perlu melakukan upgrade
LoongCollector, lalu jalankan perintah berikut:chmod +x loongcollector.sh;./loongcollector.sh upgrade-local;