Alerting we şowsuzlyklara jogap bermek
(Bölüm: Tehnologiýalar we infrastruktura)
Gysgaça gysgaça
Güýçli alerting, diňe "gyzyl metrika" däl-de, ulanyjy gymmatynyň bozulmagynyň alamatydyr. iGaming üçin SLO-geýtlar (gizlinlik, elýeterlilik, töleg öwrülişigi, Wagt-to-Wallet), multi-burn düzgünleri, on-call, eskalasiýa, ChatOps we runbooks-yň aýdyň rollary möhümdir. Maksat gyşarmany çalt görmek, düzedip bilýänlere habar bermek we indiki gezek has çalt we arzan jogap bermek üçin bilimleri düzetmek.
1) Esaslar: metrikden herekete
SLI → SLO → Alert: ölçenen hil → maksat derejesi → şertler "býudjet ýanýar".
Severity (SEV): SEV1 - möhüm (girdeji/GGR howp astyndadyr), SEV2 - çynlakaý, SEV3 - orta, SEV4 - kiçi.
Impact/Urgency: kim ejir çekýär (tutuş/sebit/tenant/kanal) we näderejede gyssagly (TTW ↑, p99 ↑, error-rate ↑).
Actionability: her duýduryşda - belli bir hereket (runbook + eýesi).
2) Signallaryň taksonomiýasy
ТехSLO: p95/p99 latency API, error-rate, saturation (CPU/IO/GPU), queue lag.
BusinessSLO: tölegleriň öwrülişigi (attempt → success), Wagt-to-Wallet (TTW), jedelleriň üstünligi, oýunlaryň başlanmagy.
Töleg ugurlary: PSP-spesifik metrikler (timeout/decline spikes).
Öň/jübi: RUM-metrika (LCP/INP), crash-rate, ssenariýalaryň sintetikasy (login/depozit/stawka/serişde).
3) Alerting syýasaty: SLO we burn-rate
SLI/SLO mysallary
Elýeterlilik 'payments-api' ≥ 99. 9% / 30d p95 `/deposit` ≤ 250 ms / 30d
'payments _ attempt → success' ≥ baseline − 0. 3% / 24h
TTW p95 ≤ 3 min/24h
Multi-window / Multi-burn (идея PromQL)
Fast burn: SLO-nyň kadadan 5-10 × çalt bozulmagy (5-15 minutda alert-page).
Slow burn: býudjetiň ýuwaş-ýuwaşdan tükenmegi (1-3 sagatda bilet + derňew).
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) Sesiň peselmegi we signallaryň hili
Hakykatyň dogry çeşmesi: agregatlar boýunça alertlemek (recording rules), agyr "çig" sözler däl.
De-duplikasiýa: Alertmanager 'service/region/severity' -ni toparlaýar.
Iýerarhiýa: ilki bilen iş/SLI üçin alert, aşakda - diagnostika hökmünde tehnometrika.
Basyş: planned-maintenance/reliz (düşündiriş) wagtynda, upstream-hadysalarda.
Kardinallyk: alert belliklerinde 'user _ id/session _ id' -ni ulanmaň.
Synag-alertleri: yzygiderli "okuw" triggerleri (kanallary, rollary, Runabuk-baglanyşyklary barlamak).
5) Alertmanager: marşrut we eskalasiýa
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" ]
Ideýa: SEV = page → PagerDuty/SMS; galanlary - Slack/bilet. Inhibisiýa has ýokary işjeň SEV-de pes derejedäki "sesleri" basyp ýatyrýar.
6) Grafana Alerting (goşmaça gatlak hökmünde)
Dashbordlarda merkezleşdirilen Alert rules (Prometheus/Loki/Cloud).
Contact points: PagerDuty/Slack/Email, Notification policies per folder.
Silences: meýilleşdirilen işler, göçmeler, goýberişler.
Paneliň awto-skrinshoty bilen "Snapshots".
7) On-call we "janly" prosesler
Aýlanyş: 1-nji setir (SRE/platforma), 2-nji setir (hyzmatyň eýesi), 3-nji (DB/Payments/Sec).
SLA reaksiýalary: ykrar etmek ≤ 5 min (SEV1), diagnostika ≤ 15 min, aragatnaşyk her 15-30 minutda.
Nobat kanallary: '#incident -warroom', '#status -updates' (diňe faktlar).
Runbooks: Her alertde baglanyşyk + ChatOps çalt buýruklary ('/rollback ', '/freeze', '/scale ').
Okuw duýduryşlary: her aý (adamlary, kanallary, runabuk-aktuallygyny barlamak).
8) Wakalar: Durmuş sikli
1. Detekt (alert/report/sintetika) → Acknowledge on-call.
2. Triaj: SEV/degen/gipotezany kesgitlemek, war-room açmak.
3. Durnuklaşdyryş: rulbuklar/yza gaýdyşlar/masştablar/aýratynlyklar.
4. Aragatnaşyk: status şablony (aşakda serediň), ETA/indiki ädimler.
5. Ýapmak: SLO-nyň dikeldilendigini tassyklamak.
6. Post-Incident Review (RCA): 24-72 sagatdan soň, aýyplamasyz, action items.
- Döwülen/kime täsir eden (sebit/tenant/kanal)
- Haçan başlandy/SEV
- Wagtlaýyn çäreler (mitigation)
- Indiki status täzelenmesi N minutdan soň
- Aragatnaşyk (Waka dolandyryjysy)
9) iGaming-iň aýratynlyklary: "agyryly" zolaklar we alertler
Payments/TTW: PSP wagtynyň paýy, kod boýunça şowsuzlyklaryň ösüşi, TTW p95> 3m.
Ýaryşlaryň iň ýokary derejesi: p99 API/oýunlaryň başlanýan wagty/queue lag; çäkleri/awto-skaýllary wagyz etmek.
Serişdeleriň netijeleri: Ekofisiň/el barlaglarynyň SLA-lary, ýurtlar boýunça çäkler.
Oýun üpjün edijileri: studiýalarda elýeterlilik, sessiýanyň başlanýan wagty, uçuşlaryň azalmagy.
RG/Compliance: uzyn sessiýalaryň/" dogonlaryň" partlamalary, bosagalardan geçmek - page däl-de, bilet + RG-topara habar.
10) Kadalaryň mysallary (goşmaça)
Ýokary gizlinlik 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"
Netijeleriň nobaty "ýanýar"
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"
Tölegleriň öwrülişigi
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 we awtomatlaşdyryş
Hereket düwmeleri bilen awto-posting alertleri: Stop canary, Rollback, Scale + N.
Buýruk gysgaltmalary: '/incident start ', '/status update', '/call
Botlar konteksti güýçlendirýär: soňky deploiler, endikler grafasy, söwda mysallary (exemplars), baglanyşykly biletler.
12) Wakadan soňky iş (RCA)
Faktlar: gören/synap gören, işlän wagty.
Root cause: tehniki we guramaçylyk sebäpleri.
Detections & Defenses: haýsy signallar kömek etdi/goýberdi.
Action items: anyk meseleler (SLO/alertler/kodlar/çäkler/synaglar/runabuk).
Due dates & owners: möhletler we jogapkärler; 2-4 hepdeden soň follow-up-sessiýasy.
13) Girizmegiň çek-sanawy
1. Esasy akymlar üçin SLI/SLO kesgitläň (API/Payments/Games/TTW).
2. Recording rules we multi-burn alert + Alertmanager marşrutyny sazlaň.
3. Aýlanyş, SLO reaksiýalary we güýçlenmeler bilen on-call giriziň.
4. Alertleri runbooks we ChatOps-toparlar bilen baglanyşdyryň.
5. Basyş/sessiz penjireleri, çykaryş/iş düşündirişlerini sazlaň.
6. Okuw duýduryşlaryny we oýun-gün ssenarilerini ediň (PSP güýji, p99 beýikligi, queue lag beýikligi).
7. Ölçäň Alert Quality: MTTA/MTTR,% noisy/false, coverage by SLO.
8. Yzygiderli RCA we bosagalara/proseslere täzeden garamak.
9. Biznes/sapport bilen status-aragatnaşyklary giriziň (şablonlar).
10. Hemme zady kod hökmünde resminamalaşdyryň: düzgünler, ugurlar, runabuk-baglanyşyklar.
14) Anti-patternler
"Her metrika" boýunça alerting → alert-fetig, ignor.
SLO ýok → "kadanyň" nämedigi we "ýanýandygy" belli däl.
Basyş/inhibisiýanyň ýoklugy → dublikatlaryň göçmegi.
Kiçijik wakalar üçin gije page (SEV Impact bilen deňeşdirip bolmaýar).
Runbook/eýesi bolmadyk alertler.
ChatOps/auditsiz "el" hereketleri.
RCA/Action items → hadysalaryň gaýtalanmagy ýok.
Netijeler
Alerting we jogap bermek düzgünleriň toplumy däl-de, bir prosesdir. SLO-ny multi-burn-alertler bilen baglanyşdyryň, aç-açan on-call-eskalasiýa guruň, ChatOps we janly Runabuk-i goşuň, RCA we okuw maşklaryny yzygiderli geçiriň. Şonda hadysalar az, gysga we arzan bolar we neşirler hatda iGaming-iň gyzgyn sagatlarynda-da öňünden aýdyp bolar.