GH GambleHub

Алертинг жана мүчүлүштүктөргө жооп

(Бөлүк: Технология жана инфраструктура)

Кыскача резюме

Күчтүү алертинг - бул жөн гана "кызыл метрика" эмес, колдонуучунун баалуулугун бузуу жөнүндө сигнал. iGaming үчүн SLO-гейтс (латенттүүлүк, жеткиликтүүлүк, төлөм конверсиясы, убакыт-коштомо), multi-burn эрежелери, on-call, эскалация, ChatOps жана runbooks так ролдору маанилүү. Максаты - тез четтөөнү көрүп, оңдой алгандарга кабарлоо жана кийинки жолу тезирээк жана арзан жооп берүү үчүн билимди оңдоо.

1) негиздери: иш-аракет үчүн метрика

SLI → SLO → Alert: өлчөнүүчү сапат → максаттуу деңгээл → шарттар "бюджет күйүп жатат".
Severity (SEV): SEV1 - критикалык (киреше/GGR коркунучта), SEV2 - олуттуу, SEV3 - орточо, SEV4 - кичинекей.
Impact/Urgency: ким жапа чегет (бардык/аймак/тенант/канал) жана канчалык шашылыш (TTW ↑, p99 ↑, error-rate ↑).
Actionability: ар бир коңгуроо - белгилүү бир иш-аракет (runbook + ээси).

2) Сигналдардын таксономиясы

ТехSLO: p95/p99 latency API, error-rate, saturation (CPU/IO/GPU), queue lag.
BusinessSLO: төлөмдөрдү которуу (attempt → success), Убакыт-to-Wallet (TTW), коюмдардын ийгилиги, оюндарды баштоо.
Төлөм жолдору: PSP-спецификалык метриктер (timeout/decline spikes).
Фронт/Мобил: RUM-метрика (LCP/INP), crash-rate, синтетикалык сценарийлер (логин/депозит/коюм/чыгаруу).

3) Алертинг саясаты: SLO жана burn-rate

SLI/SLO мисалдары

Жеткиликтүүлүк 'payments-api' ≥ 99. 9% / 30d p95 `/deposit` ≤ 250 ms / 30d

Конверсия 'payments _ attempt → success' ≥ baseline − 0. 3% / 24h

TTW p95 ≤ 3 мин/24h

Multi-window / Multi-burn (идея PromQL)

Fast burn: СЛОнун бузулушу нормадан 5-10 × тезирээк (5-15 мүнөттө алерт-пейдж).
Slow burn: бюджеттин жай күйүп кетүү (1-3 саат үчүн билети + талдоо).

yaml
API success proxy metric (recording rule in advance)
record: job:http:success_ratio expr:
sum(rate(http_requests_total{status=~"2..    3.."}[5m]))
/ sum(rate(http_requests_total[5m]))
Fast burn (99. 9% SLO)
alert: PaymentsSLOFastBurn expr: (1 - job:http:success_ratio{job="payments-api"}) > (1 - 0. 999) 14 for: 10m labels: { severity: "page", service: "payments-api" }
annotations:
summary: "SLO fast burn (payments-api)"
runbook: "https://runbooks/payments/slo"
Slow burn alert: PaymentsSLOSlowBurn expr: (1 - job:http:success_ratio{job="payments-api"}) > (1 - 0. 999) 6 for: 1h labels: { severity: "ticket", service: "payments-api" }

4) Ызы-чууну азайтуу жана сигналдардын сапаты

Чындыктын туура булагы: оор "чийки" сөздөрдү эмес, агрегаттарды (recording rules) алуу.
Deduplication: Alertmanager 'service/region/severity' боюнча топтойт.
Иерархия: адегенде бизнес/SLI боюнча алерт, төмөндө - диагностика катары техметрика.
Супрессия: planned-maintenance/release (аннотациялар) учурунда, upstream-окуялар менен.
кардиналдуулук: 'user _ id/session _ id' колдонбогула.
Тест-алерталар: үзгүлтүксүз "окуу" триггерлери (каналдарды, ролдорду, рунабук-шилтемелерди текшерүү).

5) Alertmanager: багыттоо жана эскалация

yaml route:
group_by: [service, region]
group_wait: 30s group_interval: 5m repeat_interval: 2h receiver: sre-slack routes:
- matchers: [ severity="page" ]
receiver: pagerduty-sre continue: true
- matchers: [ service="payments-api" ]
receiver: payments-slack

receivers:
- name: pagerduty-sre pagerduty_configs:
- routing_key: <PD_KEY>
severity: "critical"
- name: sre-slack slack_configs:
- channel: "#alerts-sre"
send_resolved: true title: "{{.CommonLabels. service }} {{.CommonLabels. severity }}"
text: "Runbook: {{.CommonAnnotations. runbook }}"

inhibit_rules:
- source_matchers: [ severity="page" ]
target_matchers: [ severity="ticket" ]
equal: [ "service" ]

Идея: SEV = page → PagerDuty/SMS; калган - Slack/билет. Ингибиция "ызы-чуу" төмөнкү денгээлде активдүү SEV жогору басат.

6) Grafana Alerting (кошумча катмар катары)

dashboard боюнча борборлоштурулган Alert rules (Prometheus/Loki/Cloud).
Contact points: PagerDuty/Slack/Email, Notification policies per folder.
Silences: пландаштырылган иш, көчүрүү, релиздер.
Snapshots auto-скриншот панели менен тикет.

7) On-call жана "жандуу" жараяндар

Ротация: 1-линия (SRE/платформа), 2-линия (сервистин ээси), 3-линия (DB/Payments/Sec).
SLA жооп: таануу ≤ 5 мин (SEV1), диагностика ≤ 15 мин, байланыш ар бир 15-30 мин.
Нөөмөт каналдары: '#incident -warroom', '#status -updates' (фактылар гана).
Runbooks: ар бир курсу + тез ChatOps команда шилтемени ('/rollback ', '/freeze', '/scale ').
Окуу сигналдары: ай сайын (адамдарды, каналдарды, рунабук-актуалдуулугун текшерүү).

8) Окуялар: жашоо цикл

1. Детект (алерт/репортаж/синтетика) → Acknowledge on-call.
2. Triage: SEV/таасир/гипотеза аныктоо, war-room ачуу.
3. Турукташтыруу: Roulbook/артка/масштабдоо/phicheflagy.
4. Байланыш: макам үлгүсү (төмөндө карагыла), ETA/кийинки кадамдар.
5. Жабуу: SLO калыбына келтирүү ырастоо.
6. Post-Incident Review (RCA): 24-72 саат, айыпсыз, action items.

Статус шаблону (кыска):
  • сынган/ким таасир эткен (аймак/тенант/канал)
  • Качан башталган/SEV
  • Убактылуу чаралар (mitigation)
  • Кийинки статус жаңыртуу N мүнөт
  • Байланыш (Инцидент-менеджер)

9) iGaming өзгөчөлүктөрү: "оору" зоналары жана Алерт

Payments/TTW: PSP Таймауттардын үлүшү, TTW p95> 3m код боюнча мүчүлүштүктөрдүн өсүшү.
Турнирлердин чокулары: p99 API/оюндарды баштоо убактысы/queue lag; лимиттерди/авто-скейлди пропагандалоо.
Акча каражаттарын алуу: SLA backofis/кол менен текшерүү, өлкөлөр боюнча лимиттер.
Оюн провайдерлери: студиялар боюнча жеткиликтүүлүк, сессияны баштоо убактысы, учуруулардын төмөндөшү.
RG/Compliance: узакка созулган сессиялар/" dogon" жарылып, босоголордун ашуусу - пейдж эмес, билет + RG командасына эскертүү.

10) Эрежелердин үлгүлөрү (кошумча)

Жогорку жашыруун p95 (API)

promql alert: HighLatencyP95 expr: histogram_quantile(0. 95,
sum by (le, service) (rate(http_request_duration_seconds_bucket{service="api"}[5m]))) > 0. 25 for: 10m labels: { severity: "page", service: "api" }
annotations:
summary: "p95 latency > 250ms"
runbook: "https://runbooks/api/latency"

Корутундулардын кезеги "күйүп жатат"

promql alert: WithdrawalsQueueLag expr: max_over_time(queue_lag_seconds{queue="withdrawals"}[10m]) > 300 for: 10m labels: { severity: "page", service: "payments-worker" }
annotations:
summary: "Withdrawals lag >5m"
runbook: "https://runbooks/payments/queue"

Төлөмдөрдү конвертациялоо

promql alert: PaymentConversionDrop expr:
(sum(rate(payments_success_total[15m])) / sum(rate(payments_attempt_total[15m])))
< (payment_conv_baseline - 0. 003)
for: 20m labels: { severity: "page", domain: "payments" }
annotations:
summary: "Payment conversion below baseline -0. 3%"
runbook: "https://runbooks/payments/conversion"

11) ChatOps жана автоматташтыруу

иш-баскычтары менен Auto Posting Alert: Stop canary, Rollback, Scale + N.

Команда кыскартуулар: '/incident start ', '/status update', '/call ', '/grafana '

Боттор контекстти тартат: акыркы деплойлор, көз карандылык графалары, трейс-мисалдар (exemplars), байланышкан билеттер.

12) Пост-окуя иш (RCA)

Фактылар: таймлайн, көргөн/аракет кылган, иштеген.
Root cause: техникалык жана уюштуруу себептери.
Detections & Defenses: кандай сигналдар жардам берди/алып.
Action items: конкреттүү тапшырмалар (SLO/алерттер/коддор/лимиттер/тесттер/рунабук).
Due dates & owners: мөөнөттөрү жана жоопкерчиликтүү; follow-up сессиясы 2-4 жумадан кийин.

13) Киргизүү чек-тизмеси

1. Негизги агымдар үчүн SLI/SLO аныктаңыз (API/Payments/Games/TTW).
2. recording rules жана multi-burn alerty + Alertmanager багытын орнотуу.
3. Айлануу, SLO реакциялар жана эскалациялар менен on-call киргизиңиз.
4. Runbooks жана ChatOps командаларына алерттерди байлаңыз.
5. Басуу/тынч терезелерди, релиздердин/иштердин аннотацияларын тууралоо.
6. көнүгүү жана оюн-күнү Script (PSP кулашы, өсүш p99, өсүш queue lag).
7. Alert Quality өлчөө: MTTA/MTTR,% noisy/false, SLO боюнча coverage.
8. Үзгүлтүксүз RCA жана босого/жараяндарды кайра карап чыгуу.
9. Бизнес/саппорт менен статус-коммуникацияларды киргизиңиз (шаблондор).
10. Баарын код катары документтештириңиз: эрежелер, каттамдар, рунабук шилтемелери.

14) Анти-үлгүлөрү

Alerting "ар бир метрика" → alert-fetig, ignor.
Жок SLO → "норма" жана "күйүп" түшүнүксүз.
Жок басуу/ингибиция → көчкү дубликат.
Пейдж кичинекей окуялар үчүн түнү (SEV Impact менен салыштырууга болбойт).
Runbook/ээси жок Алерта.
"Кол" иш-аракеттер жок ChatOps/аудит.
Жок RCA/Action items → окуяларды кайталоо.

Натыйжалары

Алертинг жана жооп берүү - бул эрежелердин жыйындысы эмес, процесс. SLOну multi-burn-alerts менен байланыштырыңыз, ачык-айкын on-call-эскалациясын куруңуз, ChatOps жана тирүү Runabuk-ди кошуңуз, RCA жана машыгууларды үзгүлтүксүз өткөрүңүз. Анда окуялар азыраак, кыска жана арзан болот, ал эми релиздер iGaming ысык сааттарда да алдын ала айтууга болот.

Contact

Биз менен байланышыңыз

Кандай гана суроо же колдоо керек болбосун — бизге кайрылыңыз.Биз дайым жардам берүүгө даярбыз!

Интеграцияны баштоо

Email — милдеттүү. Telegram же WhatsApp — каалооңузга жараша.

Атыңыз милдеттүү эмес
Email милдеттүү эмес
Тема милдеттүү эмес
Билдирүү милдеттүү эмес
Telegram милдеттүү эмес
@
Эгер Telegram көрсөтсөңүз — Emailден тышкары ошол жактан да жооп беребиз.
WhatsApp милдеттүү эмес
Формат: өлкөнүн коду жана номер (мисалы, +996XXXXXXXXX).

Түшүрүү баскычын басуу менен сиз маалыматтарыңыздын иштетилишине макул болосуз.