Мушоҳида: гузоришҳо, ченакҳо, пайҳо
Мушоҳида: гузоришҳо, ченакҳо, пайҳо
1) Чаро ба шумо лозим аст
Мушоҳида - Қобилияти системаи ҷавоб додан ба саволҳои банақшагирифташуда дар бораи ҳолати он. Он ба се сигнали асосӣ такя мекунад:- Метрикаҳо агрегатҳои паймон барои SLI/SLO ва огоҳкунии аломатҳо мебошанд.
- Нишонаҳо - занҷирҳои пурсиши ниҳоӣ.
- Гузоришҳо - рӯйдодҳои муфассал барои тафтишот ва аудит.
Мақсад: RCA-и зуд, огоҳиҳои пешгирикунанда ва эътимоднокии идорашаванда дар доираи буҷаи хато.
2) Принсипҳои меъморӣ
Контексти ягона: дар ҳама ҷо мо 'trace _ id', 'span _ id', 'иҷорагир _ ид', 'request _ id', 'user _ agent', 'client _ ip _ hash' мепартоем.
Стандартҳо: Open: Telemetry (OTeel) барои SDK/агентҳо, формати сабти JSON (каноникӣ, бо схема).
Аломатҳо> сабабҳо: ҳушдор аз нишонаҳои корбар (таъхир/хатогиҳо), на аз ҷониби CPU.
Иртиботи сигнал: аз § метр то намунаҳо → ба гузоришҳои мушаххас тавассути 'trace _ id'.
Амният ва махфият: пинҳон кардани PII дар гузоришҳо, рамзгузорӣ дар транзит/истироҳат, сабтҳои аудити тағйирнопазир.
Бисёрҳуҷрагӣ: ҷудо кардани фазои номҳо/калидҳо/сиёсатҳо.
3) Таксономия ва нақшаҳои сигнал
3. 1 Ченак
RED (Меъёри, хатогиҳо, давомнокӣ) барои хизматрасонӣ ва USE (Истифода, қаноатмандӣ, хатогиҳо) барои инфрасохтор.
Типы: ҳисобкунак, ченак, гистограмма/хулоса. Барои таъхир, гистограмма бо сатилҳои собит.
Намунаҳо: истинод ба 'trace _ id' дар қуттиҳои гистограммаи "гарм".
name: http_server_duration_seconds labels: {service, route, method, code, tenant}
type: histogram buckets: [0. 01, 0. 025, 0. 05, 0. 1, 0. 25, 0. 5, 1, 2, 5]
exemplar: trace_id
3. 2 Пайгирӣ
Span = амалиёт бо 'ном', 'оғоз/анҷом', 'атрибутҳо', 'ҳодисаҳо', 'вазъ'.
Контексти W3C Trace барои таҳаммулпазирӣ.
Интихоб: асосӣ (сар) + динамикӣ (дум) + қоидаҳои "аҳамият" (хатогиҳо, баланд p95).
3. 3 Гузоришҳо
Танҳо JSON сохташуда; сатҳҳо: DEBUG/INFO/WARN/ХАТО.
Майдонҳои зарурӣ 'ts _ utc', 'сатҳ', 'паём', 'trace _ id', 'span _ id', 'иҷорагир _ id', 'env', 'хидмат', 'минтақа', 'мизбон', 'тамғакоғазҳо {}' мебошанд.
Манъшуда: асрҳо, нишонаҳо, PAN, паролҳо. PII - танҳо токенизатсия/ниқоб.
json
{"ts":"2025-10-31T12:05:42. 123Z","level":"ERROR","service":"checkout","env":"prod",
"trace_id":"c03c...","span_id":"9ab1...","tenant_id":"t-42","route":"/pay",
"code":502,"msg":"payment gateway timeout","retry":true}
4) Ҷамъоварӣ ва нақлиёт
Агентҳо/содиркунандагон (daemonset/sidecar) → буфер дар гиреҳи § автобус/inest (TLS/M TLS) → мағозаи сигнал.
Талабот: фишори бозгашт, бознишастагӣ, такрорӣ, маҳдудияти кардиналӣ (тамғакоғазҳо!), Муҳофизат аз "тӯфонҳои сабти ном".
Нишондиҳандаҳо: кашед (Прометей мувофиқ аст) ё тавассути OTLP тела диҳед.
Нишонаҳо: OTLP/HTTP (GRPC), намунаҳои думи коллектор.
Сабтҳо: коллексияи маҳаллӣ (журнал/docker/stdout) → таҳлилгар → normalizer.
5) Нигоҳдорӣ ва нигоҳдорӣ (сатҳ)
Нишондиҳандаҳо: TSDB гарм 7-30 рӯз (бо пастшавӣ), агрегатҳо барои давраи дарозтар (90-365 рӯз).
Нишонаҳо: 1-7 рӯз пур, пас ҷамъбаст/доираи хидматҳои "муҳим"; индексҳои мағозаҳо дар 'хидмат', 'ҳолат', 'хато'.
Гузоришҳо: индекси гарм 7-14 рӯз, гарм 3-6 моҳ, бойгонӣ то 1-7 сол (мувофиқат). Аудит - WORM.
Оптимизатсияи хароҷот: коҳиш додан, филтр кардани DEBUG дар фурӯш, квотаи тамғакоғазҳо, интихоб барои роҳҳо.
6) SLI/SLO, ҳушдор ва вазифа
SLI: дастрасӣ (% дархостҳои муваффақ), таъхир (p95/p99), ҳиссаи 5xx, тозагии маълумот, ҳиссаи ҷойҳои кории муваффақ.
SLO: ҳадаф дар SLI (масалан, 99. 9% муваффақ ≤ 400 мс).
Буҷаи хато: 0. 1% "маржа барои хатогӣ" → қоидаҳои бадеӣ/таҷрибаҳо.
- 'Ҳушдори баланд' esli 'p99 (http_server_duration_seconds{route="/pay"})> 1s' 5min.
- 'ALERT Хатогӣ' дараҷаи 'esli' (http_requests_total{code=~"5.."}[5m] )/меъёри (http_requests_total[5m])> 0. 02`.
- Огоҳиҳои Silo (CPU/Disk) - танҳо ҳамчун ёрирасон, бе пейдж.
7) Таносуби сигнал
Метрика "сурх" → клик кардани намуна → мушаххасоти 'пайгирӣ _ ид' → ба "суст" -ро бубинед → гузоришҳоро бо ҳамон 'trace _ id' кушоед.
Робита бо релизҳо: атрибутҳо 'версия', 'image _ sha', 'feature _ flag'.
Барои маълумот/ETL: 'dataset _ urn', 'run _ id', истинод ба насл (нигаред ба мақолаи мувофиқ).
8) Интихоб ва кардинализм
Нишондиҳандаҳо: тамғакоғазҳоро маҳдуд кунед (бе 'user _ id', 'session _ id'); квотаҳо/тасдиқкунӣ ҳангоми бақайдгирӣ.
Нишонаҳо: намунаҳои сар (ҳангоми вуруд) ва думи намуна (дар коллектор) -ро бо қоидаҳо муттаҳид кунед: "ҳама чиз 5xx, p99, хатогиҳо - 100%".
Гузоришҳо: сатҳҳо ва дротлинг; барои хатогиҳои зуд-зуд такроршаванда - ҷамъбасти рӯйдодҳо (калиди dedupe).
yaml processors:
tailsampling:
decision_wait: 2s policies:
- type: status_code status_code: ERROR rate_allocation: 1. 0
- type: latency threshold_ms: 900 rate_allocation: 1. 0
- type: probabilistic hash_seed: 42 sampling_percentage: 10
9) Амният ва махфият
Дар транзит/ҳангоми истироҳат: рамзгузорӣ (TLS 1). 3, AEAD, KMS/HSM).
PII/асрори: санитаризатсия пеш аз интиқол, токенизатсия, ниқоб.
Дастрасӣ: ABAC/RBAC барои хондан; ҷудо кардани нақшҳои истеҳсолкунандагон/хонандагон/маъмурон.
Аудит: сабти тағйирнопазири дастрасӣ ба гузоришҳо/пайгирӣ; содирот - дар шакли шифршуда.
Бисёрҳуҷрагӣ: фазои ном/тамғакоғазҳои иҷорагир бо сиёсат; ҷудокунии калиди рамзгузорӣ.
10) Профилҳои конфигуратсия (фрагментҳо)
Прометей (HTTP ченакҳо + огоҳӣ):yaml global: { scrape_interval: 15s, evaluation_interval: 30s }
scrape_configs:
- job_name: 'app'
static_configs: [{ targets: ['app-1:8080','app-2:8080'] }]
rule_files: ['slo. rules. yaml']
сло. қоидаҳо. yaml (мисоли RED):
yaml groups:
- name: http_slo rules:
- record: job:http_request_duration_seconds:p99 expr: histogram_quantile(0. 99, sum(rate(http_server_duration_seconds_bucket[5m])) by (le,route))
- alert: HighLatencyP99 expr: job:http_request_duration_seconds:p99{route="/pay"} > 1 for: 5m
Кушодани телеметрия SDK (псевдокод):
python provider = TracerProvider(resource=Resource. create({"service. name":"checkout","service. version":"1. 8. 3"}))
provider. add_span_processor(BatchSpanProcessor(OTLPExporter(endpoint="otel-collector:4317")))
set_tracer_provider(provider)
with tracer. start_as_current_span("pay", attributes={"route":"/pay","tenant":"t-42"}):
business logic pass
Гузоришҳои барнома (stdout JSON):
python log. info("gw_timeout", extra={"route":"/pay","code":502,"trace_id":get_trace_id()})
11) Маълумот/ETL ва ҷараён
SLI барои маълумот: тару тоза (ҳадди ақалл), пуррагӣ (сатрҳо ва интизорӣ), "сифат" (валидаторҳо/нусхаҳо).
Огоҳиҳо: партофтани тиреза, ақибмонии истеъмолкунандагон, афзоиши DLQ.
Таносуб: 'run _ id', 'dataset _ urn', рӯйдодҳои насл; нишонаҳо барои қубурҳо (дар як қисм/қисм).
Кафка/NATS: ченакҳои истеҳсолкунанда/истеъмолкунандагон, ақибмонӣ/нокомӣ; нишонаҳо бо сарлавҳаҳо (аз ҷумла 'пайгирӣ').
12) Профилизатсия ва электронӣ (сигнали иловагӣ)
Роҳҳои гармии сатҳи паст CPU/alloc/IO; профилҳои як ҳодиса.
Телеметрияи электронӣ (таъхири шабака, DNS, зангҳои система), ки ба 'trace _ id '/PID пайваст карда шудаанд.
13) Санҷиши мушоҳида
Шартномаи сигнал - Содироти ченакҳо/тамғакоғазҳо/гистограммаҳоро ба СИ тафтиш мекунад.
Санҷишҳои синтетикӣ: сенарияҳои RUM/муштариёни шабеҳ барои SLI-ҳои беруна.
Машқҳои бесарусомонӣ/сӯхтор: хомӯш кардани вобастагӣ, таназзул - мо мебинем, ки огоҳиҳо ва хизматчиён чӣ гуна муносибат мекунанд.
Дуд дар Prod: Post-Deploy санҷед, ки нуқтаҳои нав ченакҳо ва пайҳо доранд.
14) Назорати арзиш ва ҳаҷм
Буҷетҳо аз рӯи сигнал/фармон; панели назоратӣ "арзиши як сигнал".
Кардинализатсия аз рӯи буҷа (SLO барои кардинал), тамғакоғазҳои навро маҳдуд мекунад.
Downsampling, муаррифии синфи маълумот, бойгонии хунук ва WORM барои аудит.
15) Амалиёт ва SLO платформаи мушоҳида
Платформаи SLO: 99. 9% воридоти муваффақ; таъхир ба индекси метрикӣ ≤ 30 с, гузоришҳо ≤ 2 дақиқа, пайгирӣ ≤ 1 дақиқа.
Огоҳии платформа: ақибмонии тазриқ, афзоиши тарки, хатои имзо/рамзгузорӣ, пур кардани буфер.
DR/HA: нусхабардорӣ, нусхабардорӣ, нусхабардории конфиг/қоида.
16) Рӯйхати санҷишҳо
Пеш аз фурӯш:- Дар ҳама ҷо 'trace _ id '/' span _ id' партофта мешавад; Гузоришҳои JSON бо диаграмма.
- Нишондиҳандаҳои RED/USE бо гистограмма; намуна → ҳамоҳангсозӣ.
- Интихоби дум фаъол аст; Қоидаҳои 5xx/p99 = 100%.
- Огоҳӣ аз рӯи аломатҳо + Runybooks; соатҳои ором/зидди-flap.
- санитаризаторҳои PII; Рамзгузорӣ дар истироҳат/дар транзити WORM барои аудит.
- Нигоҳдорӣ ва буҷа барои ҳаҷм/кардинал.
- Шарҳи ҳармоҳаи ҳушдор (садо/дақиқӣ), танзими ҳудудҳо.
- Ҳисоботи хатогӣ дар бораи буҷа ва амалҳои андешидашуда (fichfreeze, сахтгирӣ).
- Санҷиши рӯйпӯшҳои панели/log/trace барои роҳҳои муҳим.
- Ҳодисаҳои омӯзишӣ ва навсозиҳои дафтар.
17) Рунбуки 'и
RCA: p99/афзоиши музди меҳнат
1. Панели RED-ро барои 'санҷиш' кушоед.
2. Гузаштан ба намуна → суруди суст → ошкор кардани "фосилаи танг" (масалан. 'дарвоза. занг занед ').
3. Гузоришҳои кушодро аз рӯи 'trace _ id' → дидани вақт/бозсозӣ.
4. Фаъол кардани хусусияти бозгашт/маҳдудияти RPS, огоҳ кардани соҳибони вобастагӣ.
5. Пас аз эътидол - RCA, чиптаҳои оптимизатсия, санҷиши бозгашт.
1. "Тару тоза" -и сурхи SLI → track track wash қатрон.
2. Сабти брокер/DLQ, хатогиҳои пайвасткунандаро санҷед.
3. Коркарди худро оғоз кунед, истеъмолкунандагонро (BI/маҳсулот) тавассути канали статус огоҳ кунед.
18) Хатогиҳои зуд-зуд
Сабтҳо бе схема ва бе 'trace _ id'. Тафтишот баъзан ба таъхир меафтад.
Огоҳӣ дар бораи инфрасохтор ба ҷои аломатҳо. Пейдж "ба шир" меравад.
Кардинализатсияи бепоёни ченакҳо. Таркиши хароҷот ва ноустуворӣ.
Ҳама роҳҳо 100%. Гарон ва нолозим; интихоби интеллектуалиро фаъол созед.
PII/асрори гузоришҳо. Дохил кардани санитарияҳо ва рӯйхати сурх.
Хусусиятҳои "хомӯш". Рамзи нав бе ченак/пайгирӣ/гузоришҳо.
19) FAQ
Савол: Оё ба ман лозим аст, ки матни хоми гузоришҳоро захира кунам?
A: Бале, аммо бо нигоҳдорӣ ва бойгонӣ; барои огоҳиҳо ва SLO, агрегатҳо кифоя мебошанд. Аудит - дар WORM.
Савол: Барои интихоби роҳҳо - интихоби сар ё дум чӣ бояд кард?
A: Якҷоя кунед: сар-эҳтимолияти барои basecoat + қоидаҳои думи барои хатогиҳо ва аномалияҳо.
Савол: Чӣ гуна ман ченакҳои корбар ва ченакҳои техникиро пайваст мекунам?
A: Тавассути тамғакоғазҳои умумии 'trace _ id' ва тамғакоғазҳо ('масир', 'иҷорагир', 'нақша'), инчунин тавассути рӯйдодҳои маҳсулот (табдилдиҳӣ) бо таносуб ба роҳҳо.
Савол: Чӣ гуна дар ҳушдорҳо ғарқ нашавед?
Ҷ: Нишонаҳоро зада, соатҳои ором ворид кунед, ихтисор кунед, гурӯҳбандӣ, афзалияти SLO ва соҳиби пешфарз барои як ҳушдор.
- "Гузоришҳои аудитӣ ва тағйирнопазир"
- "Дар транзит/ҳангоми рамзгузорӣ"
- "Идоракунии махфӣ"
- "Пайдоиши маълумот (насл)"
- "Махфият аз рӯи тарроҳӣ (GDPR)"
- "Кафолатҳои таҳвили Webhook"