Мониторинг жана heartbeat
1) Эмне үчүн керек
Периметри жана ичиндеги токтоп калууларды эрте аныктоо (edge core).
Колдонуучунун жеткиликтүүлүгүн ырастоо (гана эмес, "тирүү").
SLA/SLO боюнча контракттык отчеттуулук жана юридикалык милдеттенмелер.
Фон процесстерин көзөмөлдөө (cron, ETL, төлөм синктери) heartbeat аркылуу.
Методологиясы: Golden Signals (latency/traffic/errors/saturation), RED, SLO жана туура эмес бюджетти байлап.
2) текшерүү түрлөрү (synthetics)
ICMP: негизги тармак/IP жеткиликтүүлүгү.
TCP: порт тирүү/handshake (мисалы, 443/5432).
TLS: аныктыгы/мөөнөтү/күбөлүк чынжыр.
HTTP (S): жооп коду, latency, аталыштары, body негизги тыбыштары.
DNS: Drill, TTL, NXDOMAIN/SERVFAIL.
Headless браузер (колдонуучунун жолу): login → аракет → logout.
Custom probes: sandbox PSP төлөм уруксаты, ички бизнес-синтетика (deposit simulation).
Кеңештер: текшерип жана edge, жана жеке endpoints (VPC/K8s ичинен) - бул ар кандай тобокелдик домендери.
3) Aptime мониторинг архитектурасы
Региондор боюнча сыноо агенттери (кеминде 3 гео-пункт).
HTTP/TCP/TLS/DNS үчүн Blackbox экспорттоочу.
Жолдор боюнча синтетика (sequential steps) өзүнчө; скрипттерди сактаңыз.
Prometheus/Mimir/Thanos: метрика чогултуу, SLO/alerts эрежеси.
Alertmanager/Pager: P1/P2 багыттоо, эскалация.
Status Page: бизнес/кардарлар үчүн ачык-айкын апдейттер.
Логи/жолдор: drilldown 'trace _ id '/корреляциялар.
4) Ден соолук пункттары: дизайн
/ healthz (жашоо) - "тирүү процесс".
/ readyz (readiness) - "трафикти кабыл алууга даяр" (босоголор менен көз карандылык).
/ startupz - "демилге өттү".
/ check - өнүккөн бизнес ден соолук (убакыт жана circuit-breaker менен жеңил DD/кэш текшерүү).
Semantic ден соолук: 200 коду гана критикалык көз карандылыктын иштеши менен; деградация → 503.
Эрежелер: Таймаут ≤ 2-3с, чектелүү текшерүү, жооптордо PII жок, оор бөлүктөрүн кэш.
5) Gob жана үйрөнчүктөр үчүн Heartbeat
Dead Man's Switch модели: эгерде "тик" убагында келбесе - алерт.
Колдонуу: cron/ETL/инвойс-джоб, off-chain төлөмдөрдү текшерүү, arka workers.
- Push-heartbeat HTTP: Job аяктагандан кийин кылат 'POST/heartbeat/< job>'.
- Metrics-pull: экспонат 'last _ success _ timestamp' жана алертит боюнча "улуу N мүнөт".
- Watchdog: агенттен туруктуу сигнал; жок - "мониторинг үзгүлтүккө учурады".
6) Конфигурация мисалдары
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: максаттары жана Jobs
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 Heartbeat-метрика үчүн джоба (Prometheus exporter)
Метриканы көрсөтүү:
job_last_success_timestamp_seconds{job="settlement"} 1. 730000e+09
Алерт:
promql
(time() - job_last_success_timestamp_seconds{job="settlement"}) > 900
6. 4 Watchdog (Dead Man’s Switch)
Alertmanager алерта 'Watchdog' үчүн маршрутту күйгүзүү (ар дайым firing) → эгерде эскертүү келбесе - мониторинг бузулган.
7) PromQL Аптайм үчүн мисалдар
HTTP жеткиликтүүлүгү (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 мөөнөтү <7 күн:
promql
(min_over_time(probe_ssl_earliest_cert_expiry[5m]) - time()) < 7243600
DNS каталар:
promql rate(probe_dns_rcode{rcode!="NOERROR"}[5m]) > 0
Uptime SLI (rolling 28d):
promql sum_over_time((probe_success==1)[28d]) / (28246060)
8) Alerting: босоголор жана анти-ызы
Multi-region quorum: ≥ 2 аймактар күзүндө көрүп, анда иштейт.
Multi-window: 1-5 мин (тез канал) + 30-60 мин (туруктуу тренд).
Сезгичтик: debounce/for: 2-5 мүнөт vs.
Корреляция: аптайм-алертти лейер-метриктер (edge, DNS, WAF, origin) менен байланыштырыңыз.
Maintenance Windows: 'maintenance = true' деген тегдер менен чектөөлөрдү басуу.
promql
≥2 regions simultaneously failed sum by (target) (max_over_time (probe _ success = = 0) [3m]))> = 2
9) Көп-аймактык жана көп-сатуучу текшерүү
Кеминде 3 география (EU/NA/APAC) жана ар кандай ASN.
Кайталап: өз үлгүлөрүн + тышкы aptime-провайдер.
IPv4/IPv6, HTTP/2/3, ар кандай CDN РОР жана WAF профилдери.
10) Текшерүү коопсуздугу
Allowlist IP диапазондорун WAF/LB.
Rate-limits жана капча-байпас үчүн End-Point ден соолук/үлгүлөрү.
Кол тамгалар (HMAC) жеке ден соолук үчүн.
Өзүнчө домендер: коомдук жана жеке (/internal/ден соолук).
/ healthz ички версияларын/конфигаларын кайтарып бербеңиз; гана статустары.
11) SLO жана Аптайм боюнча отчеттуулук
SLI Availability: 2xx/3xx ийгиликтүү HTTP үлгүлөрүнүн үлүшү.
SLO мисал: ≥ 99. Көпчүлүк аймактарда 28 күндүн ичинде 95%.
Жаңылыш бюджет: '1 − SLO' → релиздерди башкарат.
Burn-rate Алерт: үлгүлөрдүн ката үлүшү үчүн тез/жай канал.
12) Heartbeat үчүн төлөм жана оор джоб
Gob "акча айланасында" (которуулар, реестрлер) - кош контролдоо: heartbeat + бизнес эсептегичтер (канча жазуулар иштелип чыккан).
Alerty "унчукпай" (эч кандай жаңы окуялар> N мүнөт) жана Лагда (реалдуу убакыт артта).
13) Статус-беттер
компоненттерин бөлүп (API, төлөмдөр, backends, CDN).
Автоматтык апдейттер Алерт, кол Comms-ролу аркылуу комментарий.
окуялар тарыхы, postmortem шилтемелер, пландаштырылган иш.
14) Инцидент процесси менен интеграция
Alert SEV эрежелери боюнча quorum + узактыгы.
Auto-түзүү окуя карта, war-room, дайындоо IC.
Байланыш үлгүлөрү (ички/тышкы), зарыл болсо, мыйзамдуу Hold.
Пост-текшерүү: "Resolved" чейин X мүнөт ≥ жашыл синтетика.
15) аткаруу жана наркы
Үлгүлөрдүн жыштыгы: критикалык - ар бир 30-60с; экинчилик - 1-5 мин.
Сактоо: узак терезелер үчүн downsampling/recording rules.
Тышкы провайдерлердин бюджети: өнүккөн браузердик сценарийлерди график боюнча чектеңиз.
16) Чек сапаты
- бар/healthz ,/readyz ,/так семантика менен startupz.
- ≥ 3 региондордон/ASN, IPv4/IPv6.
- TLS/DNS текшерүү жана Алерт T-30/T-7/T-1 күн.
- Heartbeat бардык сын Gob (жана бизнес "унчукпай").
- Multi-window + quorum, fapping жок.
- Drilldown: Логин/жолдор/dashboard баскычтары.
- Статус-бет жана байланыш үлгүлөрү.
- SLO документтери/метр жана ээлери.
17) Ишке ашыруу планы (3 итерация)
1. Апта 1: критикалык домендери боюнча HTTP/TLS/DNS blackbox үлгүлөрү, статус-бет, базалык алерт.
2. Апта 2: көп региондук, quorum-эрежелер, heartbeat топ-джоб, Watchdog.
3. Жума 3: headless-scripts (login/deposit), SLO отчеттуулук, окуя-жараяны менен бириктирүү.
18) Mini-FAQ
Тышкы үлгүлөр ички жакшы?
Тышкы колдонуучунун чыныгы жолун көрүп (DNS/CDN/WAF), ички - origin абалы. Биз да керек.
Мен акы төлөнүүчү PSP текшерүү керекпи?
Ооба: Сандбокс синтетика жана статус-бет мониторинг; деградация учурунда - автоматтык smart-routing.
Кантип ызы-чууну азайтуу керек?
Quorum, multi-window, for-кечигүү, maintenance боюнча suppression, так SLO босоголор жана ээлик кылуу.
Жыйынтык
Aptime мониторинг - бул бир гана пинг эмес. Бул система: көп региондук синтетика + сапаттуу health-end-point + heartbeat job + SLO/alerting + статус-беттер. Текшерүүлөрдү стандартташтырып, ызы-чууну азайтып, сыноолорду коргоп, баарын инцидент процесси менен байланыштырыңыз - ошентип сиз MTTRди азайтып, туура эмес бюджетти сактап каласыз.