GH GambleHub

Ալերտինգը և արձագանքը ձախողումներին

(Բաժին ՝ Տեխնոլոգիաներ և ենթակառուցվածքներ)

Live ռեզյումե

Ուժեղ ալերթինգը ազդանշան է ռուսական արժեքի խախտման մասին, և ոչ միայն «կարմիր մետրը»։ IGaming-ը կարևոր է SLO-gats-ի համար (լատենտ, հասանելիություն, վճարումների փոխզիջում, Time-to-Wallet), multi-burn կանոնները, հստակ on-call դերերը, էսկալացիան, ChatOps-ը և runbooks-ը։ Նպատակն է արագ տեսնել շեղումը, տեղեկացնել նրանց, ովքեր կարող են շտկել իրենց գիտելիքները, որպեսզի հաջորդ անգամ ավելի արագ ու էժան արձագանքեն։

1) Հիմքեր ՝ մետրից դեպի գործողություն

SLI www.SLO www.Ale.ru: չափված որակը ստանդարտ մակարդակ է բյուջեին այրվում։

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.

Բիզնես SLO 'վճարման (attempt no success), Time-to-Wallet (TTW), մրցույթի հաջողությունը, խաղերի մեկնարկը։

Հիբրիդային երթուղիներ ՝ PMS-հատուկ չափումներ (timeout/decationspikes)։

Ռազմաճակատ/medaill: RUM-metrics (LCP/INP), crash-rate, international (lugin/dezosit/dence/եզրակացություն)։

3) Ալերտինգի քաղաքականությունը 'SLO և burn-rate

SLI/SLO օրինակներ

Հասանելիությունը 'payments-api' 3699։ 9% / 30d p95 `/deposit` ≤ 250 ms / 30d

Կոնվերսիա 'payments _ attempt www.success' www.baseline 240։ 3% / 24h

TTW p95 243 րոպե/wwwh

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

Fultburn: SLO-ի խախտումը 5-10-ից ավելի արագ է, քան նորմը (ալերտ-լայջը 5-15 րոպե)։

Slow burn: բյուջեի դանդաղ այրումը (tiket + վերլուծություն 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-ը խմբավորում է «07/region/severity»։

Հիերարխիա 'սկզբում ալերտը բիզնեսի/SLI-ի վրա, ներքևում' տեխնետրիկ, որպես ախտորոշիչ։

Supressia: planned-maintena.ru/intenta (ծանոթագրություններ), 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/ticet է։ Ինգիբիցիան ճնշում է ցածր մակարդակների «աղմուկը», երբ ակտիվ SEV-ն ավելի բարձր է։

6) Grafana Alerting (որպես շերտ)

Կենտրոնացված Alrules-ը dashbords-ում (Prometheus/Loki/Cloud)։

Contact points: PagerDuty/Slack/Email, Notification policies per folder.

Silences: Պլանավորված աշխատանք, հյուրանոցներ, ֆորումներ։

Diapshots-ը թիկետի վահանակի auto-սկրինշոտ է։

7) On-call և «կենդանի» գործընթացները

Ռոտացիան ՝ 1-րդ գիծը (SNE/պլատֆորմը), 2-րդ գիծը (մրցույթի սեփականատերը), 3-րդ (DB/Payments/Sec)։

SLA արձագանքը '245 րոպե (SEV1), ախտորոշումը 3,15 րոպե, հաղորդակցությունը յուրաքանչյուր 15-30 ռուբլիներում։

Հերթապահ ջրանցքները ՝ «# incident-warro.ru», «# status-medates» (միայն փաստերը)։

Runbooks: Հղում յուրաքանչյուր ալերտում + ChatOps-ի արագ թիմերը («/rollback », «/freeze», «/scale »)։

Ուսումնական մտահոգությունները ՝ ամսական (մարդկանց ստուգում, ջրանցքներ, ռունաբուկ-արդիական)։

8) Միջադեպեր ՝ կյանքի ցիկլ

1. Մանրամասն (alert/report/սինթետիկ) www.Acknowledge on-call։

2. Եռյակը 'որոշել SEV/տուժած/հիպոթեզը, բացել war-room։

3. Կայունացում 'ռուլբուկի/ռեպատ/մեծացում/ֆիչեֆլագի։

4. Հաղորդակցություն 'կարգավիճակի ձևը (տե՛ ս ներքևում), ET/հաջորդ քայլերը։

5. Մոսկվա 'SLO վերականգնման ապացույց։

6. Post-Incident Review (RCA) '24-72 ժամ անց, առանց մրցույթի, action items։

Ձիթենու կարգավիճակը (կարճ)

Ի՞ նչ է կոտրվել/ով է ազդել (շրջան/տենանտ/ջրանցք)

Երբ սկսվեց/SEV

Ժամանակավոր միջոցներ (mitigation)

Կարգավիճակի հաջորդ նորարարությունը N րոպեների ընթացքում

Կապ (Պատահականության մենեջեր)

9) iGaming-ի առանձնահատկությունները '«ցավոտ» գոտիներ և ալերտներ։

Payments/TTW 'Timauts PMS, կոդի ձախողումների աճը, TTW r95> 3m.

Մրցույթների պիկի 'p99 API/խաղերի մեկնարկի ժամանակը/queue lag; limits/auto-scail քարոզչություն։

Միջոցների եզրակացությունները 'SLA bekofis/ձեռքով ստուգումներ, երկրի սահմաններ։

Խաղերի պրովայդերները 'ստուդիաների հասանելիությունը, նստաշրջանի նախաձեռնման ժամանակը, գործարկման անկումը։

RG/Compli.ru: Երկար նստաշրջանների/» դոգոնի» աճը, շեմերի ավելացումը ոչ թե լանդշաֆտը, այլ ticet + ծանուցումը 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-ը և ավտոմատիզացիան

Alerts-ը գործողության կոճակներով 'Stop canary, Rollback, Scale + N.

Թիմային կրճատումներ ՝ "/incident start ", "/status corate", "/call , "/grafana "

Բոտերը քաշում են համատեքստը 'վերջին deploy, կախվածության գրաֆիկ, treiss-օրինակներ (exemplars), որոնք կապված են հյուսվածքների հետ։

12) Հետպատերազմյան աշխատանքը (RCA)

Փաստերն այն են, որ տայմլայնը, որ տեսել/թե ինչ են փորձել, ինչ է աշխատել։

Root cause: տեխնոլոգիական և կազմակերպական պատճառներ։

Detections & Windows: Ի՞ նչ ազդանշաններ օգնեցին/ամփոփեցին։

Action items: հատուկ առաջադրանքներ (SLO/alerts/2019/limits/թեստեր/runabuk)։

Due medes & owners 'ժամկետներ և պատասխանատու; follow-up նստաշրջան 2-4 շաբաթ հետո։

13) Ներդրման չեկի ցուցակ

1. SLI/SLO ստանդարտը հիմնական հոսքերի համար (API/Payments/Games/TTW)։

2. Patte recording rules և multi-burn ալտերտեր + Alertmanager-ի երթուղայնացումը։

3. Մուտքագրեք on-call լուծույթով, SLO ռեակցիաներով և էսկալացիաներով։

4. Միացրեք ալերտները runbooks և ChatOps-թիմերին։

5. Պարամետրեր/հանգիստ պատուհաններ, օրինագծեր/աշխատանք։

6. Պատրաստեք ուսուցման անհանգստություններ և game-day սցենարներ (PFC անկում, p99 աճը, queue lag աճը)։

7. Չափեք AlTA/MTTR,% intisy/false, coverage SLO-ում։

8. Express RCA-ը և շեմերի/գործընթացների իրականացումը։

9. Մուտքագրեք բիզնես/sapport (ձևանմուշներ) հետ։

10. Փաստարկեք ամեն ինչ որպես կոդ 'կանոններ, երթուղիներ, ռունաբուկ հղում։

14) Anti-patterna

Alerting-ը «յուրաքանչյուր մետրով» elert-fetig-ն է, անտեսանելի։

Ոչ SLO-ը պարզ չէ, որ «նորմ» և որ «այրվում» է։

Ճնշումների/ինգիբիցիայի բացակայությունը բացատրում է դուբլիկատների լավինը։

Փեյջը գիշերը մինոր իրադարձությունների համար (SEV-ը չի թողնի Impact-ի հետ)։

Alerts առանց runbook/սեփականատիրոջ։

«Ձեռքով» գործողություններ առանց ChatOps/2019։

Ոչ RCA/Action items-ը ռուսական իրավաբան է։

Արդյունքները

Ալերտինգը և արձագանքը գործընթաց են, ոչ թե կանոնների շարք։ Միացրեք SLO-ը multi-burn-alerts-ի հետ, կառուցեք պարզ on-call-էսկալացիա, ավելացրեք ChatOps-ը և կենդանի runabuck-ը, պարբերաբար անցկացրեք RCA-ն և ուսուցման դասընթացները։ Այդ ժամանակ միջադեպերը ավելի քիչ, կարճ և էժան կլինեն, իսկ օրինագծերը կանխատեսելի են նույնիսկ iGaming-ի տաք ժամերին։

Contact

Կապ հաստատեք մեզ հետ

Կապ հաստատեք մեզ հետ ցանկացած հարցի կամ աջակցության համար։Մենք միշտ պատրաստ ենք օգնել։

Սկսել ինտեգրացիան

Email-ը՝ պարտադիր է։ Telegram կամ WhatsApp — ըստ ցանկության։

Ձեր անունը ըստ ցանկության
Email ըստ ցանկության
Թեմա ըստ ցանկության
Նամակի բովանդակություն ըստ ցանկության
Telegram ըստ ցանկության
@
Եթե նշեք Telegram — մենք կպատասխանենք նաև այնտեղ՝ Email-ի дополнение-ով։
WhatsApp ըստ ցանկության
Ձևաչափ՝ երկրի կոդ և համար (օրինակ՝ +374XXXXXXXXX)։

Սեղմելով կոճակը՝ դուք համաձայնում եք տվյալների մշակման հետ։