GH GambleHub

Signallar va bildirishnomalar tizimi

1) Roli va maqsadlari

Signallar tizimi «xabarlarni yuborish» emas, balki qaror qabul qilish konturidir: u o’z vaqtida og’ishlarni yoritadi, harakatlarni taklif qiladi va o’z vaqtida va sukut o’rtasida muvozanatni saqlaydi.

Maqsadlar:
  • MTTD/MTTRni ustuvorlik va aniq pleybuklar hisobiga kamaytirish.
  • Shovqinni kamaytirish orqali alert fatigue (ogohlantirishlardan charchoq) ni kamaytirish.
  • Xabarnomadan toʻgʻridan-toʻgʻri harakat berish (ack, snooze, runbook, avtomatik yordam).
  • Maxfiylik va rozilikka rioya qilish (opt-in/opt-out, logni saqlash).

2) Voqealar taksonomiyasi va darajalari

2. 1 Voqealar turlari

Metrika/anomaliyalar (SRE, mahsulot, moliya).
Biznes-qoidalar (limitlar, frod, KYC, to’lovlar).
Tizimli (deploy, degradatsiya, litsenziya).
Foydalanuvchilar (xulq-atvor triggerlari, RG/mas’uliyatli o’yin).

2. 2 Ahamiyat darajasi (Severity)

Critical - darhol javob, yo’qotish/xavfsizlik xavfi.
High - KPI/SLOning sezilarli darajada yomonlashuvi.
Medium - ish vaqtidagi harakatlar talab etiladi.
Low/Info - kuzatish/kontekst, digestlarga avto-yig’ish.

2. 3 Ustuvorlik (Priority)

«Impact × Urgency» matritsasi → P1..P4. Kanallar va SLA reaksiyalarini bogʻlash.

3) Arxitektura va oqimlar

Signal ishlab chiqaruvchilar → Voqealar shinasi → Normallashtirish (enrich, dedup) → Korrelyatsiya → Qoidalar (policy engine) → Marshrutizatsiya → Yetkazib berish kanallari → Imtiyozlar markazi → Logi/analitika.

Asosiy komponentlar:
  • Enricher: tenant, rol, mintaqa, pleybuklarga havolalarni qoʻshadi.
  • Deduper: takrorlanadigan voqealarni kalitga qarab guruhlash.
  • Correlator: hodisaga tegishli signallarni yopishtirish.
  • Policy Engine: YAML/DSL qoidalari, quiet hours, eskalatsiyalar.
  • Delivery: in-app, email, push, SMS, webhook, chat integratsiyalari.

4) Qoidalar va siyosat (YAML misoli)

yaml policies:
- id: p_sre_critical match: { domain: "infra", severity: "critical" }
route:
primary: { channel: "pager", targets: ["oncall_sre"] }
fallback: { channel: "sms", delay: "2m" }
suppress:
flapping: {window: "10m," threshold: 5} # suppressing frequent twitching duplicates: {key: ["service, ""cluster,"" error _ code"], ttl: "15m"}
escalate:
after: "10m"
to: ["sre_manager"]
auto_assign: true
- id: p_product_medium match: { domain: "product", severity: "medium", kpi: "conversion" }
route:
primary: { channel: "inapp", audience: "product_owners" }
digest:
window: "1h"
max_items: 10 quiet_hours:
tz: "Europe/Kyiv"
ranges: ["22: 00-07: 00"] # only P1 digests/pager at this time

5) Dekuplikatsiya, korrelyatsiya, flappingni bostirish

Dedup: guruh identifikatori’dedup _ key = hash (service’metric’dim)’; TTL ≥ flapping oynasi.
Korrelyatsiya: topologiya (servis → qaramlik), vaqt (± N min) va kontekstga (reliz, hodisa) bog’liq signallarni birlashtiring.
Flapping: «M daqiqada N hodisalar» chegarasi → «flapping detected» bitta signal bilan gisterezis yoki suppress ko’tarish.

6) Yo’naltirish va RACI

Responsible: birinchi xabarni kim oladi?
Accountable: SLA dan keyin kim kuchayadi.
Consulted: tred/chat kanalida kim haqida gapirish kerak.
Informed: digest/natijalar kimga ketadi.
Rolga va kontekstga ko’ra tayinlang (tenant, mintaqa, mahsulot oqimi).

7) Yetkazib berish kanallari va nuanslar

KanalQachon ishlatishXususiyatlar/cheklovlar
In-appTezkor, ammo tanqidiy bo’lmagan; Hujjat matniBoy UI, CTA, kontekst
EmailDeyjestlar, hisobotlar, tanqidiy bo’lmaganYoʻqolishi/filtrlanishi mumkin
PushMobil navbatchi buyruq uchunUzunlik chegarasi, sokin soat
SMS/PagerP1/P0 tanqidPulli, lakonik, investitsiyalarsiz
WebhookIntegratsiyalar (Jira, Slack, Ops)HMAC imzolari, retrasi, idempotentligi
Chat (Slack)Hodisa tredi, hamkorlikMatn buyruqlari (ack, assign)

Retry: 5xx/429/taymaut → backoff + jitter;’Retry-After’ni hurmat qilish. Idempotentlik:’X-Notification-Id’vebxuklarda.

8) Imtiyozlar markazi (Preferences Center)

Opt-in/Opt-out hodisa turlari, darajalar, kanallar boʻyicha.
Sukunat jadvali (quiet hours), 15/30/60 daqiqaga qo’lda snooze.
Chegara/sezgirlik (masalan, anomaliya ≥ 3 σ).
Til/lokal, vaqt/valyuta formati.
Rollarga bogʻlash: SRE/Product/Finance uchun presetlar.
Shaffoflik: foydalanuvchi nima uchun signal olganini koʻrsatish (qoidaga havola).

9) Kontent-dizayn: xabar tuzilishi

Kritik signal namunasi (P1):
  • Sarlavha: qisqacha, trigger bilan: «[P1] [PSP _ TR] 3DS nosozliklarining keskin o’sishi (+ 12%)».
  • Kontekst: davr, ta’sirlangan segmentlar/mintaqa, ma’lumotlar manbai.
  • Sababi/faraz: «18:20 UTC PSP_X chiqarilishi bilan bog’liq».
  • SLA/muddat: «10 daqiqadan so’ng eskalatsiya».
  • CTA: "Pleybukni ochish", "Fallback yoqish PSP_Y", "Ack (30 daqiqa)".
  • Havolalar: grafik, hodisa-tred, metrika, runbook.
  • Meta maʼlumotlar:’trace _ id’,’incident _ id’,’dedup _ key’.

Ton: faktlar, dramatizatsiya qilmasdan; son va o’lchov birliklari; shifrsiz qisqartmalardan qochish.
Lokalizatsiya: o’zgaruvchan → pleysholderlar, tarjimalar resurslarda saqlanadi; sanalar/sanalar - lokal bo’yicha.

10) Xabarnoma harakatlari (Actionable)

Vaqt parametrlari bilan Ack/Snooze.
Assign/Invite hodisa trediga.
Runbook: kontekstni avtomatik toʻldirish bilan yechim qadamlarini ochish.
One-click remediation (xavfsiz joyda): yo’nalishni o’zgartirish, limitni ko’tarish, jobni qayta ishga tushirish (tasdiqlash va audit bilan).
Avto- toʻldirilgan Jira/GitHub chiptasini yaratish.

11) Signallar sifati: metrika va maqsadlar

Precision (jo’natilganlar orasida relevant ulushi) ≥ P1/P2 uchun 80%.
Recall (barcha hodisalar orasida aniqlangan ulushi) ≥ 70%.
Noise: foydalanuvchiga oʻrtacha soat/signallar (maqsadli shift).
Ack-time p50/p95, Escalation rate, Snooze rate (shovqin indikatori sifatida).
MTTD/MTTA/MTTR (domen va kanallar kesimida).
Silenced-but-should-alert (qoidalar tufayli o’tkazib yuborilgan) - alohida dashbord.

12) Shovqinni boshqarish: usullar

Ostonalar uchun gisterezis va «sirpanuvchi derazalar».
Deteksiya oldidan tekislash (EWMA).
Agregatsiya: 30 ta mayda o’rniga - top-kontribyutorli bitta batch/dajest.
Kontekst limitlar: N dan ortiq bo’lmagan xabarnomalar/soat/kanal/foydalanuvchi.
Avtomatik fikr: agar foydalanuvchi ketma-ket 3 × Snooze bossa → chegarani oshirish/kanalni o’zgartirish taklifini beradi.

13) Xavfsizlik, maxfiylik, komplayens

Vebxuklar uchun HMAC imzosi, sirlarni almashtirish,’X-Key-Id’.
RBAC/ABAC: rollar/tenantlar bo’yicha signallarning ko’rinishi.
PII minimallashtirish, log niqoblari, harakatlar auditi (ack/assign/runbook).
Rozilik (consent) va xabardor qilish sabablari (qoida/siyosat) - payload.
Retention/TTL xabarnoma log’lari, hodisalar bo’yicha Legal Hold.

14) Sxemalar va payload’lar

Hodisa (ichki)

json
{
"id": "sig_01HX",
"domain": "payments",
"severity": "high",
"priority": "P2",
"title": "The 3DS failure graph has grown to 8. 2% (+3. 1 pp), "
"occurred_at": "2025-11-03T17:55:00Z",
"context": { "psp": "PSP_X", "country": "TR", "release_id": "rel_241103_1820" },
"metrics": { "baseline": 5. 1, "current": 8. 2, "delta_pp": 3. 1 },
"dedup_key": "payments    PSP_X    TR    3DS_FAILURE",
"runbook": "rbk_psp_3ds_spike",
"slo": { "ack_deadline_sec": 600 }
}

Xabarnoma (agnostik kanal)

json
{
"notification_id": "ntf_91ab",
"signal_id": "sig_01HX",
"targets": ["oncall_payments"],
"channels": ["inapp","slack","webhook"],
"cta": [
{"id": "ack," "label": "Confirm (30 min)," "payload": {"ttl ":" 30m"}},
{"id": "runbook," "label": "Open playbook," "payload": {"id ": "rbk _ psp _ 3ds _ spike"}},
{"id": "fallback," "label": "Enable fallback, PSP_Y" "confirm": true}
],
"hmac": "sha256=AbCd..."
}

15) Mahsulotdagi UX-patternlar

Inboxlar: Critical/High/Other tablari, miqdor belgilari.
Hodisa tasmasi: bog’langan signallar, harakat taymline, «nima qilingan».
Filterlar: rol, domen, hudud, vaqt, «faqat javobsiz».
Roʻyxatdagi tezkor harakatlar (ack/snooze/assign).
Explain: «Nima uchun buni koʻryapsiz» (qoida, chegaralar, maʼlumotlar).
Daijestlar: ertalabki/kechki, TZ bo’yicha mahalliylashtirilgan.

16) Test-reja

Unit: dedup-kalitlar, gisterezis, flapping, payload’larni seriallashtirish.
Integration: marshrut, quiet hours, eskalatsiya, kanal retrasi.
E2E: anomaliyadan tiket yopilgunga qadar P1 stsenariysi; P2 quiet hours → digest.
Chaos: kanalni yo’qotish (SMTP/SMS), kechikishlar, ko’chki, clock-skew.
A11y/i18n: screen-readers, klaviatura ack/snooze, sonlar/sanalar lokalizatsiyasi.

17) Sifat dashbordlari

Precision/Recall.
Ack time p50/p95 va o’z vaqtida tasdiqlangan ulushi.
Noise per user/hour va eng shovqinli qoidalar.
Escalation rate va «soxta eskalatsiyalar».
Suppressed vs Delivered (qancha bostirilgan/dajjestga kiritilgan).
User feedback :/xabarlar, shovqin izohlari.

18) Chek varaqlari

Loyihalash

  • Voqealar taksonomiyasi va darajalari kelishilgan
  • Quiet hours/eskalatsiya siyosati
  • Dedup/korrelyatsiya/flapping sozlangan
  • Kanallar, retrajlar, vebxuklarning idempotentligi
  • Afzalliklar markazi (opt-in/out, snooze)
  • Kontent namunalari va lokalizatsiya
  • Pleybuklar va one-click harakatlari (audit bilan)
  • Sifat metrikasi va dashbordlar

Foydalanish

  • Chorakda bir marta chegaraviy optimallashtirish
  • A/B qoidalari (chegara, deraza, digest)
  • Muntazam «top-shovqin» va CAPA sharhlari
  • Kanallar sirlarini almashtirish (HMAC, SMTP, SMS)
  • Jadval boʻyicha signal testi (game days)

19) Joriy etish rejasi (3 ta iteratsiya)

Iteratsiya 1 - Bazaviy kontur (2-3 hafta)

Taksonomiya, severity/priority, afzalliklar markazi (in-app + email).
Dedup, oddiy kalit/vaqt korrelyatsiyasi, quiet hours.
Xabar namunalari, pleybuklar, ack/snooze/assign.

Iteratsiya 2 - Ishonchlilik va shovqinni kamaytirish (3-4 hafta)

Flapping/histerezis, digestlar, chat integratsiyalari va vebxuklar (HMAC, retray).
SLA bo’yicha eskalatsiyalar, sifat dashbordlari (precision/recall, noise).
One-click remediation (tasdiqlash va audit bilan).

Iteratsiya 3 - Optimallashtirish va masshtab (uzluksiz)

Topologiya/relizlar bo’yicha korrelyatsiya, chegaralarning avto-takliflari.
A/B qoidalari, «chegara qachon ishga tushadi» prognozi.
Shovqin sharhlari va muntazam game days.

20) Mini-FAQ

Alert fatigue bilan qanday kurashish kerak?
Dedup, korrelyatsiya, gisterezis, digestlar va afzallik markazlari + muntazam shovqin va A/B chegaralarini ko’rib chiqish.

Anomaliyalar uchun ML kerakmi?
Foydali, lekin aniqlangan qoidalar va tushunarli chegaralardan boshlang. ML - qoʻshimcha sifatida, albatta Explain bilan.

Nima uchun foydalanuvchilar «ortiqcha» xatlarni olishadi?
Qoidalar o’yinlari, quiet hours, «nima uchun yetkazib berildi» auditini tekshiring, kanal/soat limitlari va digestlarni moslang.

Jami

Kuchli signal tizimi - bu aqlli filtrlash va to’g’ri ustuvorlik + bir marta bosish. Taksonomiya va siyosatni rasmiylashtiring, dedup/korrelyatsiya/histerezisni joriy qiling, foydalanuvchilarga nazorat (preferences, snooze) bering, ishonchli yetkazib berish va «nega men buni oldim» degan shaffoflikni ta’minlang. Shunda signallar shovqin manbai emas, balki boshqaruv vositasiga aylanadi.

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.