Bosh sahifa Wiki Log collector

Log collector

Log collector — host, container, application yoki tarmoq qurilmasidan log yozuvlarini o‘qib, ularni markaziy log tizimiga uzatadigan komponentdir. U inputdan data qabul qiladi, parse va enrich qiladi, buffer orqali outputga yetkazadi. Fluent Bit, Vector, Logstash va OpenTelemetry Collector log pipelineida shu vazifani bajarishi mumkin.

Input manbalari

Collector file tail, journald, syslog, container runtime, Windows Event Log yoki network socketdan o‘qishi mumkin. File input inode va offsetni checkpointda saqlaydi. Rotationda eski fayl rename qilinib yangisi yaratilsa collector qolgan satrlarni yo‘qotmasdan yangi inodega o‘tadi.

Copy-truncate usulida bir inode hajmi kichrayadi. Collector buni tanimasa yangi fayl boshidagi yozuvlarni o‘tkazib yuborishi mumkin. Multiline stack trace bir eventga birlashtiriladi; noto‘g‘ri start pattern boshqa request yozuvlarini qo‘shib yuboradi.

Parsing va boyitish

JSON va logfmt structured fieldlarni to‘g‘ridan-to‘g‘ri beradi. Plain text regex yoki parser plugin talab qiladi. Parse xatosi yozuvni jim tashlamasdan raw message va error flag bilan alohida routega yuborilishi mumkin.

Collector Kubernetes namespace, pod, container, host va cloud region metadata sini qo‘shadi. Metadata lookup cache va API rate limitga ega. User boshqaradigan labelni ishonchli tenant identity sifatida qabul qilish xavfli.

Buffer va backpressure

Output sekinlashsa memory yoki disk buffer vaqtinchalik yozuvlarni saqlaydi. Memory tez, process crashida yo‘qoladi. Disk persistent queue durabilityni oshiradi, ammo hajm, fsync, encryption va cleanup talab qiladi.

Buffer to‘lsa drop-oldest, drop-newest, inputni pause qilish yoki block siyosati tanlanadi. File input pause qilinsa log file rotationdan oldin diskda qolishi kerak. UDP syslog senderga backpressure bera olmaydi va packet yo‘qolishi mumkin.

Delivery semantikasi

At-least-once retry duplicate log keltirishi mumkin. Collector event ID, file offset va source metadata ni saqlasa backend deduplicationga yordam beradi. Exactly-once umumiy pipeline bo‘ylab odatda kafolatlanmaydi.

Output acknowledgement qaysi bosqichni anglatishi muhim: remote endpoint qabul qilishi, queuega yozishi yoki durable storagega commit qilishi mumkin. Checkpoint ackdan oldin yangilansa loss, juda kech yangilansa duplicate yuz beradi.

Xavfsizlik va kuzatuv

Collector ko‘p service logini ko‘rgani uchun sensitiveni markazlashtiradi. TLS, client authentication, file permission va least privilege ishlatiladi. Secret redaction sourcega yaqin bajariladi, lekin raw bufferda qiymat qolishi ehtimol ham hisobga olinadi.

Input rate, parsed error, dropped record, retry, buffer usage va output latency collectorning sog‘lomligini ko‘rsatadi. Canary log source dan backend querygacha end-to-end yetkazishni tekshiradi. Collectorning o‘z loglari loop qilib qayta ingest qilinmasligi kerak.

Holatni saqlash

Fayl collector oxirgi o‘qilgan offset va file identityni checkpointda saqlaydi. Faqat pathnamega tayanish log rotation paytida eski faylning davomini yo‘qotishi yoki yangi faylni noto‘g‘ri offsetdan o‘qishiga olib keladi. Inode yoki platformaga mos file ID rotationni ajratishga yordam beradi. Collector qayta ishga tushganda checkpoint va destination acknowledgment semantikasiga qarab ayrim yozuvni takror yuborishi mumkin. Downstream tizim duplicatega chidamli bo‘lishi, yozuvga barqaror event ID berilishi yoki kamida takrorlanish ko‘rsatkichlari kuzatilishi zarur.

Multiline loglarda stack trace satrlarini bitta eventga birlashtirish uchun boshlanish qoidasi ishlatiladi. Noto‘g‘ri qoida alohida hodisalarni qo‘shib yuborishi yoki bitta traceni parchalashi mumkin. Bufferning maksimal satr va vaqt chegarasi xotirani cheklaydi.

Bog‘liq tushunchalar

Log aggregation, Input plugin, Output plugin, Filter plugin, File tailing, Persistent queue, Backpressure