Loglarni markazlashtirish
1) Nega loglarni markazlashtirish
Markazlashtirilgan loglar - kuzatuv, audit va komplayens asosi. Ular:- hodisalarning ildizlarini izlashni tezlashtiradi (request-id/trace-id bo’yicha korrelyatsiya);
- alomatlarga (xatolar, anomaliyalar) signal alertlarini qurish imkonini beradi;
- audit-iz (kim/qachon/nima qilgan) beradi;
- retensiya va saqlashni birxillashtirish hisobiga qiymatni pasaytiradi.
2) Bazaviy prinsiplar
1. Faqat tarkibiy loglar (JSON/RFC5424) - kalitsiz «free-text» mavjud emas.
2. Yagona kalitlar sxemasi:’ts, level, service, env, region, tenant, , , (masked), msg, kv...’.
3. Andoza korrelyatsiya: trace_id gatewaydan orqa tomonlarga va loglarga tashlang.
4. Minimal shovqin: to’g "ri darajalar, sempling, takrorlanishlar deduplikatsiyasi.
5. Xavfsizlik by design: PII-niqoblash, RBAC/ABAC, oʻzgarmas.
6. Iqtisodiyot: hot/warm/cold, siqish, agregatsiyalar, TTL va rehydration.
3) Namunaviy arxitekturalar
EFK/ELK: (Fluent Bit/Fluentd/Filebeat) → (Kafka — опц.) → (Elasticsearch/OpenSearch) → (Kibana/OpenSearch Dashboards). Universal qidiruv va agregatsiyalar.
Loki-oʻxshashlar (log-indeksatsiya): Promtail/Fluent Bit → Loki → Grafana. Katta hajmlar uchun arzonroq, kuchli label-filtr + chiziqli ko’rish.
Bulutlar: CloudWatch/Cloud Logging/Log Analytics + sovuq saqlash joyiga (S3/GCS/ADLS) va/yoki SIEMga eksport qilish.
Data Lake yondashuvi: shipperlar → obyekt saqlovi (parquet/iceberg) → so’nggi N kun uchun arzon tahliliy so’rovlar (Athena/BigQuery/Spark) + onlayn qatlam (OpenSearch/Loki).
Tavsiya: prod-onkoll uchun onlayn (7-14 kun hot) va arxiv (oy/yillar) qatlamini rehydrate imkoniyatiga ega bo’lgan lake-da saqlash.
4) Loglar sxemasi va formati (tavsiya)
Eng kichik JSON formati:json
{
"ts":"2025-11-01T13:45:12.345Z",
"level":"ERROR",
"service":"payments-api",
"env":"prod",
"region":"eu-central",
"tenant":"tr",
"trace_id":"0af7651916cd43dd8448eb211c80319c",
"span_id":"b7ad6b7169203331",
"request_id":"r-7f2c",
"user_id":"", // masked
"route":"/v1/payments/charge",
"code":"PSP_TIMEOUT",
"latency_ms":1200,
"msg":"upstream PSP timeout",
"kv":{"provider":"psp-a","attempt":2,"timeout_ms":800}
}
Standartlar: vaqt uchun RFC3339,’TRACE/DEBUG/INFO/WARN/ERROR/FATAL’toʻplamidan level, snake_case kalitlar.
5) Loglash va sempling darajalari
DEBUG - faqat dev/stage; bayroqdagi prodga va TTL bilan.
INFO - soʻrovlar/hodisalarning hayot sikli.
WARN - SLOga ta’sir qilmaydigan shubhali holatlar.
ERROR/FATAL - soʻrovga/foydalanuvchiga taʼsiri.
- takrorlanuvchi xatolar uchun rate-limit (masalan, 1/sek/kalit).
- tail-sempling trassalari (faqat «yomon» so’rovlar uchun to’liq loglar/treyslarni qoldirish).
- dinamik: xatolar bo’lganda tafsilotlarni kamaytirish, yig’ma xatolarni saqlab qolish.
6) Loglarni yetkazib berish (agentlar va shipperlar)
Fluent Bit/Filebeat/Promtail tugunida stdout fayllar/jurnallar yig’iladi, parsing, niqoblash, buferlash qilinadi.
Tarmoq navbatlari: Kafka/NATS cho’qqilar, retraylarni tekislash va tartibga solish uchun.
Ishonchliligi: backpressure, disk buferlari, yetkazib berish tasdig’i (at-least-once), idempotent indekslari (kalit-xesh).
Chetda filtrlash: tarmoqqa kirgunga qadar «gaplar» va sirlarni tashlash.
7) Indeksatsiya va saqlash
Vaqt bo’yicha partiyalashtirish (daily/weekly) + po’env/region/tenant’(indeks-shablon yoki leybllar orqali).
Saqlash qatlamlari:- Hot (SSD, 3-14 kun): tezkor qidiruv va alertlar.
- Warm (HDD/muzlatgich, 30-90 kun): ba’zan qidiramiz.
- Cold/Archive (obyekt, oy/yillar): komplayens va noyob tekshiruvlar.
- Siqish va rotatsiyalar: ILM/ISM (hayot sikli siyosati), gzip/zstd, downsampling (agregatsiya jadvallari).
- Rehydration: arxiv partiyalarini tergov uchun «issiq» klasterga vaqtincha yuklash.
8) Qidiruv va tahlil: namunaviy so’rovlar
Hodisa: ×’service =...’×’level> = ERROR’×’trace _ id ’/’ request _ id’.
Provayderlar:’code: PSP _’va’kv. provider: psp-a’ning mintaqa bo’yicha guruhlanishi.
Anomaliyalar: xabarlar chastotasining o’sishi yoki maydon taqsimotining o’zgarishi (ML-detektorlar, rule-based).
Audit:’category: audit’+’actor ’/’ resource’+ natija.
9) Metriklar va trastirovkalar bilan korrelyatsiya
Bir xil identifikatorlar:’trace _ id/span _ id’barcha uchta signalda (metriklar, loglar, treyslar).
Jadval linklari: p99 panelidan’trace _ id’loglariga oʻtish.
Relizlar izohlari: tezkor bogʻlash uchun metrik va loglardagi versiyalar/kanareykalar.
10) Xavfsizlik, PII va komplayens
Sohalar tasnifi: PII/sirlar/moliya - kirish joyida yashirish yoki olib tashlash (Fluent Bit/Lua-filtrlar, Re2).
RBAC/ABAC: rollar boʻyicha indeks/yorliqlardan foydalanish, row-/field-level-security.
Audit va regulyator talablari uchun o’zgaruvchanlik (WORM/append-only).
Retensiya va «unutish huquqi»: TTL/kalitlar bo’yicha olib tashlash,’user _ id’tokenlash.
Imzolar/xeshlar: tanqidiy jurnallarning yaxlitligi (ma’muriy harakatlar, to’lovlar).
11) SLO va log payplaynining metrikasi
Yetkazib berish: 99. Hot-qatlamdagi voqealarning 9% ≤ 30-60 sek.
Yo’qotishlar: <0. 01% 24 soat (nazorat belgilari bo’yicha).
Qidirish imkoniyati: ≥ 99. 28 kun ichida 9%.
So’rovlarning latentligi: namunaviy filtrlarda p95 ≤ 2-5 sek.
Narxi: $/1M voqealar va $/saqlash/GB qatlamlar kesimida.
12) Dashbordlar (minimal)
Payplaynning salomatligi: shipperlar, retralar, buferlarni toʻldirish, Kafka lag.
Services/kodlar boʻyicha xatolar: top-N, trendlar, pertsentili’latency _ ms’.
Audit-faollik: ma’muriy harakatlar, provayder xatolari, kirish.
Iqtisodiyot: hajm/kun, indeks-o’sish, qatlamlar bo’yicha narx, «qimmat» so’rovlar.
13) Operatsiyalar va pleybuklar
Log bo’roni: agentda agressiv sempling/rate-limitni yoqish, buferlarni ko’tarish, oqimning bir qismini vaqtincha warmga o’tkazish.
Sxemalar dreyfi: yangi kalitlar/turlar paydo bo’lishi uchun alert, sxemalarni kelishishni boshlash (schema-catalog).
Sekin qidirish: indekslarni qayta yig’ish, replikalarni ko’paytirish, «og’ir» so’rovlarni tahlil qilish, eski partiyalarni arxivlash.
Xavfsizlik hodisasi: o’zgarmaslikni darhol yoqish, artefaktlarni tushirish, rollarga kirishni cheklash, RCA.
14) FinOps: qanday qilib loglarda buzilmaslik kerak
Og’zaki so’zlarni olib tashlang: ko’p satrli stacktrace’ni’stack’maydoniga aylantiring va takrorlarni sample qiling.
’env ’/’ level ’/’ category’ uchun TTLni kiriting.
Noyob foydalanish uchun Loki/arxiv + on-demand rehydrate’dan foydalaning.
Partiyalar va siqish: katta partiyalar arzonroq, ammo SLA qidiruviga rioya qiling.
Tez-tez tahliliy hisobotlarni (kundalik agregatlar) materiallashtiring.
15) Instrumental misollar
Fluent Bit (yashirish va OpenSearchga yuborish)
ini
[INPUT]
Name tail
Path /var/log/app/.log
Parser json
Mem_Buf_Limit 256MB
[FILTER]
Name modify
Match
Remove_key credit_card, password
[OUTPUT]
Name es
Host opensearch.svc
Port 9200
Index logs-${tag}-${date}
Logstash_Format On
Suppress_Type_Name On
Nginx access log в JSON с trace_id
nginx log_format json escape=json '{ "ts":"$time_iso8601","remote":"$remote_addr",'
'"method":"$request_method","path":"$uri","status":$status,'
'"bytes":$body_bytes_sent,"ua":"$http_user_agent","trace_id":"$http_trace_id"}';
access_log /var/log/nginx/access.json json;
OpenSearch ILM siyosati (hot → warm → delete)
json
{
"policy": {
"phases": {
"hot": { "actions": { "rollover": { "max_age": "7d", "max_size": "50gb" } } },
"warm": { "min_age": "7d", "actions": { "forcemerge": { "max_num_segments": 1 } } },
"delete":{ "min_age": "90d", "actions": { "delete": {} } }
}
}
}
16) Joriy etish chek-varaqasi
- Dalalar sxemasi va loglar darajasi qabul qilindi; trace/request-id korrelyatsiyasi yoqilgan.
- Fluent Bit/Promtail (Fluent Bit/Promtail) kamuflyaj va buferlar bilan moslashtirilgan.
- Onlayn qatlam (OpenSearch/Loki/bulut) va arxiv (S3/GCS + parquet) tanlangan.
- ILM/ISM + hot/warm/cold retensiya siyosati, rehydrate-jarayon.
- RBAC/ABAC, audit uchun o’zgaruvchanlik, kirish jurnali.
- Payplayn dashbordlari, yo’qotish alertlari/lag/disk buferlari.
- Pleybuklar: bo’ron, drift sxemalari, sekin qidirish, xavfsizlik hodisasi.
- Moliyaviy limitlar: $/1M voqealar, «qimmat» so’rovlarga kvotalar.
17) Anti-patternlar
Tuzilmasiz matnli loglar → filtrlash va birlashtirish mumkin emas.
INFO → dagi ulkan stacktrace hajm portlashi.
Korrelyatsiya yo’qligi → Barcha xizmatlar bo’yicha «titrash».
«Hammasini abadiy saqlash» → samolyot kabi bulut hisobi.
Sirlar/PII jurnallarda → komplayens-xavflar.
Prod → dreyfdagi indekslarni qoʻlda tuzatish va qidirishning uzoq davom etishi.
18) Jami
Log’larni markazlashtirish shunchaki stek emas, balki tizimdir. Standartlashtirilgan sxema, korrelyatsiya, xavfsiz shipperlar, qatlam-qatlam saqlash va qat’iy foydalanish siyosati loglarni SRE, xavfsizlik va mahsulot uchun kuchli vositaga aylantiradi. To’g’ri retensiyalar va FinOps byudjetni saqlab qoladi, SLO payplaynlar va pleybuklar esa tergovni tezkor va takrorlanuvchan qiladi.