GH GambleHub

Сигналдар мен хабарламалар жүйесі

1) Рөлі мен мақсаттары

Сигналдар жүйесі - «хабарламаларды жіберу» емес, шешімдерді қабылдау контуры: ол ауытқуларды уақытында көрсетеді, іс-қимылдарды ұсынады және уақтылық пен тыныштық арасындағы теңгерімді сақтайды.

Мақсаттары:
  • MTTD/MTTR-ді басымдық беру және айқын плейбуктер есебінен төмендету.
  • Шуды азайту арқылы alert fatigue (хабарлаудың шаршауын) азайту.
  • Тікелей хабарламадан әрекеттер беру (ack, snooze, runbook, auto әрекет).
  • Құпиялылық пен келісімді сақтау (opt-in/opt-out, логты сақтау).

2) Оқиғалар таксономиясы және деңгейлер

2. 1 Оқиға түрлері

Метрика/аномалиялар (SRE, өнім, қаржы).
Бизнес-ережелер (лимиттер, фрод, KYC, төлемдер).
Жүйелік (деплой, тозу, лицензиялар).
Пайдаланушылар (мінез-құлық триггерлері, RG/жауапты ойын).

2. 2 Маңыздылық деңгейлері (Severity)

Critical - шұғыл реакция, жоғалту/қауіпсіздік тәуекелі.
High - KPI/SLO елеулі нашарлауы.
Medium - жұмыс уақытындағы әрекеттер қажет.
Low/Info - бақылау/контекст, дайджестерге авто-орау.

2. 3 Басымдық (Priority)

'Impact × Urgency' → P1..P4 матрицасы. Арналарға және SLA реакцияларына байланыстыру.

3) Сәулет және ағындар

Сигнал өндірушілер → Оқиғалар шинасы → Қалыпқа келтіру (enrich, дедуп) → Корреляция → Ережелер (policy engine) → Маршруттау → Жеткізу арналары → Таңдау орталығы → Логи/аналитика.

Негізгі компоненттер:
  • Enricher: тенантты, рөлді, аймақты, playbook сілтемелерін қосады.
  • Deduper: қайталанатын оқиғаларды кілт бойынша топтау.
  • Correlator: ұқсас сигналдарды оқиғаға жабыстыру.
  • Policy Engine: YAML/DSL ережелері, quiet hours, эскалация.
  • Delivery: in-app, email, push, SMS, webhook, чат-интеграция.

4) Ережелер мен саясат (YAML мысалы)

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) Дедупликация, корреляция, флаппингті басу

Дедуп: топ идентификаторы 'dedup _ key = hash (service' metric 'dim)'; TTL ≥ флаппинг терезесі.
Корреляция: топология (қызмет → тәуелділік), уақыт (± N мин) және контекст (релиз, инцидент) бойынша байланысты сигналдарды біріктіріңіз.
Флаппинг: «M минут ішінде оқиғалар N» табалдырығы → гистерезис немесе suppress көтеру ұсынысымен бір «flapping detected» сигналы.

6) Маршруттау және RACI

Responsible: бірінші хабарламаны кім алады/таск.
Accountable: SLA-дан кейін кім өршиді.
Consulted: тред/чат арнасында кімді атау керек.
Informed: дайджест/қорытындылар кімге кетеді.
Рөлі мен контексті бойынша тағайындаңыз (тенант, өңір, өнім-ағым).

7) Жеткізу арналары және нюанстар

АрнаҚашан пайдалану керекЕрекшеліктер/шектеулер
In-appЖедел, бірақ сындарлы емес; іс-әрекетБай UI, CTA, контексті
EmailДайджесттер, есептер, сындарлы емесЖоғалуы/сүзілуі мүмкін
PushМобильді кезекші команда үшінҰзындықты шектеу, тыныш сағат
SMS/PagerP1/P0 сынАқылы, қысқаша, салымсыз
WebhookИнтеграция (Jira, Slack, Ops)HMAC қолтаңбалары, ретраялары, іспеттілігі
Chat (Slack)Оқиға тренді, коллаборацияМәтіндік командалар (ack, assign)

Ретраи: 5хх/429/таймаут → backoff + jitter; 'Retry-After' құрметтеу. Ұқсастығы: вебхуктарда 'X-Notification-Id'.

8) Артықшылықтар орталығы (Preferences Center)

Оқиға түрлері, деңгейлер, арналар бойынша Opt-in/Opt-out.
Тыныштық кестесі (quiet hours), 15/30/60 минутқа қол snooze.
Шекті/сезімталдық (мысалы, аномалия ≥ 3 σ).
Тіл/локаль, уақыт/валюта пішімі.
Рөлдерге байланыстыру: SRE/Product/Finance үшін пресеттер.
Ашықтық: пайдаланушының неге сигнал алғанын көрсету (ережеге сілтеме).

9) Контент-дизайн: хабарлама құрылымы

Сыни сигнал үлгісі (P1):
  • Тақырып: қысқаша, триггермен: «[P1] [PSP _ TR] 3DS (+ 12%) істен шығудың күрт өсуі».
  • Контексті: кезең, қозғалған сегменттер/өңір, деректер көзі.
  • Себебі/гипотеза: «18:20 UTC PSP_X релизімен байланысты».
  • SLA/мерзім: «10 минуттан кейін эскалация».
  • CTA: "Плейбук ашу", "Fallback қосу PSP_Y", "Ack (30 мин)".
  • Сілтемелер: график, инцидент-тред, метрика, runbook.
  • Метадеректер: 'trace _ id', 'incident _ id', 'dedup _ key'.

Тон: фактілер, драмасыз; сандар мен өлшем бірліктері; аббревиатуралардың толық жазылмауын болдырмау.
Локализация: айнымалы → плейсхолдерлер, аудармалар ресурстарда сақталады; күндер/күндер - жергілікті жер бойынша.

10) Хабарламалардағы әрекеттер (Actionable)

Уақыт параметрлерімен Ack/Snooze.
Assign/Invite оқиғасы.
Runbook: мәтінмәнді автотолтыру шешімінің қадамдарын ашу.
One-click remediation (қауіпсіз жерде): маршрутты ауыстырып қосу, лимитті көтеру, джобаны қайта іске қосу (растау және аудит).
Өрістерді автотолтырумен (Jira/GitHub) тикет жасау.

11) Сигналдардың сапасы: метрика және мақсаттар

Precision (жіберілгендердің арасында релеванттық үлесі) ≥ үшін 80% P1/P2.
Recall (барлық оқыс оқиғалардың арасында анықталған үлесі) ≥ 70%.
Noise: пайдаланушыға орташа сигналдар/сағат (мақсатты төбе).
Ack-time p50/p95, Escalation rate, Snooze rate (шу индикаторы ретінде).
MTTD/MTTA/MTTR (домендер мен арналар бөлінісінде).
Silenced-but-should-alert (ережеге байланысты ауытқулар) - жеке дашборд.

12) Шуды басқару: тәсілдер

Гистерезис және табалдырыққа арналған «сырғымалы терезелер».
Детекциялау алдында тегістеу (EWMA).
Агрегация: 30 ұсақ орнына - топ-контрибьюторлары бар бір батч/дайджест.
Контекст лимиттері: N хабарлама/сағат/арна/пайдаланушы.
Автоматты кері байланыс: егер пайдаланушы қатарынан 3 × Snooze басса → табалдырығын көтеруді/арнаны өзгертуді ұсынады.

13) Қауіпсіздік, құпиялылық, комплаенс

HMAC-вебхуктар үшін қолтаңба, құпияларды ротациялау, 'X-Key-Id'.
RBAC/ABAC: рольдер/тенанттар бойынша сигналдардың көрінуі.
PII-ықшамдау, журналдағы маскалар, әрекеттер аудиті (ack/assign/runbook).
Келісімдер (consent) және хабарлау себептері (ереже/саясат) - payload.
Retention/TTL хабарламалар, оқиғалар бойынша Legal Hold.

14) Схемалар мен payload 'лар

Оқиға (ішкі)

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 }
}

Хабарлама (канал-агностик)

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) Өнімдегі UX-үлгілер

Инбокстар: Critical/High/Other қойындылары, сан бейдждері.
Инцидент таспасы: байланыстырылған сигналдар, таймлайн әрекеттер, «не істелді».
Сүзгілер: рөлі, домені, аймағы, уақыты, «тек жауапсыз».
Тізімдегі жылдам әрекеттер (ack/snooze/assign).
Explain: «неліктен оны көресіз» (ереже, табалдырықтар, деректер).
Дайджесттер: таңертеңгі/кешкі, TZ бойынша оқшауланған.

16) Тест-жоспар

Unit: дедуп-кілттер, гистерезис, флаппинг, сериализация payload's.
Integration: маршруттау, quiet hours, эскалациялар, арналар ретрайлері.
E2E: аномалиядан тикеттің жабылуына дейінгі Р1 сценарийі; P2 quiet hours → дайджест.
Chaos: арнаның жоғалуы (SMTP/SMS), кідірістер, сигналдардың көшкіні, clock-skew.
A11y/i18n: screen-readers, пернетақталық ack/snooze, сандарды/күндерді оқшаулау.

17) Сапа дашбордтары

Домендер бойынша Precision/Recall.
Ack time p50/p95 және уақтылы расталған үлесі.
Noise per user/hour және жоғары шулы ережелер.
Escalation rate және «жалған эскалациялар».
Suppressed vs Delivered (дайджестке қанша басылған/жинақталған).
User feedback :/хабарлар, шу түсініктемелері.

18) Чек парақтары

Жобалау

  • Оқиғалар таксономиясы мен деңгейлері келісілген
  • quiet hours/эскалация саясаты сипатталған
  • Дедуп/корреляция/флаппинг теңшелген
  • Арналар, ретрайлер, вебхуктардың ұқсастығы
  • Артықшылықтар орталығы (opt-in/out, snooze)
  • Мазмұн үлгілері және локализация
  • Ойнатқыштар және one-click әрекеттері (аудитпен)
  • Сапа өлшемдері және дашбордтар

Пайдалану

  • Тоқсанына бір рет шекті оңтайландыру
  • A/B ережелері (табалдырық, терезе, digest)
  • «Топ-шу» және CAPA тұрақты шолулары
  • Арналар құпияларын ротациялау (HMAC, SMTP, SMS)
  • Кесте бойынша дабыл тесті (game days)

19) Енгізу жоспары (3 итерация)

Итерация 1 - Базалық контур (2-3 апта)

Таксономия, severity/priority, артықшылықтар орталығы (in-app + email).
Дедуп, кілт/уақыт бойынша қарапайым корреляция, quiet hours.
Хабарлар үлгілері, ойнатқыштар, ack/snooze/assign.

Итерация 2 - Сенімділік және шуды азайту (3-4 апта)

Флаппинг/гистерезис, дайджесттер, чат-интеграциялары және вебхукилер (HMAC, ретраилер).
SLA бойынша эскалациялар, сапа дашбордтары (precision/recall, noise).
One-click remediation (растау және аудитпен).

Итерация 3 - Оңтайландыру және масштаб (үздіксіз)

Топология/релиздер бойынша корреляция, авто-ұсыныстар табалдырықтары.
A/B ережелері, «шегі қашан іске қосылады» болжамы.
Шуға шолулар және тұрақты game days.

20) Mini-FAQ

alert fatigue-мен қалай күресуге болады?
Дедуп, корреляция, гистерезис, дайджесттер және артықшылық орталықтары + шудың және A/B шектерінің тұрақты шолулары.

Аномалиялар үшін ML қажет пе?
Пайдалы, бірақ детерминирленген ережелерден және түсіндірілетін шектерден бастаңыз. ML - Explain-мен міндетті түрде қондырма ретінде.

Неліктен пайдаланушылар «артық» хаттарды алады?
Ереже матчтарын, quiet hours, «неге жеткізілді» аудитін тексеріңіз, арнаға/сағатқа лимиттерді және дайджесттерді теңшеңіз.

Жиынтығы

Күшті дабыл жүйесі - бұл ақылды сүзгілеу және дұрыс басымдық + бір басу арқылы әрекет ету. Таксономияны және саясатты ресімдеңіз, дедуп/корреляцияны/гистерезисті енгізіңіз, пайдаланушыларға бақылау (preferences, snooze) беріңіз, сенімді жеткізуді және «неге мен оны алдым» деген ашықтықты қамтамасыз етіңіз. Сонда дабылдар шу көзі емес, басқару құралы болады.

Contact

Бізбен байланысыңыз

Кез келген сұрақ немесе қолдау қажет болса, бізге жазыңыз.Біз әрдайым көмектесуге дайынбыз!

Интеграцияны бастау

Email — міндетті. Telegram немесе WhatsApp — қосымша.

Сіздің атыңыз міндетті емес
Email міндетті емес
Тақырып міндетті емес
Хабарлама міндетті емес
Telegram міндетті емес
@
Егер Telegram-ды көрсетсеңіз — Email-ге қоса, сол жерге де жауап береміз.
WhatsApp міндетті емес
Пішім: +ел коды және номер (мысалы, +7XXXXXXXXXX).

Батырманы басу арқылы деректерді өңдеуге келісім бересіз.