Bosh sahifa Wiki Filter plugin

Filter plugin

Filter plugin — collector yoki data pipeline ichidagi recordlarni parse, o‘zgartirish, boyitish, tanlash yoki olib tashlash uchun ulanadigan kengaytma komponentidir. U input va output orasida ishlaydi. Log pipelineida field qo‘shish, secretni maskalash, timestampni normalizatsiya qilish va routing tagini yaratish odatiy vazifalardir.

Processing modeli

Plugin har recordni qabul qilib, nol, bitta yoki bir nechta record qaytarishi mumkin. Nol natija drop, bir nechta natija split yoki fan-outga yaqin transformni bildiradi. Record tartibi saqlanishi implementationga bog‘liq.

Filterlar konfiguratsiya tartibida bajariladi. Parserdan oldin fieldga murojaat qilish ishlamaydi; redactiondan oldin tashqi enrichmentga yuborish sensitiveni ochishi mumkin. Pipeline graphi va bosqich ownershipi hujjatlashtiriladi.

Parsing

JSON, logfmt, CSV, regex yoki pattern parser raw message dan structured field chiqaradi. Parse failure recordning o‘zini yo‘qotmasdan parse_error bilan quarantine routega yuborilishi mumkin. Faqat successful ratio emas, yangi application version bo‘yicha xato ham kuzatiladi.

Timestamp parser timezone va locale ni hisobga oladi. Invalid vaqtni collector receive time bilan almashtirish tarixni yashirishi mumkin; original qiymat va fallback flag saqlanadi.

Transform va enrichment

Rename, remove, type conversion va computed field data modelni normalizatsiya qiladi. Kubernetes metadata yoki GeoIP enrichment tashqi cache va databasega tayanishi mumkin. Lookup sekin bo‘lsa pipeline throughputi pasayadi; bounded cache va timeout ishlatiladi.

Enrichment natijasi deterministic bo‘lmasligi mumkin. IP geolocation database yangilanganda bir xil eski log qayta ishlansa boshqa qiymat oladi. Reference dataset versioni provenance sifatida kerak bo‘lishi mumkin.

Redaction

Password, token va shaxsiy field allowlist yoki exact path bo‘yicha olib tashlanadi. Faqat regex bilan matndagi barcha secretni topish kafolatlanmaydi. Structured application logging sensitiveni source da chiqarilmasligini ta’minlaydi.

Hash pseudonymization correlationni saqlashi mumkin, ammo kichik domain qiymatini dictionary attack bilan topish ehtimol. Keyed HMAC va key rotation talabga qarab ishlatiladi. Pseudonymized data ham shaxsiy ma’lumot bo‘lishi mumkin.

Ishonchlilik va resurs

Plugin exceptioni butun collectorni yiqitmasligi kerak. Error handling recordni dead-letterga yuboradi yoki policy bo‘yicha drop qiladi. Cheksiz regex, katta nested JSON va decompression bomb CPU/xotirani egallashi mumkin; hajm va vaqt limitlari mavjud.

Third-party plugin collector process huquqida ishlaydi. Package signature, dependency va version nazorat qilinadi. Upgrade field semantikasini o‘zgartirsa sample regression test bilan aniqlanadi.

Xato izolatsiyasi

Plugin bitta noto‘g‘ri event sabab butun pipeline’ni to‘xtatmasligi uchun xatolar tasniflanadi. Schema mismatch kabi doimiy xato dead letter oqimiga beriladi; vaqtinchalik lookup xatosi cheklangan retry olishi mumkin. Fail-open siyosati eventni o‘zgartirmasdan o‘tkazadi, fail-closed esa uni ushlab qoladi; tanlov ma’lumot xavfsizligi va yo‘qotish talabiga bog‘liq. Har ikki holatda original payload, plugin versiyasi va xato turi diagnostika uchun xavfsiz metadata bilan qayd etiladi, maxfiy fieldlar esa logga chiqarilmaydi.

Ishlash xarajati

Har event uchun tashqi lookup bajarish throughputni keskin kamaytiradi. Cheklangan TTL cache takroriy qiymatlarni tezlashtiradi, lekin reference data yangilanganda stale natija berishi mumkin. Regex va script uchun execution time hamda input hajmi chegaralanadi. Plugin latency histogrami va CPU sarfi alohida kuzatilsa pipeline bottlenecki topiladi. Optimizatsiya natijani o‘zgartirmasligi regression namunalarida tekshiriladi.

Bog‘liq tushunchalar

Log collector, Input plugin, Output plugin, Data transformation, Redaction, Parsing, Log routing