GH GambleHub

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.

Metodlar:
  • 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ı.

Qayda nümunəsi:
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.

Contact

Bizimlə əlaqə

Hər hansı sualınız və ya dəstək ehtiyacınız varsa — bizimlə əlaqə saxlayın.Həmişə köməyə hazırıq!

Telegram
@Gamble_GC
İnteqrasiyaya başla

Email — məcburidir. Telegram və ya WhatsApp — istəyə bağlıdır.

Adınız istəyə bağlı
Email istəyə bağlı
Mövzu istəyə bağlı
Mesaj istəyə bağlı
Telegram istəyə bağlı
@
Əgər Telegram daxil etsəniz — Email ilə yanaşı orada da cavab verəcəyik.
WhatsApp istəyə bağlı
Format: ölkə kodu + nömrə (məsələn, +994XXXXXXXXX).

Düyməyə basmaqla məlumatların işlənməsinə razılıq vermiş olursunuz.