Мониторинги вақти корӣ ва зарбаи дил
1) Чаро ба шумо лозим аст
Пеш аз мӯҳлат муайян кардани қаторҳо дар периметр ва дарун (канори ↔).
Тасдиқи мавҷудияти корбар (на танҳо "подкастҳо зиндаанд").
Ҳисоботи шартномавии SLA/SLO ва ӯҳдадориҳои ҳуқуқӣ.
Мониторинги равандҳои пасзамина (крон, ETL, ҷароҳатҳои пардохт) тавассути зарбаи дил.
Методология: Сигналҳои тиллоӣ (ниҳонӣ/трафик/хатогиҳо/пуррагӣ), RED, пайванд ба SLO ва буҷаи хато.
2) Намудҳои санҷишҳо (синтетика)
ICMP: шабакаи асосӣ/дастрасии IP.
TCP: порт зинда аст/дастӣ (масалан, 443/5432).
TLS: эътибор/мӯҳлат/силсилаи сертификатҳо.
HTTP (S): рамзи посух, ниҳонӣ, сарлавҳаҳо, зербахшҳои калидӣ дар бадан.
DNS: қарор, TTL, NXDOMAIN/SERVFAIL.
Браузери бефосила (роҳи корбар): login → амал → logout.
Зондҳои фармоишӣ: иҷозати пардохт дар қуттии PSP, синтетикаи тиҷорати дохилӣ (моделиронии пасандозҳо).
Маслиҳатҳо: Нуқтаҳои канорӣ ва хусусиро санҷед (аз дохили VPC/K8s) соҳаҳои гуногуни хатар мебошанд.
3) Меъмории мониторинги замонавӣ
Агентҳои озмоишӣ аз рӯи минтақа (ҳадди аққал 3 нуқтаи гео).
Содиркунандаи Blackbox барои HTTP/TCP/TLS/DNS.
Синтетика аз рӯи роҳҳо (қадамҳои пайдарпай) алоҳида; скриптҳои мағозаро нигоҳ доред.
Prometheus/Mimir/Thanos: ҷамъоварии ченакҳо, қоидаҳои SLO/ҳушдор.
Alertmanager/Pager: масир P1/P2, шиддат.
Саҳифаи вазъ: навсозиҳои шаффоф барои бизнес/муштариён.
Сабтҳо/пайҳо: пармакунӣ аз ҷониби 'trace _ id '/коррелятсия.
4) Нуқтаҳои саломатӣ: тарроҳӣ
/ healthz (зиндагӣ) - "ин раванд зинда аст".
/ readyz (омодагӣ) - "барои қабули ҳаракати нақлиёт омода" (вобастагӣ аз ҳадди ниҳоӣ).
/ startupz - "ибтидоӣ".
/ check - саломатии пешрафтаи тиҷорат (базаи осон/санҷиши кэш бо танаффус ва схема).
Саломатии семантикӣ: рамзи 200 танҳо вақте ки вобастагии интиқодӣ функсионалӣ аст; таназзули § 503.
Қоидаҳо: танаффус ≤ 2-3, санҷишҳои маҳдуд, PII дар ҷавобҳо, қисмҳои вазнини кэш.
5) Зарбаи дил барои кор ва коргарон
Модели Dead Man 's Switch: агар моҳҳо сари вақт нарасида бошанд, ҳушдор диҳед.
Истифода: cron/ETL/корҳои ҳисобнома-фактура, чекҳои пардохти берун аз занҷир, коргарони пасзамина.
- HTTP-ро тела диҳед: коре, ки ба итмом мерасад 'POST/heartbeat/< кор>'.
- Metrics-pull: 'last _ success _ timestamp' -ро фош кунед ва аз "дақиқаҳои калонтар аз N" ҳушдор диҳед.
- Watchdog: сигнали доимӣ аз агент; бедарак - ҳушдор "танаффуси мониторинг".
6) Намунаҳои конфигуратсия
6. 1 Содиркунандаи Blackbox (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 Прометей: Ҳадафҳо ва ҷабҳо
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 Метрикаи кори қалб (содиркунандаи Прометей)
Фош кардани метрика:
job_last_success_timestamp_seconds{job="settlement"} 1. 730000e+09
Ҳушдор:
promql
(time() - job_last_success_timestamp_seconds{job="settlement"}) > 900
6. 4 Назоратчӣ (Гузариши одами мурда)
Дар Alertmanager, хатсайрро барои ҳушдордиҳии 'Watchdog' (ҳамеша тир холӣ кунед) → агар ҳушдор нарасад, мониторинг вайрон карда мешавад.
7) намунаҳои Prom
Дастрасии HTTP (0/1):promql probe_success{job="blackbox-http"} == 1
p95 таъхир аз рӯи намуна:
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
Вақти SLI (ғалтаки 28d):
promql sum_over_time((probe_success==1)[28d]) / (28246060)
8) Ҳушдор: ҳудудҳо ва садои зидди садо
Кворуми бисёр минтақа: агар дар 2 минтақа қатра дида шавад, ба кор андохта мешавад.
Равзанаи бисёр: 1-5 дақиқа (канали тез) + 30-60 дақиқа (тамоюли устувор).
Ҳассосият: debounce/for: 2-5 дақиқа бар зидди зарба.
Таносуб: алоқамандии ҳушдордиҳӣ бо ченакҳои чарм (канор, DNS, WAF, пайдоиш).
Тирезаҳои нигоҳдорӣ: хомӯш кардани огоҳиҳо бо барчаспҳои 'нигоҳдорӣ = ҳақиқӣ'.
promql
≥2 regions simultaneously failed sum by (target) (max_over_time (probe _ success = = 0) [3m]))> = 2
9) Санҷишҳои бисёрҷониба ва бисёр фурӯшанда
Ҳадди аққал 3 ҷуғрофия (EU/NA/APAC) ва ASN-ҳои гуногун.
Нусхабардорӣ: намунаҳои худ + провайдери берунӣ.
IPv4/IPv6, HTTP/2/3, профилҳои гуногуни CDN POP ва WAF.
10) Санҷишҳои амниятӣ
Иҷозат диҳед диапазонҳои IP дар WAF/LB.
Меъёрҳо ва гузаришҳо барои нуқтаҳои ниҳоӣ/зондҳо.
Имзои унвон (HMAC) барои саломатии хусусӣ.
Соҳаҳои ҷудогона: намунаҳои давлатӣ ва хусусӣ (/дохилӣ/саломатӣ).
Нусхаҳои/конфигуратсияҳои дохилиро ба/healthz барнагардонед; танҳо статусҳо.
11) Ҳисоботи SLO ва вақти корӣ
Мавҷудияти SLI: сатҳи муваффақияти 2xx/3xx HTTP.
Мисоли SLO: ≥ 99. Дар аксари минтақаҳо дар 28 рӯз 95%.
Буҷаи хато: '1 − SLO' → релизҳоро идора мекунад.
Огоҳиҳои сатҳи сӯхтан: канали зуд/суст барои таносуби нокомии намуна.
12) Зарбаи дил барои пардохт ва корҳои муҳим
Ҷойҳои корӣ "дар атрофи пул" (интиқол, сабти ном) - назорати дукарата: зарбаи дил + ҳисобкунакҳо (чӣ қадар сабтҳо коркард мешаванд).
Огоҳиҳо бо "хомӯшӣ" (рӯйдодҳои нав> N дақиқа) ва ақибмонӣ (ақибмонӣ дар вақти воқеӣ).
13) Саҳифаҳои вазъ
Компонентҳои ҷудогона (API, пардохтҳо, пуштибонӣ, CDN.).
Навсозиҳои худкор аз огоҳиҳо, шарҳҳои дастӣ тавассути нақши Comms.
Таърихи ҳодисаҳо, пайвандҳои пас аз марг, кори банақшагирифташуда.
14) Ҳамгироӣ бо раванди ҳодиса
Огоҳии SEV аз рӯи қоидаҳои кворум + давомнокӣ.
Сохтани худкори корти ҳодиса, ҳуҷраи ҷанг, таъиноти IC.
Қолабҳои алоқа (дохилӣ/беруна), дар ҳолати зарурӣ нигоҳ доштани ҳуқуқӣ.
Санҷиши баъдӣ: синтетикаи сабз ≥ дақиқаҳои X ба "Ҳалшуда".
15) Иҷро ва арзиши
Басомади интихоб: интиқодӣ - ҳар 30-60 с; миёна - 1-5 дақ.
Нигоҳдорӣ: қоидаҳои пасткунӣ/сабти тирезаҳои дароз.
Буҷаи провайдерҳои беруна: скриптҳои пешрафтаи браузерро ба ҷадвал маҳдуд кунед.
16) Рӯйхати назорати сифат
- ҳастанд/healthz ,/readyz ,/startupz бо семантикаи равшан.
- Намунаҳо аз ≥ 3 минтақа/ASN, IPv4/IPv6.
- TLS/DNS рӯзҳоро тафтиш мекунад ва огоҳ мекунад.
- Ҳама корҳои муҳимро дилбардорӣ кунед (ва бизнес "хомӯшӣ").
- Тирезаи бисёр + кворум, парпеч нест.
- Пармакунӣ: тугмаҳо ба гузоришҳо/роҳҳо/панелҳо.
- Саҳифаи вазъ ва қолабҳои иртибот.
- Ҳуҷҷатгузории SLO/ченакҳо ва соҳибон.
17) Нақшаи амалисозӣ (3 такрорӣ)
1. Ҳафтаи 1: Зондҳои blackbox HTTP/TLS/DNS аз рӯи доменҳои интиқодӣ, саҳифаи вазъ, огоҳиҳои асосӣ.
2. Ҳафтаи 2: Бисёрҳудудӣ, қоидаҳои кворум, вазифаи олии қалб, Watchdog.
3. Ҳафтаи 3: скриптҳои бефоида (воридшавӣ/амонат), гузоришдиҳии SLO, ҳамгироӣ бо раванди ҳодиса.
18) Мини-FAQ
Чаро намунаҳои беруна нисбат ба намунаҳои дохилӣ беҳтаранд?
Истифодабарандагони беруна роҳи воқеии корбарро мебинанд (DNS/CDN/WAF), корбарони дохилӣ ҳолати пайдоишро мебинанд. Мо ба ҳарду ниёз дорем.
Оё ба ман лозим аст, ки PSP-ҳои пардохтшударо тафтиш кунам?
Бале: синтетика дар қуттии қуттӣ ва мониторинги саҳифа; дар ҳолати таназзул - масири автоматии интеллектуалӣ.
Чӣ тавр садоро кам кардан мумкин аст?
Кворум, равзанаи бисёрсоҳавӣ, таъхир барои нигоҳдорӣ, ҳудудҳои равшани SLO ва моликият.
Ҷамъ
Мониторинги саривақтӣ на танҳо ping аст. Ин система аст: синтетикаи бисёрмиллӣ + нуқтаҳои баландсифати саломатӣ + кори қалб + SLO/ҳушдор + саҳифаҳои вазъ. Санҷишҳоро стандартӣ кунед, садоро кам кунед, намунаҳоро ҳифз кунед ва ҳама чизро бо раванди ҳодиса пайваст кунед - бо ин роҳ шумо MTTR-ро кам мекунед ва буҷаи нодурустро сарфа мекунед.