GH GambleHub

Monitorizarea SLA și SLO

1) Termeni și roluri

SLA (Service Level Agreement) - obligație contractuală externă față de client (clauze de penalizare, credite).
SLO (Service Level Obiectiv) - țintă nivel de servicii interne care acceptă execuția SLA.
SLI (Service Level Indicator) - indicator măsurat, pe baza căruia sunt evaluate SLO/SLA.
Eroare Buget - procentul permis de „indisponibilitate/erori” pentru perioada: 'Buget = 1 − SLO'.
Domeniul de aplicare: măsurat prin ochii utilizatorului (end-to-end). În microservicii, atât la nivelul componentelor, cât și la nivelul traseului end-to-end.

2) selecție SLI: ce anume să măsurați

Criteriul este corelația cu experiența utilizatorului și valoarea afacerii.

SLI-uri tipice:
  • Disponibilitate: procentaj de solicitări de succes. „SLI = succes/toate”.
  • Latență: proporția cererilor este mai rapidă decât pragul T. „SLI = P (latență ≤ T)”.
  • Calitate: proporție de răspunsuri corecte (fără 5xx/functe. erori).
  • Date actualizate - Latență de replicare/ETL ≤ minute X.
  • Performanța procesului de afaceri: ponderea plăților/înregistrărilor de succes.

Anti-modele: numărați doar 200 ca „succes”, ignorând greșelile de afaceri; măsură în rețeaua de testare în loc de rețeaua de utilizatori.

3) Formule și ferestre de observare

Disponibilitate pe fereastră:
  • 'Availability = (OK_requests/ All_requests) × 100%'.
SLO după latenţă:
  • „P95 ≤ T” → este mai bine formulat ca o parte: „SLI =% din cereri ≤ T”.
  • Exemplu: „99% din interogările de căutare ≤ 300 ms în 28 de zile”.
  • Fereastră glisantă: 28 sau 30 de zile (echilibru de sensibilitate și stabilitate). Pentru incidente - ferestre suplimentare: 1 h, 6 h, 24 h.

4) Bugetul de eroare și controlul ratei de schimbare

Calcul: la 'SLO = 99. 9% 'buget =' 0. 1% "erori/indisponibilitate pe perioadă.

Politici:
  • Buget> 50%: lansări și experimente de plan.
  • Buget 10-50%: numai eliberări cu risc scăzut, înăsprirea canarilor.
  • Buget <10%: eliberarea înghețării, cauza rădăcinii, îmbunătățirea fiabilității.
  • Conexiune cu versiuni progresive: canar/feature-steaguri „mănâncă” bugetul în doze, cu auto-rollback sub degradare.

5) Politicieni de alertă: de la praguri la rata de ardere

De ce nu a „daupal SLO - ridica alerta”: prea târziu. Am nevoie de proactivitate.

Rata de ardere (BR) - rata de ardere bugetară:
  • 'BR = (eroare observată într-o fereastră scurtă/eroare permisă în această fereastră)'.
  • If 'BR> 1' - bugetul este consumat mai repede decât în mod normal.
Alerte în două ferestre (cele mai bune practici SRE):
  • Alertă rapidă (zgomotul este sensibil, captează dezastre): fereastră 5-10 minute, prag BR 14-20 ×.
  • Alertă lentă (captează degradarea târâtoare): fereastra 1-6 ore, pragul BR 2-4 ×.
  • Combinați condițiile: rapid sau lent lucrat - paginare de gardă.
  • Niveluri: pager pentru SLO-urile utilizatorilor, bilete/notificări pentru degradarea gri a SLI-urilor interne.

6) Observabilitatea și sursele adevărului

Jurnalele - diagnosticul cauzelor.
Metrica - SLI-uri numerice (succes/eroare, percentile de latență, fracții, contoare).
Trasee - prin căi, localizarea segmentelor „fierbinți”.
Sintetice - probe active de la periferie (region-conștient).
Evenimente reale - telemetrie ROM/client, valori de afaceri (conversie, plăți de succes).

Cerințe: o singură imagine în tablourile de bord ale lansărilor și incidentelor, adnotări „versiune/canar/pavilion”.

7) Design SLO: șablon pas cu pas

1. Descrieți calea critică (de exemplu, "depunere prin card').
2. Definiți SLI: succes/eroare, prag de latență, completitudine.
3. Sunt de acord SLO: 28 de zile țintă + excepții (ferestre programate).
4. Link către SLA: obligație legală ≦ SLO efectiv.
5. Atribuiți un proprietar de serviciu, RACI și canal de alertă.
6. Definiți politici de alertă (două ferestre BR) și auto-rollback.
7. Implementați raportarea: recenzii săptămânale ale bugetului, recenzii post-incident.
8. Revizuirea SLO trimestrială (schimbare de sarcină/arhitectură).

8) exemple SLO (șabloane)

API de plată:
  • Disponibilitate: '≥ 99. 95% "(28d, cu excepția ferestrelor anunțate ≤ 30 min/lună).
  • Latenţă: '≥ 99%' răspunsuri '≤ 400 ms'.
  • Succesul operațiunilor de afaceri: '≥ 98. 5% "autorizații de succes (se iau în considerare filtrele de fraudă).
Căutați jocuri/conținut:
  • Latență: "≥ 99%" cereri "≤ 300 ms'.
  • Relevanța cache-ului: „≤ 5 min” lag 99% din timp.
Evenimente de streaming (KYC/AML):
  • Livrare: '≥ 99. 9% "pentru" ≤ 60 "(end-to-end, cu retras).
  • Pierdere: '≤ 0. 01% "mesaje (idempotență/deduplicare activată).

9) Multi-regiune și multi-chiriaș

SLO „prin cohortă”: țară, furnizor de plăți, segment VIP, dispozitiv.
SLO-uri locale la margine: valori de la punctele cele mai apropiate de utilizator (edge/PoP).
Agregare: SLO total nu ar trebui să ascundă eșecurile în cohortele importante.
Furnizori de comutare: rute automate de rezervă la nivelul porții SLO.

10) Tablouri de bord și raportare

Tablou de bord lansare: versiune, canar (% trafic), SLI (succes/latență), BR, adnotări de pavilion.
Tabloul de bord de operare: buget de ardere pe zi, incidente de top, MTTR, cohorte de probleme.
Rapoarte săptămânale: soldul bugetar, tendințele BR, datoria tehnică (blocaje), planul de îmbunătățire.

11) Procese: Incidente, RCA și îmbunătățiri

Managementul incidentelor: alerta → evaluarea BR → scara canarilor/steagurilor → rollback/fix.
RCA (cauza principală): fapte/termene/ipoteze/corecții/verificarea efectului de către SLI.
Lecții învățate: postmortems non-punitive, elemente de acțiune obligatorii cu proprietarii și termene limită.
Închiderea buclei: modificări ale testelor, steaguri, limite, cache-uri, retribuții, cote.

12) Conformitate și audit

SLO/SLI ca artefacte de control (policy-as-code, jurnale imuabile).
Legătura cu cerințele (de exemplu, disponibilitatea tranzacțiilor de plată).
Dovezi: minute de alertă, rapoarte de buget, jurnale de lansare/rollback.

13) Greșeli frecvente și cum să le evitați

“99. 99% sau moartea": obiective de neatins → zgomot constant de alertă. Alegeți SLO-uri realiste.
Mediile globale ascund scufundările locale → introduc cohorte.
Metrics not e2e: SLO-uri ridicate în timpul degradării reale pe client → adăugați RUM/sintetice.
Alerte pe un singur prag → comutați la rata de ardere cu două ferestre.
Nu există nici o legătură la modificările → versiunile nu sunt adnotate, nu există nici o auto-rollback.

14) Lista de verificare a implementării Mini

  • Căile critice și SLI/SLO sunt descrise.
  • Fereastra de monitorizare și excludere este setată.
  • Sunt configurate alerte BR cu două ferestre (rapid și lent).
  • Tablouri de bord de lansări și operațiuni cu adnotări de versiuni/steaguri.
  • Politica bugetului de eroare afectează versiunile.
  • Revizuiri regulate ale bugetului și RCA-uri post-incidente.
  • Documentație și proprietarii de scorecard.

15) Exemplu de calcul (specific)

Disponibilitate API SLO: 99. 9% în 28 de zile → buget = 0. 1%.
Timp de 7 zile acumulate 0. 06% din erori → folosit 60% din bugetul săptămânal.
Pe o fereastră scurtă de 15 minute, se observă 2% din erori. Valabil pe această fereastră este '0. 1% × (15 min/40320 min) ≈ 0. 000037%`.
Burn Rate ≫ 1 (zeci de ×) → un pager rapid este declanșat, canarul se rostogolește înapoi la 1%, steagul caracteristicii UX degrade-payments pornește, RCA începe.

16) Linia de jos

Monitorizarea SLA/SLO nu este doar un număr din raport, ci un mecanism de gestionare a riscului de schimbări și a calității serviciilor. SLI-uri corecte, SLO-uri realiste, gestionarea bugetului de erori, alerte cu două ferestre și e2e-observabilitate transformă valorile în soluții de lucru: eliberați valoarea mai repede și mențineți experiența utilizatorului previzibilă.

Contact

Contactați-ne

Scrieți-ne pentru orice întrebare sau solicitare de suport.Suntem mereu gata să ajutăm!

Telegram
@Gamble_GC
Pornește integrarea

Email-ul este obligatoriu. Telegram sau WhatsApp sunt opționale.

Numele dumneavoastră opțional
Email opțional
Subiect opțional
Mesaj opțional
Telegram opțional
@
Dacă indicați Telegram — vă vom răspunde și acolo, pe lângă Email.
WhatsApp opțional
Format: cod de țară și număr (de exemplu, +40XXXXXXXXX).

Apăsând butonul, sunteți de acord cu prelucrarea datelor dumneavoastră.