Log aggregation — turli server, container, qurilma va ilovalardan log yozuvlarini markaziy tizimga yig‘ish, qayta ishlash, indekslash va qidirish jarayonidir. Distributed muhitda bitta request bir nechta xizmatdan o‘tadi; loglar faqat mahalliy diskda qolsa incident paytida umumiy voqealar ketma-ketligini tiklash qiyinlashadi.
Yig‘ish arxitekturasi
Application stdout, fayl, syslog yoki journaldga yozishi mumkin. Agent node yoki hostdan yozuvlarni o‘qib collector yoki brokerga yuboradi. Central pipeline parse, enrich, route va storage bosqichlarini bajaradi. Fluent Bit, Vector, Logstash va OpenTelemetry Collector shu qatlamlarda ishlatiladigan vositalarga misol.
Sidecar har podga alohida collector qo‘shishi mumkin, daemon agent esa node dagi ko‘p container logini oladi. Sidecar konfiguratsiyani workloadga yaqinlashtiradi, lekin resurs va deployment sonini oshiradi. Node agent samaraliroq, ammo runtime log formatini tushunishi kerak.
Strukturali log
JSON log timestamp, level, service, event, trace ID va domen maydonlarini alohida saqlaydi. Plain text regex bilan parse qilinishi mumkin, lekin format o‘zgarishiga sezgir. Bir eventni bir nechta qatorda yozish multiline parserni talab qiladi; stack trace boshqa container yozuvi bilan aralashmasligi kerak.
Timestamp source vaqti, timezone va aniqlik bilan saqlanadi. Collector qabul vaqtini ham qo‘shishi mumkin. Soat siljishi sabab tartib faqat timestampga tayanmaydi; trace ID, sequence va broker offset qo‘shimcha kontekst beradi.
Yetkazish va backpressure
Agent tarmoq uzilganda local bufferga yozadi. Buffer cheklangan bo‘lmasa diskni to‘ldiradi, juda kichik bo‘lsa muhim log yo‘qoladi. At-least-once delivery duplicate yozuv keltirishi mumkin; storage event ID bilan deduplication qilishi yoki query buni hisobga olishi mumkin.
Log hajmi incident paytida keskin oshadi. Rate limit va sampling tizimni himoya qiladi, ammo error loglarni ko‘r-ko‘rona drop qilish diagnostikani yo‘qotadi. Priority, tenant quota va alohida audit oqimi ishlatiladi.
Indekslash va saqlash
Har fieldni indekslash qimmat. Service, level va vaqt kabi tez-tez filterlanadigan maydonlar indekslanadi; request payload kabi katta va high-cardinality data cheklanishi mumkin. Loki yondashuvida label indeksi kichik saqlanib, log matni chunklarda qidiriladi.
Retention log turi va huquqiy talabga bog‘liq. Debug log qisqa, audit yozuvi uzoqroq saqlanishi mumkin. Issiq storage tez qidiruv, arxiv esa arzon uzoq saqlash beradi. O‘chirish policy backup va replica nusxalariga ham tatbiq etiladi.
Xavfsizlik
Parol, access token, cookie va shaxsiy ma’lumot logga yozilmaydi. Pipeline masking yordam bersa ham eng to‘g‘ri nuqta applicationning o‘zida sensitiveni chiqarmaslikdir. Logga write qila oladigan hujumchi newline yoki soxta level bilan yozuvni qalbakilashtirishga urinishi mumkin; strukturali encoding buni kamaytiradi.
Query accessi tenant va data tasnifi bo‘yicha cheklanadi. Operator qidiruvlari audit qilinadi. Transport TLS bilan, storage encryption bilan himoyalanadi. Aggregatorning o‘zi yuqori qiymatli ma’lumot ombori hisoblanadi.
Sifat nazorati
Pipeline yangi application versiyasidagi fieldlarni noma’lum deb tashlab yubormasligi kerak. Parse failure rate, dropped entry, buffer usage va end-to-end ingestion delay monitoring qilinadi. Ma’lum canary logi davriy yuborilib, uning source dan querygacha yetishi tekshirilishi mumkin.
Collector konfiguratsiyasi syntaxdan tashqari sample loglar bilan unit test qilinadi. Redaction testi secret pattern chiqishda qolmaganini, routing testi audit yozuvi to‘g‘ri storagega borganini ko‘rsatadi. Konfiguratsiya rollouti agentlarning kichik qismidan boshlanadi.
Bog‘liq tushunchalar
Structured logging, Log collector, Centralized logging, Log stream, Retention, OpenTelemetry Collector, Loki