GH GambleHub

Aptaym va heartbeat monitoringi

1) Nima uchun bu zarur?

Perimetri va ichkarisidagi nuqsonlarni erta aniqlash.
Foydalanuvchini tasdiqlash (nafaqat «tirik»).
SLA/SLO bo’yicha kontrakt hisoboti va yuridik majburiyatlar.
Orqa fon jarayonlarini (cron, ETL, to’lov sinklari) heartbeat orqali boshqarish.

Metodologiyalari: Golden Signals (latency/traffic/errors/saturation), RED, SLO va noto’g "ri byudjetga bog’lash.

2) Tekshirish turlari (synthetics)

ICMP: asosiy tarmoq/IP foydalanish imkoniyati.
TCP: port tirik/handshake (masalan, 443/5432).
TLS: sertifikatlarning haqiqiyligi/muddati/zanjiri.
HTTP (S): javob kodi, latency, sarlavhalar, body’dagi asosiy kichik satrlar.
DNS: rezolv, TTL, NXDOMAIN/SERVFAIL.
Headless brauzer (foydalanuvchi yoʻli): login → harakat → logout.
Custom probes: sandbox PSPda toʻlov avtorizatsiyasi, ichki biznes-sintetika (deposit simulation).

Maslahatlar: edge va shaxsiy endpointlarni (VPC/K8s ichidan) tekshiring - bu turli xavf domenlari.

3) Aptaym-monitoring arxitekturasi

Hududlar bo’yicha sinov agentlari (kamida 3 geo-nuqta).
HTTP/TCP/TLS/DNS uchun Blackbox eksport qiladi.
Yo’llar bo’yicha sintetika (sequential steps) alohida; skriptlarni saqlang.
Prometheus/Mimir/Thanos: metriklarni yigʻish, SLO/alertlar qoidasi.
Alertmanager/Pager: P1/P2, eskalatsiyani yoʻnaltirish.
Status Page: biznes/mijozlar uchun shaffof yangilanishlar.
Logi/trassalar: drilldown’trace _ id ’/korrelyatsiya.

4) Health-endpointlar: dizayn

/ healthz (liveness) - «jarayon tirikmi».
/ readyz (readiness) - «trafikni qabul qilishga tayyor».
/ startupz - «ishga tushirildi».
/ check - kengaytirilgan biznes-health (taymaut va circuit-breaker bilan BD/keshni oson tekshirish).
Semantic health: 200 kod faqat tanqidiy bog’liqliklar ishlashi mumkin bo’lganda; degradatsiya → 503.

Qoidalar: taymaut ≤ 2-3s, cheklanadigan kichik tekshiruvlar, javoblarda PIIsiz, og’ir qismlarni keshlang.

5) Job va ustalar uchun Heartbeat

Dead Man’s Switch modeli: agar «tik» o’z vaqtida kelmasa - alert.
Foydalanish: cron/ETL/invoys-joblar, off-chain to’lovlarni tekshirish, fon vorkerlari.

Usullar:
  • Push-heartbeat HTTP: joba tugagach’POST/heartbeat/< job>’qiladi.
  • Metrics-pull:’last _ success _ timestamp’ni ko’rgazmaga qo’ying va «N daqiqadan katta» alertitasini qo’ying.
  • Watchdog: agentdan doimiy signal; yo’qolgan - «monitoring uzilishi» alertlari.

6) Konfiguratsiya namunalari

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: targetlar va 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. 3 Joblar uchun Heartbeat-metrika (Prometheus exporter)

Metrikani namoyish qiling:

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’ga’Watchdog’(doimo firing) uchun route’ni kiriting → agar ogohlantirish kelmasa, monitoring buziladi.

7) Aptaym uchun PromQL namunalari

HTTP (0/1):
promql probe_success{job="blackbox-http"} == 1
Namunalar bo’yicha p95 latency:
promql histogram_quantile(0. 95, sum by (le, instance) (rate(probe_http_duration_seconds_bucket[5m])))
TLS muddati tugaydi <7 kun:
promql
(min_over_time(probe_ssl_earliest_cert_expiry[5m]) - time()) < 7243600
DNS xatolari:
promql rate(probe_dns_rcode{rcode!="NOERROR"}[5m]) > 0
Uptime SLI (rolling 28d):
promql sum_over_time((probe_success==1)[28d]) / (28246060)

8) Alerting: ostonalar va shovqinga qarshi

Multi-region quorum: Agar 2 mintaqa ≥ yiqilishni ko’rsa, bu ishlaydi.
Multi-window: 1-5 min (tezkor kanal) + 30-60 min (barqaror trend).
Sezuvchanlik: debounce/for: flappingga qarshi 2-5 daqiqa.
Korrelyatsiya: aptaym-alertni leyer-metriklar (edge, DNS, WAF, origin) bilan bog’lang.
Maintenance windows:’maintenance = true’tagidagi alertlarni bostirish.

Qoidaga misol:
promql
≥2 regions simultaneously failed sum by (target) (max_over_time (probe _ success = = 0) [3m]))> = 2

9) Ko’p mintaqaviy va ko’p vendorli tekshiruvlar

Kamida 3 ta geografiya (EU/NA/APAC) va turli xil ASN.
Takrorlang: o’z namunalaringiz + tashqi aptaym provayderi.
IPv4/IPv6, HTTP/2/3, turli CDN ROR va WAF profillari.

10) Tekshirishlar xavfsizligi

Allowlist IP diapazonidagi namunalar WAF/LB.
Rate-limits va kapcha-baypas uchun endpint health/namunalar.
Shaxsiy health uchun sarlavhalar imzosi (HMAC).
Alohida domenlar: ommaviy namunalar va xususiy (/internal/health).
Ichki/konfigür versiyalarini/healthz ga qaytarmang; faqat maqomlar.

11) SLO va aptaym bo’yicha hisobot

SLI Availability: 2xx/3xx muvaffaqiyatli HTTP namunalari ulushi.
SLO misoli: ≥ 99. Aksariyat hududlarda 28 kun ichida 95%.
Xato byudjet:’1 − SLO’→ relizlarni boshqaradi.
Burn-rate alertlar: sinov muvaffaqiyatsizliklari ulushi uchun tez/sekin kanal.

12) To’lov va tanqidiy joblar uchun Heartbeat

Joblar «pul atrofida» (transferlar, reyestrlar) - ikki tomonlama nazorat: heartbeat + biznes hisoblagichlar (qancha yozuvlar qayta ishlangan).
Alertlar «sukunat» (yangi voqealar yo’q> N daqiqa) va lag (real-time orqada).

13) Maqom-sahifalar

Komponentlarni ajrating (API, toʻlovlar, backendlar, CDN).
Alertlardan avtomatik yangilanishlar, Comms roli orqali qo’lda sharhlar.
Hodisalar tarixi, postmortem-havolalar, rejalashtirilgan ishlar.

14) Hodisa-jarayon bilan integratsiya qilish

Alert SEV qoidalari bo’yicha quorum + davomiyligi.
Avto- hodisa kartochkasini yaratish, war-room, IC vazifasi.
Aloqa namunalari (ichki/tashqi), agar kerak boʻlsa Legal Hold.
Post-verifikatsiya: yashil sintetika ≥ «Resolved» dan X daqiqa oldin.

15) Unumdorlik va qiymat

Sinov chastotasi: tanqidiy - har 30-60s; ikkilamchi - 1-5 daqiqa.
Saqlash: Uzoq oynalar uchun downsampling/recording rules.
Tashqi provayderlar byudjeti: jadval boʻyicha ilgʻor brauzer stsenariylarini cheklang.

16) Sifat chek-varaqasi

  • Aniq semantikaga ega/healthz ,/readyz ,/startupz bor.
  • ≥ 3 mintaqadan namunalar/ASN, IPv4/IPv6.
  • TLS/DNS tekshirish va alertlar T-30/T-7/T-1 kun.
  • Barcha tanqidiy joblarning Heartbeat (va biznes «sukunat»).
  • Multi-window + quorum, flappingsiz.
  • Drilldown: tugmalar/trassalar/dashbordlar.
  • Maqom sahifasi va aloqa namunalari.
  • SLO/metrik va egalarining hujjatlari.

17) Joriy etish rejasi (3 ta iteratsiya)

1. Hafta 1: HTTP/TLS/DNS blackbox namunalari tanqidiy domenlar, status-sahifa, asosiy alertlar.
2. 2-hafta: ko’p-mintaqalik, quorum-qoidalar, heartbeat top-job, Watchdog.
3. 3 hafta: headless-stsenariylari (login/deposit), SLO hisoboti, hodisa jarayoni bilan integratsiya.

18) Mini-FAQ

Nima uchun tashqi sinovlar ichki sinovlardan yaxshiroq?
Tashqi tomonlar foydalanuvchining haqiqiy yoʻlini (DNS/CDN/WAF), ichki tomonlar esa origin holatini koʻradi. Ikkalasi ham kerak.

Pullik PSPlarni tekshirish kerakmi?
Ha: sandboxdagi sintetika va status-sahifalar monitoringi; degradatsiyada - avtomatik smart-routing.

Shovqinni qanday kamaytirish mumkin?
Quorum, multi-window, for-kechikish, maintenance suppression, aniq SLO chegaralari va egalik.

Jami

Aptaym-monitoring faqat ping emas. Bu tizim: ko’p mintaqaviy sintetiklar + sifatli sog’liqni saqlash endpointlari + heartbeat job + SLO/alerting + maqom sahifalari. Tekshiruvlarni standartlashtiring, shovqinni kamaytiring, namunalarni himoya qiling va hamma narsani hodisa bilan bog’lang - shu bilan siz MTTRni kamaytirasiz va noto’g’ri byudjetni saqlaysiz.

Contact

Biz bilan bog‘laning

Har qanday savol yoki yordam bo‘yicha bizga murojaat qiling.Doimo yordam berishga tayyormiz.

Telegram
@Gamble_GC
Integratsiyani boshlash

Email — majburiy. Telegram yoki WhatsApp — ixtiyoriy.

Ismingiz ixtiyoriy
Email ixtiyoriy
Mavzu ixtiyoriy
Xabar ixtiyoriy
Telegram ixtiyoriy
@
Agar Telegram qoldirilgan bo‘lsa — javob Email bilan birga o‘sha yerga ham yuboriladi.
WhatsApp ixtiyoriy
Format: mamlakat kodi va raqam (masalan, +998XXXXXXXX).

Yuborish orqali ma'lumotlaringiz qayta ishlanishiga rozilik bildirasiz.