Uptime hasabatlary we SLA barlagy
1) Näme üçin resmi uptime-hasabat prosesi gerek?
Müşderileriň ynamy we şertnama aç-açanlygy - ölçegleriň ýeke-täk usuly, gaýtalanýan hasaplamalar.
SLO-ny we ýalňyşlyklaryň býudjetini dolandyrmak - goýberilişler we hadysalar bilen elýeterlilik faktynyň baglanyşygy.
Dogry SLA-karzlar - obýektiw formulalar, öňünden aýdyp boljak tölegler/hasaplar.
Hukuk durnuklylygy - subutnama binýady, garaşsyz audit, Legal Hold.
2) Adalgalar we serhetler
SLI Awailability - döwürde üstünlikli barlaglaryň/amallaryň paýy.
SLO - içerki maksat (mysal üçin, 99. 28 günde 95%).
SLA - daşarky borçnama (mysal üçin, 99. 9 %/aý + hyzmat karzlary).
Ölçeg penjiresi - senenama aýy (SLA) we rolling-penjireler (SLO).
Skope - haýsy komponentler (edge, API, tölegler), haýsylary däl (admin-portal, non-prod).
3) Hakykat çeşmeleri (we haçan esasy)
1. Sintetika (blackbox/headless) - "ulanyjynyň gözi bilen elýeterlilik" üçin esasy SLI.
2. Logi/metrika - ret etmegiň gerimini we häsiýetini tassyklaýar.
3. Işewürlik wakalary - "amalyň üstünligi" (mysal üçin, töleg ygtyýarly).
4. Status-sahypa - jemgyýetçilik aragatnaşygy; 1-3-nji belgili faktlar bilen deňeşdirilýär.
Tapawutlar ýüze çykanda: ≥ 2 sebitden dogry quorum bilen sintetikanyň ileri tutulmagy.
4) Elýeterliligi hasaplamagyň usuly
4. 1 Esasy formula
Availability = Успешные проверки / Все проверки
ErrorBudget = 1 − SLO
Downtime(m) = (1 − Availability) × Длительность_периода(в мин)
4. 2 Köp sebitli quorum
Eger Garaşsyz sebitleriň/ASN-iň N ≥ bir wagtyň özünde boýun gaçyrmagy hasaba alsa, waka hasaba alynýar.
Maslahat berilýär: 3-den N = 2 (EU/NA/APAC).
4. 3 SLI görnüşleri
HTTP SLI: код 2xx/3xx, latency ≤ T.
DNS/TLS SLI: NXDOMAIN/SERVFAIL/expiry.
SLI işi: üstünlikli amallar/ähli synanyşyklar (müşderiniň ret etmeginden başga).
4. 4 Kadadan çykmalar (documented)
Meýilleşdirilen maintenance penjireleri, öňünden yglan edilen N sagat we berjaý edildi.
SLA-dan Force majeure (mysal üçin, IX betbagtçylyk üpjün ediji) - diňe subutnamalar we köpçülige habar berlen ýagdaýynda.
Müşderi ýalňyşlyklary/çäklendirmeleri (quota exceeded, 4xx).
5) Penjireleriň maintenance syýasaty
Şertnamada ylalaşylan wagtlaýyn slotlar (mysal üçin, UTC + 0 boýunça 02: 00-04: 00).
Alertlerde/panellerde 'maintenance = true' bellikleri → SLI-den çykma.
Habarnamanyň çägi: azyndan 5 iş güni (ýa-da şertnamadaky ýaly).
Penjireden daşarda - SLA täsiri hasaplanýar.
6) Edge-wakalar we tegeleklemek düzgünleri
Brownout (bölekleýin ýaramazlaşma): "0/1" däl-de, şowsuzlyklaryň paýyny (weighted downtime) hasaplamak.
Flapping: iň az ölçeg birligi - synag aralygy (mysal üçin 30-60 sek) + hysteresis (for: 2-5 min).
Clock drift: UTC we ISO-8601 ähli döwürleri; NTP sinhronizasiýasy.
7) PromQL mysallary (sintetika → apteim)
HTTP barlagy:promql probe_success{job="blackbox-http"} == 1
p95 latency:
promql histogram_quantile(0.95, sum by (le, target) (rate(probe_http_duration_seconds_bucket[5m])))
Aýda SLA-aptaim (sekunt):
promql sum_over_time((probe_success==1)[30d]) / (30246060)
Kworum şowsuzlyklary (3 minutda 2 sebiti ≥):
promql sum by (target) (max_over_time((probe_success==0)[3m])) >= 2
8) SQL mysallary (hasabatyň agregasiýasy)
Aýlyk aptaim we downtaim:sql with checks as (
select target, ts, success -- success: 1/0 from synthetic_checks where ts >=:from and ts <:to
),
agg as (
select date_trunc('month', ts) m, target,
sum(success)::float / count() as availability from checks group by 1,2
)
select m, target, availability,
(1-availability) extract(epoch from (date_trunc('month', m) + interval '1 month' - date_trunc('month', m))) / 60 as downtime_minutes from agg;
Status sahypasy bilen deňeşdirme:
sql select a.m, a.target, a.downtime_minutes, s.incident_id, s.start_utc, s.end_utc from monthly_downtime a left join statuspage_incidents s on a.m = date_trunc('month', s.start_utc)
and tstzrange(s.start_utc, s.end_utc) && daterange(a.m, a.m + interval '1 month');
9) Aýlyk hasabatyň şablony (Customer-friendly)
yaml period: "2025-10-01..2025-10-31 (UTC)"
services:
- name: "API Edge"
sla: "99.90%"
measured_availability: "99.93%"
downtime:
total: "30m 14s"
windows:
- start: "2025-10-12T03:12Z"
end: "2025-10-12T03:38Z"
impact: "EU+NA, HTTP 5xx spike, p95>2s"
root_cause: "DB connection pool exhaustion"
rca_link: "INC-20251012-0312"
slo_budget:
period_target: "0.10%"
consumed: "0.07%"
- name: "Payments API"
sla: "99.95%"
measured_availability: "99.97%"
summary:
sla_breaches: 0 service_credits: 0 maintenance:
announced: 2 total_duration: "48m"
signatures:
generated_at: "2025-11-01T10:00Z"
report_id: "SLA-2025-10-API"
10) SLA-karzlar: hasaplamak we ulanmak
Karzlar tablisasy: mysal üçin 99. 0–99. 5% → 5% MRR; 98. 0–99. 0% → 10% we ş.m.
True-up: karz indiki hasap üçin credit note hökmünde ulanylýar.
Awtomatlaşdyrma: "eger 'measured _ availability <SLA' → 'credit _ note. create()`».
Müşderi üçin vitrin: "SLA credits balance" portal kartoçkasy.
11) Audit, subutnamalar we Legal Hold
Audit-trail: kim/näme/haçan hasaplady, usulyýetiň görnüşi, gözegçilik pullary.
Raw-maglumatlar üýtgemez (append-only); düzedişler - aýratyn ýazgylar bilen.
Legal Hold: maglumatlaryň diapazonyny doňdurmak (nusgalar, ýazgylar, waka kartoçkalary, alertler).
Arhiwiň göçürmesi: Garaşsyz ammar (Object Lock WORM/S3).
12) Köpçüligiň status-sahypasy bilen deňeşdirme
Status-sahypadaky hadysanyň taýmline we komponentleri bolmaly.
Wagt/masştab tapawudy → discrepancy-record tarapyndan döredilýär we RCA tarapyndan amala aşyrylýar.
Hasabatyň jeminde "Reconciliation Notes" bölümi bar.
13) Hadysalar we hasabat
Downtaýmyň her bir penjiresine INC-kartoçka (ID, SEV, eýesi, RCA, CAPA) laýyk gelýär.
Hasabatda: INC-e salgylanma, gysgaça root cause, CAPA statusy.
SEV-1 üçin: ýapylmakdan 48 sagat ≤ mowzuklaryň durmagy.
14) Maglumatlaryň hiline gözegçilik
Nusgalaryň arassaçylygy:> 99% üstünlikli agentler, geçişleriň ýoklugy> 5 minut.
Anti-ses: quorum + multi-window, debounce.
Trassalaryň/loglaryň sampleri ýazylýar we dokumentleşdirilýär.
Usulyýet synaglary: hasaplamalaryň birlik synaglary, taryhy maglumatlar boýunça altyn faýllar.
15) Howpsuzlyk we gizlinlik
ingest üçin TLS/mTLS, bukjalaryň goly (HMAC).
PII-loglarda/hasabatlarda redaksiýa; SLA-hasabat şahsy maglumatlary açyp görkezmeli däldir.
RBAC/ABAC hasabatlara; giriş yzlary audit-loga ýazylýar.
16) Daşbordlar we SLO-widjetler (näme görkezmeli)
"Overall availability" aýda/çärýekde.
Aşyk we detektor kanaly bilen Downtime windows.
Error budget burn (fast/slow) we trendler.
Releases overlay - hasaplamalaryň düşündirişleri.
SLA credits forecast - häzirki tendensiýada.
17) Durmuşa geçirmek meýilnamasy (3 iterasiýa)
1. Model we maglumatlar (2 hepde): SLI/SLO/SLA düzetmek, quorum-sintetikany goşmak, DWH-de "çig mal" ýygnamak.
2. Hasaplama we hasabat (2-3 hepde): formulalar, SQL/PromQL, YAML/PDF şablonlary, müşderi portaly, awto-karzlar.
3. Audit we awtomatlaşdyryş (3-4 hepde): Legal Hold, status-sahypa bilen reconciliation, gol çekilen webhuklar, jedelleriň düzgünleri.
18) Hasabatyň hiliniň çek-sanawy
- Skope, SLI, usulyýet we ölçeg penjiresi kesgitlenildi.
- quorum we multi-window bar; flapping basylýar.
- Kadadan çykmalar (maintenance/force majeure) resminamalaşdyryldy.
- Downtaýmyň her penjiresi INC we RCA bilen baglanyşykly.
- SLA karzlary hasaplandy we billingde görkezildi.
- Hasabaty köpeldýäris (formulalaryň/maglumatlaryň wersiýalary).
- Audit-trail we Legal Hold bar.
- Köpçüligiň status-sahypasy ylalaşyldy (reconciliation notes).
19) Mini-FAQ
Näme üçin sintetika esasy çeşme?
Ulanyjy ýoluna iň ýakyn we perimetri öz içine alýar (DNS/CDN/WAF). Metrikler/loglar - sebäbini anyklaýarlar.
Bölekleýin pese gaçmagy nädip hasaplamaly?
Deňagramly düşmek: şowsuzlyklaryň paýy "hemme zat ýa-da hiç zat" däl-de, penjiräniň dowamlylygy ×.
"Çig" barlaglary saklamak zerurmy?
Hawa. Jedelde audit we gaýtadan hasaplamak üçin raw hökmanydyr.
Jemi
Uptime-hasabatlary we SLA auditi "aýyň ahyrynda san" däl-de, ölçemeleriň, düzgünleriň we subutnamalaryň köpeldilýän ulgamy: dogry SLI, quorum-barlaglar, aç-açan formulalar, hadysalar we billing bilen baglanyşyk, kadadan çykmalara gözegçilik we Kanuny Hold. Usulyýeti düzäň, hasaplamany we karzlary awtomatlaşdyryň, audit-treýlini saklaň - SLA-laryňyz dolandyrylýan, düşnükli we goralýan bolar.