GH GambleHub

Syn asty

1) Näme üçin gözegçilik steki gerek?

Çalt RCA we MTTR peselmegi: simptomdan sebäplere minutlarda.
SLO-dolandyryş: ýalňyşlyklary/gizlinligi ölçemek, nädogry býudjet boýunça alerting.
Relizlere gözegçilik etmek: kanareýanyň ýerleşdirilmegi, metrikler boýunça awto-rollback.
Howpsuzlyk we audit: giriş ýollary, anomaliýalar, Legal Hold.
FinOps-aç-açanlyk: saklamak/talap etmek bahasy, cost-per-SLO.

Metodologiýalar: Golden Signals (latency/traffic/errors/saturation), RED, USE.

2) Sütüniň esasy arhitekturasy

Gatlaklara görä komponentler

Ýygnamak/agentler: Exporters, Promtail/Fluent Bit, OTel SDK/Auto-Instr, Blackbox-probes.
Шина/ingest: Prometheus remote_write → Mimir/Thanos, Loki distributors/ingesters, Tempo/Jaeger ingesters.
Ammar: obýekt S3/GCS/MinIO (uzyn sowuk), SSD (gyzgyn hatarlar).
Soraglar/wizualizasiýa: Grafana (paneller, SLO widgetler), Kibana (ELK bolsa).
Dolandyryş: Alertmanager/Grafana-alertler, hyzmat katalogy, RBAC, gizlin-dolandyryjy.

Ýerleşdiriş nusgalary

Managed (Grafana Cloud/Cloud Services) - göwrümi boýunça çalt we has gymmat.
Öz-hosted K8s - doly gözegçilik, işlemäge mätäç we FinOps.

3) Maglumatlaryň standartlary: ýeke-täk "gözegçilik shemasy"

3. 1 Metrikler (Prometheus/OpenMetrics)

Hökmany bellikler: 'env', 'region', 'cluster', 'namespace', 'service', 'version', 'tenant', 'endpoint'.
Ady: 'snake _ case', '_ total', '_ seconds', '_ bytes' goşulmalary.
Gistogrammalar: kesgitlenen 'buckets' (SLO gönükdirilen).
Kardinallyk: 'user _ id', 'request _ id' belliklere goşulmaýar.

3. 2 Ýazgylar

Format: JSON; Hökmany meýdanlar 'ts', 'level', 'service', 'env', 'trace _ id', 'span _ id', 'msg'.
PII: agentde gizlenmek (PAN, bellikler, e-mail we ş.m.).
Loki-bellikler: diňe pes kardinallyk ('app', 'namespace', 'level', 'tenant').

3. 3 Ýollar

OTel semantika: 'service. name`, `deployment. environment`, `db. system`, `http.`.
Sampling: p99 maksat ýollary - 'always _ on '/tail-sampling, galanlary -' parent/ratio '.
ID gurmak: 'trace _ id/span _ id' -ni loglara we metriklere (labels/fields) zyňyň.

4) M-L-T baglanyşygy (Metrics/Logs/Traces)

Alert grafikasyndan (metrika) → süzülen loglar 'trace _ id' → anyk ýol.
Trassadan (haýal span) → span aralygyndaky belli bir arka tarapyň metrikleriniň soralmagy.
Panellerdäki "Drilldown" düwmeleri: üýtgeýän ('$env', '$service', '$trace_id').

5) OpenTelemetry Collector: Salgylanma paýy

yaml receivers:
otlp:
protocols: { http: {}, grpc: {} }
prometheus:
config:
scrape_configs:
- job_name: kube-nodes static_configs: [{ targets: ['kubelet:9100'] }]

processors:
batch: {}
memory_limiter: { check_interval: 1s, limit_mib: 512 }
attributes:
actions:
- key: deployment. environment value: ${ENV}
action: insert tail_sampling:
decision_wait: 5s policies:
- name: errors type: status_code status_code: { status_codes: [ERROR] }
- name: important-routes type: string_attribute string_attribute: { key: http. target, values: ["/payments","/login"] }
- name: probabilistic type: probabilistic probabilistic: { sampling_percentage: 10 }

exporters:
otlphttp/mimir: { endpoint: "https://mimir/api/v1/push" }
otlphttp/tempo: { endpoint: "https://tempo/api/traces" }
loki:
endpoint: https://loki/loki/api/v1/push labels:
attributes:
env: "deployment. environment"
service: "service. name"

service:
pipelines:
metrics: { receivers: [prometheus, otlp], processors: [memory_limiter, batch], exporters: [otlphttp/mimir] }
logs:   { receivers: [otlp], processors: [batch], exporters: [loki] }
traces:  { receivers: [otlp], processors: [memory_limiter, attributes, tail_sampling, batch], exporters: [otlphttp/tempo] }

6) Alerting: SLO we multi-burn

Ideýa: alertim "CPU> 80%" derejesinde däl-de, "Error Budget" -iň sarp edilişinde.

PromQL şablonlary:
promql
5-minute error rate err_ratio_5m =
sum(rate(http_requests_total{status=~"5.."}[5m])) /
sum(rate(http_requests_total[5m]))

Quick burn (1m window)
(err_ratio_1m / (1 - SLO)) > 14. 4

Slow burn (30m)
(err_ratio_30m / (1 - SLO)) > 2
Gizlinlik (gistogramma):
promql latency_p95 =
histogram_quantile(0. 95, sum by (le) (rate(http_request_duration_seconds_bucket[5m])))

7) Daşbordlar: bukjalaryň gurluşy

00_Overview - platforma: SLO, p95, 5xx%, capacity, işjeň hadysalar.
10_Services - RPS, p95/p99, ýalňyşlyklar, goýberişler (düşündirişler) boýunça.
20_Infra - K8s/nodes/storage/tor, etcd, kontroller.
30_DB/Queues — PostgreSQL/Redis/Kafka/RabbitMQ.
40_Edge/DNS/CDN/WAF - ingress, LB, WAF düzgünleri.
50_Synthetic - aptime we headless ssenarileri.
60_Cost/FinOps - saklamak, haýyşlar, gyzgyn/sowuk, çaklama.

Her panel: düşündiriş, birlikler, eýesi, runbook-baglanyşyk, drilldown.

8) Bloglar: LogQL tejribe

logql
API errors
{app="api", level="error"}     = "Exception"

Nginx 5xx in 5 minutes
{app="nginx"}      json      status=~"5.."      count_over_time([5m])

Extract Fields
{app="payments"}      json      code!=""      unwrap duration      avg()

9) Ýollar: TraceQL we hileler

Iň haýal ýatgylary tapyň:

{ service. name = "api" }      duration > 500ms
Sandwiç "haýal SQL haýal haýyşda":

{ name = "HTTP GET /order" }      child. span. name = "SELECT" & child. duration > 50ms

10) Sintetika we aptaim

Blackbox-exporter: ≥ 3 sebitden HTTP/TCP/TLS/DNS synaglary/ASN.
Headless: login/deposit ssenarileri.
Quorum-alertler: 2 sebitiň ≥ şowsuzlygy görse, işlemegi.
Status-sahypa: awtomatiki täzelenmeler + el bilen düşündirişler.

11) Saklamak we retenşn

Metrikler: gyzgyn 7-30 gün (çalt hatarlar), downsampling/recording rules, sowuk - obýekt saklaýyş (aýlar).
Logi: gyzgyn 3-7 gün, soňra - indeks bilen S3/GCS (Loki chunk store/ELK ILM).
Ýollar: 3-7 gün 'always _ on' + saýlawlar üçin uzak wagtlap saklamak (tail-sampled/ret).

Teklipler:
  • Rollover ululygy we wagty boýunça; haýyşlar üçin býudjet (kwotalar/çäkler).
  • Prod/stage we howpsuzlyk maglumatlary üçin aýratyn syýasatlar.

12) Köp tenantlyk we elýeterlilik

'tenant '/' namespace '/Spaces, indeks-patternleri we rugsatlary bölüň.
Billing üçin serişdeleri belläň: 'tenant', 'service', 'team'.
Import daşbordlar/alertler - anyk buýruklaryň giňişliginde.

13) Howpsuzlyk we gabat gelmek

Agentlerden bekendlere çenli TLS/mTLS, hususy saglyk üçin HMAC.
RBAC okamak/ýazmak, ähli haýyşlary we alertleri barlamak üçin.
PII-redaksiýa gyrada; sahypalarda syrlaryň gadagan edilmegi; DSAR/Legal Hold.
Izolýasiýa: duýgur domenler üçin aýratyn klasterler/nyşanlar.

14) FinOps: syn etmegiň bahasy

Bellikleriň kardinallygyny we logikasyny ingest (haýyşlarda däl).
Sampling trassalar + möhüm ýollar üçin maksatly always-on.
Agyr agregasiýalar üçin downsampling/recording rules.
Sowuk obýekte seýrek girişi arhiwlemek.
Метрики: `storage_cost_gb_day`, `query_cost_hour`, `cost_per_rps`, `cost_per_9`.

15) CI/CD we gözegçilik synaglary

CI-de metrik/loglary linting: kardinallygyň "partlamasyny" gadagan etmek, gistogrammalary/birlikleri barlamak.
Contract-syn synaglary: hökmany metrikler/log meýdanlary, 'trace _ id' middleware.
Canary: grafalardaky relizleriň düşündirişleri, SLO-auto-rollback.

16) Mysallar: çalt haýyşlar

Iň soňky nokatlar:
promql topk(10, sum by (route) (rate(http_requests_total{status=~"5.."}[5m])))
CPU throttling:
promql sum by (namespace, pod) (rate(container_cpu_cfs_throttled_seconds_total[5m])) > 0
Kafka lag:
promql max by (topic, group) (kafka_consumergroup_lag)

(Loki → Tempo): 'trace _ id' -ni Tempo UI/dashboard linkine geçiriň.

17) Yassynyň hili: çek-sanawy

  • Metrikleriň/loglaryň/ýollaryň we ölçeg birlikleriniň ylalaşylan shemalary.
  • 'trace _ id' log we metriklerde, panellerden drilldown.
  • Multi-burn SLO-alertler fappingsiz (quorum/multi-window).
  • Downsampling, kwotalar, ädim/diapazon çäkleri.
  • Retenşn we saklaýyş synplary resminamalaşdyrylýar we ulanylýar.
  • RBAC/audit/PII-redaksiýa girizildi.
  • Daşbordlar: eýesi, runbooks, 2-3 ekran ≤, çalt jogap.
  • FinOps-daşbord (göwrümi, bahasy, iň ýokary gürleýjileri).

18) Durmuşa geçirmek meýilnamasy (3 iterasiýa)

1. MVP (2 hepde): Prometheus → Mimir, Loki, Tempo; OTel Collector; esasy daşbordlar we SLO-alertler; blackbox synaglary.
2. Scale (3-4 hepde): tail-sampling, downsampling, multi-region ingest, RBAC/Spaces, FinOps-dashbordlar.
3. Pro (4 + hepde): SLO boýunça awto-rollback, esasy ýollaryň headless-sintetikasy, Legal Hold, SLO portfeli we hasabat.

19) Anti-patternler

"SLO bolmasa owadan grafikler" - hereket ýok → peýdasy ýok.
Ýokary kardinally bellikler ('user _ id', 'request _ id') - ýadyň we bahanyň partlamasy.
JSON-syz we 'trace _ id' -siz loglar - baglanyşyk ýok.
Alamatlaryň ýerine çeşmeler boýunça alertler - ses we on-call-yň ýanmagy.
Retenşn-syýasatyň ýoklugy - çykdajylaryň gözegçiliksiz ýokarlanmagy.

20) Mini-FAQ

Näme saýlamaly: Loki ýa-da ELK?
Çylşyrymly gözleg/faset üçin ELK; Loki - grep-şuňa meňzeş ssenariler üçin arzan we çalt. Gibrid köplenç ulanylýar.

Her kime ýol gerekmi?
Hawa, iň bolmanda tail-sampling bilen esasy ýollarda (login, checkout, payments) - bu RCA-ny çaltlaşdyrýar.

Noldan nädip başlamaly?
OTel Collector → Mimir/Loki/Tempo → esasy SLO we blackbox-synaglar → soňra dashbordlar we burn-alertler.

Jemi

Syn ediliş ymagy - dürli gurallaryň toplumy däl-de, utgaşdyrylan ulgam: maglumatlaryň bitewi standartlary → M-L-T korrelýasiýa → SLO-alerting we sintetika → howpsuzlyk we FinOps. Shemalary, bellikleriň we retenşnleriň tertibini düzüň, OTel birikdiriň, drilldown we awto-rollback goşuň - we düşnükli baha bilen dolandyrylýan ygtybarlylygy alarsyňyz.

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.

Telegram
@Gamble_GC
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.