Signallary we metrikleri paýlamak
(Bölüm: Ekosistema we Tor)
1) Maksady we sebiti
Signallary we metrikleri paýlamak, telemetriýany (wakalary, metrikleri, logleri, yzarlamalary, saglyk ýagdaýlaryny) ähli gyzyklanýan gatnaşyjylara: operatorlara, mazmun üpjün edijilerine, töleg/KUS-hyzmatlaryna, köprülere, tor düwünlerine, SRE/BI/affiliatlaryna we toparlaryna ýygnamagyň, kadalaşdyrmagyň we gowşurmagyň utgaşdyrylan usulydyr Compliance. Maksatlar:- Telemetriýanyň ýeke-täk dili we maglumatlaryň şertnamalary.
- Dolandyrylýan QoS kanallary: möhüm signallaryň ileri tutulýan ugry.
- Aç-açan SLI/SLO we öňünden aýdyp boljak alerting.
- Gizlinlik, izolýasiýa we býudjeti tygşytlamak metrikler.
2) Signallaryň taksonomiýasy
1. Işewürlik wakalary: onbording, goýumlar/tölegler, oýun wakalary, atributiýa.
2. Tehniki metrikler: latency/throughput/ýalňyşlyk kody, nobat, CPU/RAM/IO ulanmak.
3. Loglar: amallar we ýalňyşlyklar barada gurluşly ýazgylar.
4. Yşyklandyryş: Soraglaryň/topikleriň spany, hop-to-hop korrelýasiýasy.
5. Saglyk ýagdaýlary: synthetic probes, readiness/liveness, heartbeat düwünleri.
6. Töwekgelçilik/utgaşma signallary: KYC/KYB/AML hitleri, sanksiýa çäreleri.
Her synpyň öz kritiklik derejesi we saklamak/eltip bermek syýasaty bar.
3) Paýlamagyň arhitekturasy (salgylanma)
Edge-kollektorlar (SDK/agentler) → Ingress (HTTP/OTLP/gRPC/QUIC) → Şina (Kafka/Pulsar) → Prosessorlar (stream-jobs) → Ammar (metrikler üçin TSDB, obýekt/sütün - → Penjireler/daşbordlar/alertler.
Köp tenantlyk: açarda namespace/tenant-id, aýratyn quota/limits/ACL.
QoS segmentasiýasy: kritiki (P0), möhüm (P1), fon (P2).
Egress: (Ops/BI/Third-party) topik we materialized views abonenti arkaly abonentler.
4) Şertnamalar we shemalar (wakalar/metrikler/söwdalar)
4. 1 Wakalar (ýönekeý, YAML)
yaml event:
id: uuid kind: business ops risk ts: timestamp # ISO8601 tenant: string # org_id/namespace source: string # service/peer-id trace_id: string type: string # deposit. created payout. failed probe. ok...
attrs: object # semantic fields (no PII)
severity: info warn error critical qos: P0 P1 P2
4. 2 Metrikler (OpenMetrics/OTLP)
Durnukly bellikler bilen Gauge/Counter/Histogram (çäkli kardinallyk).
Identifikatorlary: 'metric _ name {service, region, tenant, version, route}'.
Kodda p99 ýerine gizlinlik/ululyk üçin gistogrammalar.
4. 3 Söwda
Hökmany meýdanlar: 'trace _ id', 'span _ id', 'parent _ id', 'service', 'peer', 'route', 'qos'.
Domenler (consumer/producer) bilen tor hoplarynyň (relay/bridge) arasyndaky linkler.
5) QoS we ileri tutulýan
P0 (möhüm): SLI tölegleri/tölegleri, köprüleriň/düwünleriň statuslary, burn-rate SLO → berk eltip bermek (acks, retries, idempotentlik), iň az wagtlar.
P1 (möhüm): önüm hadysalary/esasy metrikler → SLO-nyň çäginde kepillendirilen eltip bermek.
P2 (fon): jikme-jik ýazgylar, düzedişler → best-effort, artykmaç ýüklenende dökülip bilner.
Syýasatçylar: dürli nobatlar, prodýuserler üçin quota, backpressure, rate-limits, 'idempotency _ key' boýunça dedup.
6) Metrikleriň kardinallygy we býudjeti
6 bellik düzgüni: metrika üçin 6 açardan köp bolmaly däl, kesgitlenen many sözlükleri.
Kardinallyk ≤ 10k wagt hatary/metrika/tenant.
Sempleme: yzarlamak üçin head-/tail-based; downsampling metrik 10s → 1m → 5m → 1h.
Quotas: tentant üçin we QoS synpy üçin nokatlar/sekunt we baýt/sekunt çäkleri.
Shemalaryň linteri: "partlaýan" bellikli metrikleri (id, email, ip we ş.m.) ret edýär.
7) Ýygnamak we eltip bermek: push vs pull
Push (OTLP/StatsD/HTTP): çeýeligi, ykjam/edge-müşderileri, P0 kanallary.
Pull (Prometheus): içerki infrastruktura, öňünden aýdyp boljak nyşanlar.
Gibrid: exporters → gateway → TSDB; sebitler üçin federated scrapes.
Transport: QUIC/HTTP/2, gysyş, batching, TLS/mTLS, jitter bilen retralar.
8) SLI/SLO we alerting
8. 1 Esasy SLI
"Availability%"
Möhüm ugurlar boýunça Latency p50/p95/p99,
Error-rate (5xx/timeout/abort),
Tekerde delivery lag, Queue depth,
Freshness vitrin (ingest → serve gijä galmak).
8. 2 SLO mysallary
P0 pipelines: Availability ≥ 99. 95%, p99 latency ≤ 400 мс, Delivery lag p95 ≤ 2 с.
P1: Availability ≥ 99. 9%, Freshness p95 ≤ 3 minut.
P2: Freshness p95 ≤ 15 мин, no-page.
8. 3 Burn-rate alertleri (mysal)
2 sagatlyk penjire: 'error _ budget _ burn ≥ 2 ×' → page.
6 sagatlyk penjire: 'error _ budget _ burn ≥ 1 ×' → page/eskalasiýa.
'queue _ lag' we 'drop _ rate' P0 bilen birleştir.
9) Ammar we retensiýa
TSDB metrik: ýokary ýygylyk - 7-14 gün; agregatlar - 6-12 aý.
Wakalar/ýazgylar: gyzgyn ammar 7-30 gün, sowuk (obýekt) 6-24 aý.
Söwda: sampling 1-10%; "haýal/nädogry" spanlary saklamak (tail-based).
PII üçin aýyrmak/redaktirlemek syýasaty we maglumat subýektleriniň haýyşlary.
10) Gizlinlik, howpsuzlyk we izolýasiýa
PII-minimallaşdyrmak: meýdanlary tokenlaşdyrmak/lakamlaşdyrmak, metriklerde "çig" kesgitleýjileri gadagan etmek.
mTLS/wakalaryň gollary, öndürijileriň açarlarynyň gysgaldylmagy.
Mowzuklara/hyzmatlara/tenantlara ACL/ABAC, write/üçin aýratyn açarlar.
Tenant sandboxing: logiki/fiziki bölünişik, çäkler we rate-limit per tenant.
Audit trail: konwensiýalaryň üýtgemeýän giriş/üýtgeşme žurnallary.
11) Bejeriş akymlary (akym jobs)
Enrich: kadalaşma, geo/wersiýa/traffik synpy.
Aggregate: penjireler 10s/1m/5m, gistogrammalar, kwantil eskizler.
Detect: Anomaliýalar (EWMA/ESD), paýlanyş süýşmesi, nobatlar.
Route: penjirelerde janköýer/alerterler/hyzmatdaşlaryň webhuklary.
Goragçy: "gyzyl düwme" - çeşme/tema boýunça throttling/kill-switch.
12) Daşbordlar (salgylanma-maketler)
Ops Core (sagat/real-taým): p95 latency, error-rate, delivery lag, queue depth, success-rate ingest.
Pipelines Health: freshness per pipeline, drop-rate, backpressure, burn-rate SLO.
Tenant Usage: hatar/sek, baýt/sek, kardinallyk, top-labels.
Howpsuzlyk/Compliance: mTLS statuslary, gutarmagyň açarlary, elýeterliligi, PII redaksiýasy.
Business Lens: öwrülişik/tölegler/tehnometrleriň gapdalyndaky köpri SLI.
13) Konfigurasiýa mysallary
QoS synplary we çäkleri (YAML)
yaml telemetry:
qos:
P0:
topics: [payout. sli, bridge. finality, gateway. availability]
delivery: guaranteed retry:
attempts: 3 backoff_ms: [100, 400, 800]
max_queue_lag_ms: 2000
P1:
topics: [product. events, api. metrics]
delivery: at-least-once sampling: 1. 0
P2:
topics: [debug. logs, verbose. traces]
delivery: best-effort sampling: 0. 1 quotas:
tenant_default:
metrics_points_per_sec: 50_000 logs_mb_per_hour: 500 traces_spans_sampled_pct: 5
Metrik bellikler
yaml metrics_policy:
allowed_labels: [service, route, code, region, tenant, version]
forbidden_labels: [user_id, email, ip, session_id]
max_label_value_count: 1000
Burn-rate alertleri
yaml alerts:
- name: "p0_error_burn_2h"
expr: burn_rate_p0_2h > 2 action: [page_oncall, open_incident]
- name: "queue_lag_p0"
expr: queue_lag_ms_p95 > 2000 action: [page_oncall]
14) Maglumatlaryň shemalary we haýyşlar
Metrikleriň sanawy (katalog)
sql
CREATE TABLE metric_catalog(
name TEXT PRIMARY KEY,
unit TEXT, description TEXT,
labels JSONB, owner TEXT, qos TEXT, sla JSONB
);
Nobatlar we lag
sql
SELECT topic,
PERCENTILE_CONT(0. 95) WITHIN GROUP (ORDER BY lag_ms) AS lag_p95,
SUM(dropped) AS drops
FROM queue_metrics
WHERE ts >= now() - INTERVAL '24 hours'
GROUP BY topic;
Tentant boýunça kardinallyk
sql
SELECT tenant, metric_name, COUNT(DISTINCT series_id) AS series
FROM tsdb_series
WHERE day = current_date
GROUP BY tenant, metric_name
ORDER BY series DESC
LIMIT 50;
15) Prosesler we rollar
Telemetry Owner - shemalar/syýasatlar/kwotalar, kardinallyga gözegçilik.
SRE/Ops - SLO, aladalar, hadysalar, masştablar.
Howpsuzlyk/Compliance - açarlar, elýeterlilik, PII, auditler.
Product/BI - KPI, analitika, A/B-metrika penjireleri.
Tenants (hyzmatdaşlar) - SDK-nyň dogry integrasiýasy, şertnamalaryň berjaý edilmegi.
16) Playbook hadysalary
A. Kardinallygyň partlamasy
1. Öndürijiniň/metrikanyň awto-bloky, 2) "erbet" bellikleri kesýäris, 3) retro-agregasiýa, 4) post-mortem we linter-düzgünler.
B. Ösüş queue lag P0
1. Ileri tutulýan ugurlary goşmak, 2) partiýa/konsumerleri giňeltmek, 3) P2 sampling wagtlaýynça azaltmak, 4) dar ýerleri seljermek.
C. Gizlin penjireleriň ýykylmagy
1. Ätiýaçlyk konnektoryna geçiň; 2) pese gaçmak düzgünini açyň ("iň soňky gutarnykly"); 3) çeşmeleriň eýelerine habar beriň.
D. metriklerde PII syzmagy
1. Akymy derrew blokirlemek, 2) gyzgyn gatlakda redaction, 3) DPO/Compliance habarnamasy, 4) lenterleri/SDK-ny täzelemek.
E. Köpçülikleýin 5xx/tracking hatalary
1. Page, 2) sampling tail-based ↑ ýalňyşlyklar üçin, 3) trace-diagnostika kritiki ugry, 4) yza gaýdyp çykmak/fiç-baýdak.
17) Girizmegiň çek-sanawy
1. Wakalaryň/metrikleriň/treýsleriň şertnamalaryny we rugsat berilýän bellikleriň sanawyny tassyklamak.
2. QoS-synplary, topikler/nobatlar, quotas we metrikler býudjetini başla.
3. Ingest (push/pull), TLS/mTLS, retra we idempotentligi sazla.
4. Metrika/waka kataloglaryny we shema linterlerini öz içine al.
5. SLI/SLO, burn-rate alertleri we eskalasiýalary kesgitlemek.
6. Ops/Pipelines/Tenant/Security dashbordlaryny guruň.
7. Telemetriýanyň chaos-synaglaryny başla.
8. Kardinallygy, retensiýany we saklamak bahasyny yzygiderli gözden geçiriň.
18) Sözlük
QoS - gowşurmagyň hili/ileri tutulýan synpy.
Freshness - penjirede maglumatlaryň peýda bolmagynyň gijikdirilmegi.
Burn-rate - SLO degişlilikde ýalňyşlyklaryň býudjetini sarp etmegiň tizligi.
Cardinality - metrikleriň (bellik kombinasiýalarynyň) özboluşly hatarlarynyň sany.
Tail-based sampling - "haýal/nädogry" yzarlamalaryň nusgasy.
Idempotency key - wakalaryň gaýtalanmalaryny duplikasiýa etmek üçin açar.
Netije: signallary we metrikleri paýlamak diňe bir "grafikleri ýygnamak we görkezmek" däl, eýsem şertnamalaryň, QoS kanallarynyň we býudjetleriň tertibi. Bu freýmworka eýerip, ekosistema çydamly, maglumatlara garşy gizlin we operasiýa otagynda-da, iş görnüşinde-de çözgütler üçin peýdaly bolup görünýär.