Dermanhana we heartbeat gözegçiligi
1) Bu näme üçin zerur?
Perimetrde we içerde iş wagtyny ir tapmak (edge core).
Ulanyjynyň elýeterliligini tassyklamak (diňe "pod diri" däl).
SLA/SLO boýunça şertnama hasabatlylygy we hukuk borçnamalary.
Heartbeat arkaly fon proseslerine (cron, ETL, töleg sinkleri) gözegçilik etmek.
Metodologiýalar: Golden Signals (latency/traffic/errors/saturation), RED, SLO-a we nädogry býudjetine baglanyşyk.
2) Barlaglaryň görnüşleri (synthetics)
ICMP: esasy tor/IP elýeterliligi.
TCP: port diri/handshake (mysal üçin 443/5432).
TLS: sertifikatlaryň dogrulygy/möhleti/zynjyry.
HTTP (S): jogap kody, latency, sözbaşylar, body-daky esasy bölekler.
DNS: rezold, TTL, NXDOMAIN/SERVFAIL.
Headless-brauzer (ulanyjy ýoly): login → action → logout.
Custom probes: sandbox PSP-de töleg ygtyýarnamasy, içerki işewürlik sintetikasy (deposit simulation).
Maslahatlar: edge we şahsy endpointleri (VPC/K8s içinden) barlamak dürli töwekgelçilik domenleridir.
3) Apteim-monitoringiň arhitekturasy
Sebitler boýunça synag agentleri (azyndan 3 geo-nokat).
HTTP/TCP/TLS/DNS üçin Blackbox eksport ediji.
Ýollar boýunça sintetika (sequential steps) aýratyn; skriptleri saklaň.
Prometheus/Mimir/Thanos: metrikleri ýygnamak, SLO/alert düzgüni.
Alertmanager/Pager: P1/P2 marşruty, eskalasiýa.
Status Page: işewürler/müşderiler üçin aç-açan täzelenmeler.
Girişler/ýollar: drilldown 'trace _ id '/korrelýasiýa.
4) Saglyk-endpointler: dizaýn
/ healthz (liveness) - "prosesiň diridigi".
/ readyz (readiness) - "traffigi kabul etmäge taýýar" (bosagalar bilen garaşlylyk).
/ startupz - "başlangyç geçdi".
/ check - giňeldilen işewürlik saglygy (wagtlaýyn we circuit-breaker bilen aňsat DB/kesh barlaglary).
Semantic health: 200 kody diňe kritiki endikleriň işleýşi bilen; pese gaçmagy → 503.
Düzgünler: 2-3s ≤ wagt, aşaky barlaglar çäklendirilýär, jogaplarda PII ýok, agyr bölekleri kesiň.
5) Joblar we workerler üçin Heartbeat
"Dead Man's Switch" modeli: "tik" wagtynda gelmese - alert.
Ulanyş: cron/ETL/invoys-joblar, tölegleriň daşarky barlagy, fon workerleri.
- Push-heartbeat HTTP: joba tamamlanandan soň 'POST/heartbeat/< job>'.
- Metrics-pull: 'last _ success _ timestamp' -ni görkeziň we "N minutdan uly" alertitany görkeziň.
- Watchdog: agentden yzygiderli signal; ýitdi - "gözegçiligiň kesilmegi".
6) Konfigurasiýa mysallary
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: nyşanlar we 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 Joba üçin Heartbeat-metrika (Prometheus exporter)
Metrikany görkeziň:
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-de 'Watchdog' alertasy üçin marşruty açyň (elmydama firing) → eger duýduryş gelmese - gözegçilik bozulýar.
7) Apptime üçin PromQL mysallary
HTTP elýeterliligi (0/1):promql probe_success{job="blackbox-http"} == 1
p95 latency:
promql histogram_quantile(0. 95, sum by (le, instance) (rate(probe_http_duration_seconds_bucket[5m])))
TLS möhleti gutarýar <7 gün:
promql
(min_over_time(probe_ssl_earliest_cert_expiry[5m]) - time()) < 7243600
DNS ýalňyşlyklary:
promql rate(probe_dns_rcode{rcode!="NOERROR"}[5m]) > 0
Uptime SLI (rolling 28d):
promql sum_over_time((probe_success==1)[28d]) / (28246060)
8) Alerting: bosagalar we anti-ses
Multi-region quorum: 2 sebitiň ≥ ýykylýandygyny görse işleýär.
Multi-window: 1-5 min (çalt kanal) + 30-60 min (durnukly tendensiýa).
Duýgurlyk: debounce/for: flapping garşy 2-5 minut.
Baglanyşyk: apteim-alertini leýer-metrikler (edge, DNS, WAF, origin) bilen baglanyşdyryň.
Maintenance windows: 'maintenance = true' taglary boýunça alertleri basyp ýatyrmak.
promql
≥2 regions simultaneously failed sum by (target) (max_over_time (probe _ success = = 0) [3m]))> = 2
9) Köp-sebitleýin we köp-wendorly barlaglar
Iň azyndan 3 geografiýa (EU/NA/APAC) we dürli ASN.
Öz synaglary + daşarky apteim üpjün ediji.
IPv4/IPv6, HTTP/2/3, dürli CDN ROR we WAF profilleri.
10) Barlaglaryň howpsuzlygy
Allowlist WAF/LB-de nusgalaryň IP diapazonlary.
Saglyk endpointleri üçin Rate-limits we kapça-baýpas/nusga.
Şahsy saglyk üçin sözbaşylaryň (HMAC) goly.
Aýry-aýry domenler: köpçüligiň synaglary we hususy (/internal/health).
/ healthz-de içerki wersiýalary/konfigürleri yzyna gaýtarmaň; diňe statuslar.
11) SLO we dermanhana boýunça hasabat
SLI Awailability: 2xx/3xx üstünlikli HTTP nusgalarynyň paýy.
SLO mysal: ≥ 99. Sebitleriň köpüsi üçin 28 günüň dowamynda 95%.
Nädogry býudjet: '1 − SLO' → neşirleri dolandyrýar.
Burn-rate alertleri: nusgalaryň şowsuzlygynyň paýy üçin çalt/haýal kanal.
12) Töleg we kritiki joblar üçin Heartbeat
Joblar "pul töwereginde" (geçirimler, sanawlar) - goşa gözegçilik: heartbeat + iş hasaplaýjylary (näçe ýazgy işlenildi).
Alertler "dymmak" (täze wakalar ýok> N minut) we lagda (hakyky wagtdan yza galmak).
13) Status sahypalary
Komponentleri bölüň (API, tölegler, arka aýlawlar, CDN).
Alertlerden awtomatiki täzelenmeler, Comms roly arkaly el bilen düşündirişler.
Wakalaryň taryhy, postmortem-baglanyşyklar, meýilleşdirilen işler.
14) Waka-proses bilen integrasiýa
Alert SEV quorum + dowamlylygy.
Awariýa kartoçkasyny awto-döretmek, war-room, IC maksady.
Aragatnaşyk şablonlary (içerki/daşarky), zerur bolan halatynda Legal Hold.
Post-barlag: "Resolved" -den X minut öň ≥ ýaşyl sintetika.
15) Öndürijiligi we bahasy
Nusgalaryň ýygylygy: kritiki - her 30-60s; ikinji - 1-5 minut.
Saklamak: Uzak penjireler üçin downsampling/recording rules.
Daşarky üpjün edijileriň býudjeti: ösen brauzer ssenarilerini meýilnama boýunça çäklendiriň.
16) Hil barlagy
- Aýdyň semantika bilen/healthz ,/readyz ,/startupz bar.
- ≥ 3 sebitden/ASN, IPv4/IPv6.
- TLS/DNS barlaglary we aladalary T-30/T-7/T-1 gün.
- Ähli möhüm joblaryň ýüregi (we iş "dymmak").
- Multi-window + quorum, flapping ýok.
- Drilldown: loglara/ýollara/dashbordlara düwmeler.
- Aragatnaşyk ýagdaýy we şablonlary.
- SLO/metrik we eýeleriniň resminamalary.
17) Durmuşa geçirmek meýilnamasy (3 iterasiýa)
1. 1-nji hepde: kritiki domenler boýunça HTTP/TLS/DNS blackbox synaglary, status-sahypa, esasy alertler.
2. 2-nji hepde: köp sebitlilik, quorum-düzgünler, heartbeat top-job, Watchdog.
3. 3-nji hepde: ýokary derejeli ssenariýalar (login/deposit), SLO hasabatlylygy, waka prosesi bilen integrasiýa.
18) Mini-FAQ
Näme üçin daşarky nusgalar içki nusgalardan has gowudyr?
Daşarky adamlar ulanyjynyň hakyky ýoluny görýärler (DNS/CDN/WAF), içerki - origin ýagdaýy. Ikisine-de mätäç.
Tölegli PSP barlamalymy?
Hawa: sandbox sintetika we status-sahypalara gözegçilik etmek; pese gaçanda - awtomatiki smart-routing.
Sesi nädip azaltmaly?
Quorum, multi-window, for-gijikdirme, maintenance suppression, aýdyň SLO bosagalary we eýeçilik.
Jemi
Apteim-gözegçilik diňe bir ping däl. Bu ulgam: köp sebitli sintetikler + hil saglygy endpointleri + heartbeat job + SLO/alerting + status-sahypalar. Barlaglary standartlaşdyryň, sesleri azaldyň, synaglary goraň we hemme zady waka bilen baglanyşdyryň - şonuň üçin MTTR-i azaldyň we nädogry býudjeti saklaň.