GH GambleHub

Syn edilişi: loglar, metrikler, yzarlamalar

Syn edilişi: loglar, metrikler, yzarlamalar

1) Bu näme üçin zerur?

Gözegçilik etmek - ulgamyň öz ýagdaýy barada meýilleşdirilmedik soraglara jogap bermek ukyby. Ol üç sany esasy signala esaslanýar:
  • Metrikler - SLI/SLO we alamatlar boýunça alerting üçin ykjam agregatlar.
  • Yzarlamalar - haýyşlaryň sebäpler-netijeler zynjyry (end-to-end).
  • Loglar - barlaglar we audit üçin jikme-jik wakalar.

Maksat: çalt RCA, öňüni alyş aladalary we error budget-iň çäginde dolandyrylýan ygtybarlylyk.

2) Binagärlik ýörelgeleri

Bir kontekst: hemme ýerde 'trace _ id', 'span _ id', 'tenant _ id', 'request _ id', 'user _ agent', 'client _ ip _ hash'.
Standartlar: SDK/agentler üçin OpenTelemetry (OTel), JSON-log formaty (kanoniki, shema bilen).
Alamatlar> sebäpler: CPU däl-de, ulanyjy alamatlary (gizlinlik/ýalňyşlyk) boýunça alertim.
Signallaryň baglanyşygy: metrikadan → spana (exemplars) → anyk loglere 'trace _ id'.
Howpsuzlyk we gizlinlik: PII-ni ýazgylarda gizlemek, in transit/at rest şifrlemek, audit üçin üýtgemeýän magazinesurnallar.
Köp kärende: atlaryň/açarlaryň/syýasatlaryň giňişliklerini bölmek.

3) Signallaryň taksonomiýasy we shemalary

3. 1 Metrikler

Hyzmatlar üçin RED (Rate, Errors, Duration) we infrastruktura üçin USE (Utilization, Saturation, Errors).
Типы: counter, gauge, histogram/summary. Latentlik üçin - bucket's sabit histogram.
Exemplars: "gyzgyn" gistogramma bölümlerinde 'trace _ id' baglanyşygy.

Metrikanyň kiçi shemasy (logik. model):

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 Yzarlamalar

Span = 'name', 'start/end', 'attributes', 'events', 'status' bilen amal.
Çydamlylyk üçin W3C Trace Context.
Sample: esasy (head) + dinamiki (tail) + "möhüm" düzgünler (ýalňyşlyklar, ýokary p95).

3. 3 Bloglar

Diňe gurluşly JSON; derejeler: DEBUG/INFO/WARN/ERROR.
Hökmany meýdanlar: 'ts _ utc', 'level', 'message', 'trace _ id', 'span _ id', 'tenant _ id', 'env', 'service', 'region', 'host', 'labels {}'.
Gadagan: syrlar, bellikler, PAN-lar, parollar. PII - diňe bellikli/gizlenen.

Logyň (JSON) setiriniň mysaly:
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) Ýygnamak we ulag

Agentler/eksportçylar (daemonset/sidecar) → düwündäki bufer → teker/ingest (TLS/mTLS) → signallary saklamak.
Talaplar: back-pressure, retrailer, de-duplikasiýa, kardinallygy çäklendirmek (labels!), "log storms" -dan goramak.

Metrikler: pull (Prometheus-gabat gelýär) ýa-da OTLP arkaly push.
Yzarlamalar: OTLP/HTTP (gRPC), kollektordaky tail-samplerler.
Logy: lokal ýygnamak (journald/docker/stdout) → parser → normalizator.

5) Saklamak we retensiýa (tiered)

Metrikler: gyzgyn TSDB 7-30 gün (downsample bilen), agregatlar has uzak wagtlap (90-365 gün).
Yşyklandyryş: 1-7 gün doly, soňra "möhüm" hyzmatlaryň aggregatlary/spanlary; indeksleri 'service', 'status', 'error' boýunça saklamak.
Logi: gyzgyn indeks 7-14 gün, ýyly 3-6 aý, arhiw 1-7 ýyla çenli (complayens). Audit - WORM.

Çykdajylary optimizirlemek: downsampling, önümdäki DEBUG süzgüçleri, bellikler üçin kwotalar, ýollar üçin sampling.

6) SLI/SLO, alerting we nobatçylyk

SLI: elýeterlilik (üstünlikli haýyşlaryň%), gizlinlik (p95/p99), 5xx paýy, maglumatlaryň täzeligi, üstünlikli job paýy.
SLO: SLI-de maksat (mysal üçin 99. 9% üstünlikli ≤ 400 ms).
Error budget: 0. % 1 "ýalňyşlyk hukugy" → fiçfriz/synag düzgünleri.

Alamatlar boýunça alerting (mysal):
  • `ALERT HighLatency` если `p99(http_server_duration_seconds{route="/pay"}) > 1s` 5мин.
  • `ALERT ErrorRate` если `rate(http_requests_total{code=~"5.."}[5m]) / rate(http_requests_total[5m]) > 0. 02`.
  • Silos-alertler (CPU/Disk) - paging bolmazdan, diňe kömekçi hökmünde.

7) Signallaryň baglanyşygy

"Gyzyl" metrika → exemplara basýarys → anyk 'trace _ id' → "haýal" spana seredýäris → şol 'trace _ id' -de loglary açýarys.
Relizler bilen baglanyşyk: 'version', 'image _ sha', 'feature _ flag' atributlary.
Maglumat/ETL üçin: 'dataset _ urn', 'run _ id', lineage bilen baglanyşyk (degişli makala serediň).

8) Semplemek we kardinallyk

Metrikler: bellikleri çäklendirýäris ('user _ id', 'session _ id'); hasaba alnanda kwotalar/tassyklama.
Yzarlamalar: baş-sample (girelgede) we tail-sample (kollektorda) düzgünleri bilen birleşdirýäris: "5xx, p99, ýalňyşlyklar - 100%".
Loglar: derejeler we drossellemek; ýygy-ýygydan gaýtalanýan ýalňyşlyklar üçin - jemleýji wakalar (dedupe açary).

Tail-sampling mysaly (konseptual, OTel Collector):
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) Howpsuzlyk we gizlinlik

In Transit/At Rest: şifrlemek (TLS 1. 3, AEAD, KMS/HSM).
PII/syrlar: iberilmezden öň arassalaýjylar, bellik etmek, gizlemek.
Giriş: Okamak üçin ABAC/RBAC; rollary bölmek producers/readers/admins.
Audit: ýazgylara/ýollara girmegiň üýtgemeýän sanawy; eksport - şifrlenen görnüşde.
Köp kärende: syýasatçylar bilen namespaces/tenant-labels; şifrlemek açarlaryny izolirlemek.

10) Konfigurasiýa profilleri (bölekler)

Prometheus (HTTP + alerting metrikleri):
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']
slo. rules. yaml (RED mysaly):
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
OpenTelemetry SDK (psevdokod):
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
Programma ýazgylary (stdout JSON):
python log. info("gw_timeout", extra={"route":"/pay","code":502,"trace_id":get_trace_id()})

11) Maglumatlar/ETL we akym

Maglumatlar üçin SLI: täzelik (max lag), doly (rows vs expectation), "hil" (walidatorlar/duplikatlar).
Alertler: penjireden geçmek, konsumer yzy, DLQ beýikligi.
Baglanyşyk: 'run _ id', 'dataset _ urn', lineage wakalary; payplayns üçin yzarlamalar (batch/partition üçin span).
Kafka/NATS: metrikler prodýuser/konsumer, lag/ret; headers boýunça yzarlamalar (şol sanda 'traceparent').

12) Profillemek we eBPF (goşmaça signal)

Pes derejeli gyzgyn ýollar CPU/alloc/IO; Wakanyň profilleri.
eBPF-telemetriýa (tor gijikdirmeleri, DNS, ulgam jaňlary) 'trace _ id '/PID bilen baglanyşdyrylýar.

13) Synlanylyşy barlamak

Signallaryň şertnamasy: CI-e metrikleriň/bellikleriň/gistogrammalaryň eksportyny barlamak.
Synthetic probes: RUM ssenarileri/daşarky SLI üçin simulirlenen müşderiler.
Chaos/Fire drills: endikleriň öçürilmegi, pese gaçmagy - aladalaryň we nobatçylaryň nähili reaksiýa görkezýändigine seredýäris.
Önümdäki smoke: Täze endpointleriň metrikleriniň we yzarlamalarynyň barlanmagyndan soňky barlag.

14) Çykdajy we göwrümlere gözegçilik

Signal/buýruk boýunça býujetler; dashboard "cost per signal".
Býudjetiň aşagyndaky kardinallyk (cardinality SLO), täze belliklere çäklendirmeler.
Downsampling, maglumat synplary, "sowuk" arhiwler we audit üçin WORM.

15) Gözegçilik platformasynyň işleýşi we SLO

SLO platformalary: 99. 9% üstünlikli ingestler; metrikler indeksine çenli gijä galmak ≤ 30 s, log ≤ 2 minut, ýol ≤ 1 minut.
Platformanyň aladalary: lag injest, damjalaryň ösüşi, gol/şifrlemek ýalňyşlygy, buferleriň aşa köp bolmagy.
DR/HA: köp zolakly, köpeldilen, konfigurasiýalaryň/düzgünleriň ätiýaçlyk nusgalary.

16) Çek-listler

Önümden öň:
  • Hemme ýerde 'trace _ id '/' span _ id'; JSON-logi shema bilen.
  • Histogramlar bilen RED/USE metrikleri; exemplar → trassalar.
  • Tail-sampling goşuldy; düzgünler 5xx/p99 = 100%.
  • Alamatlar boýunça alertler + Runibuki; asuda sagat/anti-flap.
  • PII sanitizatorlary; şifrlemek at rest/in transit; Audit üçin WORM.
  • Göwrümler/kardinallyk üçin retensler we býudjetler.
Ulanyş:
  • Alertleriň her aýda gözden geçirilmegi (ses/takyklyk), bosagalaryň sazlanmagy.
  • Error budget boýunça hasabat we görülýän çäreler (fiçfriz, hardening).
  • Möhüm ýollar üçin daşbordlaryň/çukurlaryň/ýollaryň örtüklerini barlamak.
  • Okuw hadysalary we runbook täzelenmeleri.

17) Runbook’и

RCA: p99/pay

1. 'checkout' üçin RED dashboard açyň.
2. exemplar → haýal ýol → "dar span" (mysal üçin, 'gateway. call`).

3. 'trace _ id' → arkaly loglary aç

4. Yza gaýdyp geliş fiç baýdagyny/RPS çägini açyň, garaşlylygyň eýelerine habar beriň.
5. Durnuklaşandan soň - RCA, optimizasiýa biletleri, oýnamak synagy.

Data anomaliýasy (lag DWH):

1. SLI "täzelik" Gyzyl → Job ýollary → Falling ädim.

2. Broker/DLQ, konnektor ýalňyşlyklaryny barla.

3. Status kanaly arkaly sarp edijilere (BI/önüm) habar bermek üçin reprocess-i başla.

18) Ýygy-ýygydan ýalňyşlyklar

Diagrammasyz we 'trace _ id' -siz girişler. Derňewler birnäçe gezek yza süýşürilýär.
Alamatlaryň ýerine infrastruktura aladalary. Paging "süýte" gidýär.
Metrikleriň çäksiz kardinallygy. Çykdajylaryň partlamasy we durnuksyzlyk.
Ähli ýollar 100%. Gymmat we gerek däl; akylly semplemegi açyň.
PII/syr ýazgylarda. Arassalaýjylary we "gyzyl sanawlary" goşuň.
"Dilsiz" çitler. Metriksiz täze kod.

19) FAQ

S: Loglaryň çig tekstini saklamak zerurmy?
O: Hawa, ýöne retensiýa we arhiwler bilen; alertler we SLO üçin ýeterlik agregatlar bar. Audit - WORM-de.

S: Ýollar üçin näme saýlamaly - head ýa-da tail sampling?
O: Kombinasiýa: esasy örtük üçin head-probabilistic + ýalňyşlyklar we anomaliýalar üçin tail-rules.

S: Ulanyjy metrikleri we tehniki ölçegleri nädip baglanyşdyrmaly?
O: Umumy 'trace _ id' we iş bellikleri ('route', 'tenant', 'plan'), şeýle hem önümiň wakalary (öwrülişikleri) arkaly ýollara baglanyşyk.

S: Alertlerde nädip gark bolmaly däl?
A: Alamatlara görä uruň, asuda sagatlary, duplikasiýany, toparlanmagy, SLO-nyň ileri tutulmagyny we her bir alert üçin standart eýesini giriziň.

Baglanyşykly materiallar:
  • "Audit we üýtgemeýän žurnallar"
  • "In Transit/At Rest şifrlemek"
  • "Syr dolandyryşy"
  • "Maglumatlaryň gelip çykyşy (Lineage)"
  • «Privacy by Design (GDPR)»
  • "Webhuklary eltmegiň kepillikleri"
Contact

Biziň bilen habarlaşyň

Islendik sorag ýa-da goldaw boýunça bize ýazyp bilersiňiz.Biz hemişe kömek etmäge taýýar.

Integrasiýany başlamak

Email — hökmany. Telegram ýa-da WhatsApp — islege görä.

Adyňyz obýýektiw däl / islege görä
Email obýýektiw däl / islege görä
Tema obýýektiw däl / islege görä
Habar obýýektiw däl / islege görä
Telegram obýýektiw däl / islege görä
@
Eger Telegram görkezen bolsaňyz — Email-den daşary şol ýerden hem jogap bereris.
WhatsApp obýýektiw däl / islege görä
Format: ýurduň kody we belgi (meselem, +993XXXXXXXX).

Düwmäni basmak bilen siz maglumatlaryňyzyň işlenmegine razylyk berýärsiňiz.