Aptime və heartbeat monitorinqi
1) Niyə lazımdır
Perimetrdə və içəridə fasilələrin erkən aşkarlanması (edge, core).
İstifadəçi əlçatanlığının təsdiqi (yalnız «pod sağ» deyil).
SLA/SLO üzrə müqavilə hesabatları və hüquqi öhdəliklər.
heartbeat vasitəsilə fon proseslərinə (cron, ETL, ödəniş sinkləri) nəzarət.
Metodologiyalar: Golden Signals (latency/traffic/errors/saturation), RED, SLO və səhv büdcəyə bağlama.
2) Yoxlamalar növləri (synthetics)
ICMP: əsas şəbəkə/IP mövcudluğu.
TCP: port canlı/handshake (məsələn, 443/5432).
TLS: sertifikatların etibarlılığı/müddəti/zənciri.
HTTP (S): cavab kodu, latency, başlıqlar, body-də açar altlıqlar.
DNS: rezolv, TTL, NXDOMAIN/SERVFAIL.
Headless brauzer (istifadəçi yolu): login → hərəkət → logout.
Xüsusi probes: PSP sandbox ödəniş avtorizasiyası, daxili biznes sintetikası (deposit simulation).
İpuçları: Həm edge, həm də xüsusi enpontlar (VPC/K8s içərisindən) müxtəlif risk domenləridir.
3) Aptaym monitorinq arxitekturası
Regionlar üzrə sınaq agentləri (ən azı 3 geo-nöqtə).
HTTP/TCP/TLS/DNS üçün Blackbox ixracatçısı.
Yollarda sintetik (sequential steps) ayrıca; skriptləri saxlayın.
Prometheus/Mimir/Thanos: ölçü toplama, SLO/alert qaydası.
Alertmanager/Pager: P1/P2 marşrutu, eskalasiya.
Status Page: şəffaf biznes/müştəri yeniləmələri.
Log/Tracks: drilldown 'trace _ id '/korrelyasiya.
4) Sağlamlıq-end nöqtələri: dizayn
/ healthz (liveness) - «prosesin sağ olub-olmaması».
/ readyz (readiness) - «trafiki qəbul etməyə hazırdır».
/ startupz - «başlanğıc keçdi».
/ check - qabaqcıl iş sağlamlığı (vaxt və circuit-breaker ilə asan DB/cache yoxlamaları).
Semantic health: 200 kodu yalnız kritik asılılıqların işləməsi ilə; deqradasiya → 503.
Qaydalar: 2-3s ≤ taymaut, alt yoxlamalar məhdudlaşdırılır, cavablarda PII olmadan, ağır hissələri cache edin.
5) Heartbeat Job və Workers üçün
Dead Man 's Switch modeli: «tik» vaxtında gəlməsə - alert.
Istifadə: cron/ETL/invoys jobs, off-chain ödəniş yoxlama, fon işçilər.
- Push-heartbeat HTTP: job tamamlandıqdan sonra edir 'POST/heartbeat/< job>'.
- Metrics-pull: 'last _ success _ timestamp' sərgiləyin və «N dəqiqədən yuxarı» alertitesi.
- Watchdog: agentdən daimi siqnal; yox - alert «monitorinq qırılması».
6) Konfiqurasiya nümunələri
6. 1 Blackbox-exporter (HTTP + TLS + DNS)
yaml modules:
http_2xx:
prober: http http:
method: GET preferred_ip_protocol: "ip4"
fail_if_not_ssl: true valid_http_versions: ["HTTP/1. 1","HTTP/2"]
tls_config:
insecure_skip_verify: false headers:
User-Agent: "uptime-probe"
body: ""
ip_protocol_fallback: false
tls_cert:
prober: tcp tcp:
query_response: []
tls: true tls_config:
insecure_skip_verify: false
dns:
prober: dns dns:
query_name: "api. example. com"
valid_rcodes: ["NOERROR"]
preferred_ip_protocol: "ip4"
6. 2 Prometheus: hədəflər və joblar
yaml scrape_configs:
- job_name: 'blackbox-http'
metrics_path: /probe params:
module: [http_2xx]
static_configs:
- targets:
- https://api. example. com/healthz
- https://pay. example. com/readyz relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- target_label: __address__
replacement: blackbox-exporter:9115
- source_labels: [__param_target]
target_label: instance
6. Joba üçün 3 Heartbeat metrikası (Prometheus exporter)
Metrikanı nümayiş etdirin:
job_last_success_timestamp_seconds{job="settlement"} 1. 730000e+09
Alert:
promql
(time() - job_last_success_timestamp_seconds{job="settlement"}) > 900
6. 4 Watchdog (Dead Man’s Switch)
Alertmanager-də 'Watchdog' alertası üçün route (həmişə firing) → xəbərdarlıq gəlmirsə - monitorinq pozulur.
7) Aptime üçün PromQL nümunələri
HTTP mövcudluğu (0/1):promql probe_success{job="blackbox-http"} == 1
p95 latency nümunələri üzrə:
promql histogram_quantile(0. 95, sum by (le, instance) (rate(probe_http_duration_seconds_bucket[5m])))
TLS müddəti başa çatır <7 gün:
promql
(min_over_time(probe_ssl_earliest_cert_expiry[5m]) - time()) < 7243600
DNS səhvləri:
promql rate(probe_dns_rcode{rcode!="NOERROR"}[5m]) > 0
Uptime SLI (rolling 28d):
promql sum_over_time((probe_success==1)[28d]) / (28246060)
8) Alerting: eşik və anti-səs
Multi-region quorum: 2 bölgənin ≥ düşmə görürsə işləyir.
Multi-window: 1-5 dəq (sürətli kanal) + 30-60 dəq (sabit trend).
Həssaslıq: debounce/for: flapping qarşı 2-5 dəqiqə.
Korrelyasiya: aptaym alertini leyer metrlərlə (edge, DNS, WAF, origin) əlaqələndirin.
Maintenance windows: 'maintenance = true' etiketləri altında alertlərin sıxışdırılması.
promql
≥2 regions simultaneously failed sum by (target) (max_over_time (probe _ success = = 0) [3m]))> = 2
9) Çox regional və çox satıcı yoxlamalar
Minimum 3 coğrafiya (EU/NA/APAC) və müxtəlif ASN.
Öz nümunələri + xarici aptime provayderi.
IPv4/IPv6, HTTP/2/3, müxtəlif CDN RR və WAF profilləri.
10) Yoxlama təhlükəsizliyi
Allowlist IP diapazonları WAF/LB.
Rate-limits və kapça-baypas üçün end-point sağlamlıq/nümunələri.
Şəxsi sağlamlıq üçün başlıqların imzası (HMAC).
Xüsusi domenlər: ictimai sınaqlar və xüsusi (/internal/health).
/ healthz-də daxili versiyaları/konfigürləri qaytarmayın; yalnız statuslar.
11) SLO və aptaym hesabatı
SLI Availability: 2xx/3xx uğurlu HTTP nümunələrinin payı.
SLO nümunə: ≥ 99. Əksər bölgələrdə 28 gün ərzində 95%.
Səhv büdcə: '1 − SLO' → buraxılışları idarə edir.
Burn-rate alert: nümunələrin uğursuzluq payı üçün sürətli/yavaş kanal.
12) Heartbeat ödəniş və kritik job üçün
Jobs «pul ətrafında» (transfertlər, reyestrlər) - ikiqat nəzarət: heartbeat + biznes sayğacları (neçə qeyd emal edilmişdir).
«Sükut» (yeni hadisələr yoxdur> N dəqiqə) və lag (real-time geridə qalma).
13) Status-səhifələr
Komponentləri bölün (API, ödənişlər, backends, CDN).
Avtomatlaşdırılmış yeniləmələr, Comms rolu vasitəsilə əl şərhləri.
Hadisələrin tarixi, postmortem linkləri, planlaşdırılan işlər.
14) Hadisə prosesi ilə inteqrasiya
Alert SEV quorum qaydalarına görə + müddəti.
Avtomatik hadisə kartı yaradılması, war-room, IC təyinatı.
Rabitə şablonları (daxili/xarici), lazım olduqda Legal Hold.
Post-yoxlama: «Resolved» əvvəl X dəqiqə ≥ yaşıl sintetik.
15) Performans və dəyəri
Nümunə tezliyi: kritik - hər 30-60s; ikincili - 1-5 dəqiqə.
Saxlama: uzun pəncərələr üçün downsampling/recording rules.
Xarici provayderlərin büdcəsi: qabaqcıl brauzer ssenarilərini cədvəllə məhdudlaşdırın.
16) Keyfiyyət yoxlama siyahısı
- aydın semantika ilə/healthz ,/readyz ,/startupz var.
- ≥ 3 regiondan/ASN, IPv4/IPv6.
- TLS/DNS yoxlamalar və T-30/T-7/T-1 gün həyəcan.
- Heartbeat bütün kritik job (və biznes «sükut»).
- Multi-window + quorum, heç bir flapping.
- Drilldown: loads/track/dashboard düymələri.
- Status-səhifə və kommunikasiya şablonları.
- SLO/metrik və sahiblərinin sənədləşdirilməsi.
17) Tətbiq planı (3 iterasiya)
1. Həftə 1: Kritik domenlərdə HTTP/TLS/DNS blackbox testləri, status-səhifə, əsas risklər.
2. Həftə 2: çox regional, quorum qaydaları, heartbeat top job, Watchdog.
3. Həftə 3: başsız ssenarilər (login/deposit), SLO hesabatı, insident prosesi ilə inteqrasiya.
18) Mini-FAQ
Xarici nümunələr daxili nümunələrdən daha yaxşıdır?
Xarici istifadəçinin real yolunu (DNS/CDN/WAF), daxili - origin vəziyyətini görür. Hər ikisi lazımdır.
Ödənişli PSP-ləri yoxlamaq lazımdırmı?
Bəli: sandbox sintetik və status-səhifə monitorinqi; deqradasiya zamanı - avtomatik smart-routing.
Səs-küy necə azalır?
Quorum, multi-window, for-gecikmə, maintenance suppression, aydın SLO-eşik və sahiblik.
Yekun
Aptime monitorinqi yalnız pinq deyil. Bu sistem: çox-regional sintetik + keyfiyyətli sağlamlıq end-point + heartbeat job + SLO/alerting + status-səhifələr. Yoxlamaları standartlaşdırın, səs-küyü azaltın, nümunələri qoruyun və hər şeyi hadisə prosesi ilə əlaqələndirin - beləliklə MTTR-i azaldın və səhv büdcəni saxlayın.