GH GambleHub

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.

Sampling:
  • 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.

Contact

Biz bilan bog‘laning

Har qanday savol yoki yordam bo‘yicha bizga murojaat qiling.Doimo yordam berishga tayyormiz.

Integratsiyani boshlash

Email — majburiy. Telegram yoki WhatsApp — ixtiyoriy.

Ismingiz ixtiyoriy
Email ixtiyoriy
Mavzu ixtiyoriy
Xabar ixtiyoriy
Telegram ixtiyoriy
@
Agar Telegram qoldirilgan bo‘lsa — javob Email bilan birga o‘sha yerga ham yuboriladi.
WhatsApp ixtiyoriy
Format: mamlakat kodi va raqam (masalan, +998XXXXXXXX).

Yuborish orqali ma'lumotlaringiz qayta ishlanishiga rozilik bildirasiz.