Strumenti di monitoraggio API e infrastruttura
1) Principi: da obiettivi a strumenti
SLO-first: seleziona e configura gli strumenti per scopi alimentari (login, deposito, tasso), non viceversa.
Open standards: OpenTelemetry (trailer/metriche/logi), Prometheus express format, Loki JSON-logs.
Unico contesto: 'trace _ id '/' span _ id', nei loghi e nelle metriche; Linky Dashboard → →.
Cost-aware - Cardinalità delle metriche, TTL dei loghi, sampling delle roulotte - in anticipo.
2) Metriche: raccolta, archiviazione, visualizzazione
Сбор: Prometheus / Agent-режим (VictoriaMetrics Agent, Grafana Agent, OpenTelemetry Collector).
Storage (TSDB): Prometheus (single), Thanos/Cortex/Mimir (ridimensionamento orizzontale), VictoriaMetrics (risparmio CPU/RAM).
Grafana come «pannello di vetro».
Cosa misurare per API (RED) e infrastruttura (USE):- RED: `rate(requests)`, `error_ratio`, `latency p95/p99` по `route`, `method`, `provider`.
- USE: CPU/Mem, file descriptors, connection pools, queue lag, GC pauses.
- k8s: kube-state-metrics, node-exporter, cAdvisor, ingress/gateway exporters.
- БД/кэши: postgres_exporter, mysql_exporter, redis_exporter, kafka_exporter, rabbitmq_exporter.
- Strumenti mash: Avvoy metrics, istio/Linkerd dashboards.
- PSP/внешние: custom exporters (webhook success, PSP success ratio, callback latency).
promql
Successo dei depositi (SLI)
sum(rate(ig_payments_requests_total{route="/payments/deposit",status=~"2.."}[5m]))
/
sum(rate(ig_payments_requests_total{route="/payments/deposit"}[5m]))
p95 latency API histogram_quantile(0. 95, sum(rate(http_request_duration_seconds_bucket[5m])) by (le, route))
Satura il pool di connessioni db _ connessioni _ in _ use/db _ connessioni _ max3) Logni: ricerca, correlazione, invariabilità
Stack: OpenSearch/Elasticsearch + Beats/Vector/Fluent Bit o Grafana Loki (più economico in conservazione, «loga-come-strame»).
Formato: JSON con i campi standard «ts, level, service, env, trace _ id, user _ pid, route, status, latency _ ms».
Pratiche: maschera PII, bozzetti WORM per l'ispezione, regole TTL/ILM, partizionamento per «eng/region/brand».
4) Traccia: dove si perdono millisecondi
Стек: OpenTelemetry SDK/Collector → Jaeger/Tempo/Honeycomb/New Relic Traces.
Criteri di sempilamento: 100% di errori, adattamento per query lente, 1-5% di successo.
Теги iGaming: `provider`, `psp`, `risk_decision`, `bonus_id`, `market`, `ws_table_id`.
Una ricetta veloce per il debag: da un grafico rosso SLO, una roulotte di un percorso problematico, uno span «grasso» su un fornitore di videogiochi PSP, un di webhook.
5) piattaforme APM: quando «tutto-in-uno»
Le soluzioni commerciali (Datadog, New Relic, Dynamatrace, Grafana Cloud) chiudono APM, logi, roulotte, sintetici, RUM.
I vantaggi sono la velocità di implementazione, la correlazione da scatola. Contro - costo/vendor-lock.
Ibrido: kernel su OSS (Prometheus + Grafana + Tempo + Loki), «finalizzare» sintetico/alerting con moduli commerciali su flow critici.
6) Sintetico e RUM: «fuori» e «con gli occhi del giocatore»
Синтетика: Checkly, Grafana Synthetic Monitoring, k6 Cloud, Uptrends, Pingdom, Catchpoint, ThousandEyes.
Script: login deposito (sandbox) per avviare il gioco per controllare il webhook.
Geo: EU/LatAm/MEA/APAC, reti mobili, ASN-mix.
RUM: Web-SDK (TTFB/LCP/CLS), mobile SDK; segmentazione nazionale/rete/dispositivo.
7) Kubernets-superfici di monitoraggio
Control plane: etcd, API-server (apiserver_request_total, latency), scheduler/controllermanager.
Data plane: kubelet, CNI, ingress/gateway; `PodDisruptionBudget` и эвикшены.
Scale automatico: HPA/VPA/Cluster Autoscaler metriche ed eventi; pool warm.
Criteri di rete: drop/deny events, DNS latency.
8) Database, code, cache
Postgres/MySQL: lega di replica, deadlocks, bloat, WAL, checkpoint duration, timeout.
Kafka/RabbitMQ: consumer lag, rebalances, queue depth, redeliveries.
Redis: evictions, blocked clients, latency percentiles, replica-lega.
PITR/Becap: attività degli operatori di backup + dashboard tempo prima del ripristino.
9) Rete, CDN, WAF, provider di giochi e PSP
CDN/Edge: hit-ratio, TTFB per regione, shield hit, tempesta di errori.
WAF/bot manager: share challenge/blocchi, ASN/paesi, FPR su login/deposito.
Game provider: ora di avvio del tavolo/slot, guasto/timeout per gli studi.
PSP: success ratio/latency per metodo/paese/BIN, codice di errore 3DS/AVS, webhooks success & delay.
10) Alerting e servizio
L'Alertmanager è .
Regole: sintomi (SLO) + causali (risorse).
Anticum, raggruppamento, soppressione degli alert a catena, finestre di silenzio per il lancio.
Gate SLO in CD: pausa auto/rientro in caso di violazione (Argo Rollouts/Flagger AnalysisRun).
Esempi di alert (semplificati):- `login_success_ratio < 99. 9% for 10m`
- `p95 /payments/deposit > 0. 4s for 10m`
- `db_connections_saturation > 0. 85 for 5m`
- `kafka_consumer_lag > 30s`
- `cdn_hit_ratio drop > 15% in 10m (per region)`
11) Dashboard che aiutano davvero
Deposito flow: vortice, p95/p99, errori su PSP/BIN/paesi, ritardo webhoop.
Giochi live/WS: connessioni, RTT, resend/riavnect, errori sui provider.
Salute API: RED su rotte, saturations, top slow endpoint trade.
Dashboard DR: replication lag, WAL shipping, synthetic login/deposit della regione DR.
Sicurezza: WAF, bot score, 401/403 anomalie firmate webhoop.
12) Gestione del costo della telemetria
Cardinalità delle metriche: non includere «user _ id» nelle etichette, limiti su «route» e «provider».
Le classi di Downsampling e Retention (caldo 7-14 giorni, caldo 30-90, freddo archivio).
Loghi: aumento degli eventi - Attivare il depliage/deadup; memorizzare lo stacktrace separatamente.
Trainer: sampling dinamico attraverso percorsi «costosi» (pagamenti/conclusioni).
13) Sicurezza e privacy nel monitoraggio
mTLS da agenti a raccoglitori; crittografia at-rest.
Alias user _ pid, disabilitazione e-mail/telefono/documenti.
RBAC/MFA, WORM per il controllo; DPA con fornitori di monitoraggio di terze parti.
14) Integrazione con CI/CD e autolesionismo
Esposizione SLI come metrico per le analisi CD.
Release labels ('variante', 'rollout _ step') in metriche/loga/trailer.
Gate canarie automatiche: il deposito continuerà solo con gli SLO verdi.
15) Avvio veloce stack (arbitro)
Raccolta/trasporto: OTEL Raccoglitore + Prometheus/VM Agente + Fluent Bit.
Magazzino: (metriche), ( ), Tempo/Jaeger (roulotte).
Immagine: Grafana + K8s/Avvoy/Postges.
Sintetico & RUM: Checkly/k6 + Grafana RUM (o equivalente commerciale).
Alerting: Alertmanager ; runbooks nei collegamenti.
16) Assegno-foglio di implementazione (prod-ready)
- Definito SLO/SLI per login/deposito/tasso/output.
- Metriche RED/USE + Business SLI; Un'unica ontologia discografica.
- Login JSON con'trace _ id ', maschera PII, WORM per il controllo.
- OpenTelemetry end-to-end; 100% di decompressione degli errori.
- Sintetica dalle regioni chiave + RUM in vendita.
- Dashboard «flow deposito», «WS», «API salute», «DR».
- Alerting: sintomi SLO + cause di risorse; Antichum.
- I gate SLO sono collegati al CD; ripristino automatico.
- Piano di costo: retenschen/sempreverde/cardinalizio.
- DPA/sicurezza: mTLS, RBAC, privacy dei reparti.
Curriculum
Un monitoraggio forte non è un insieme di grafici belli, ma un sistema collegato: metriche RED/USE, loghi con trace _ id, ricalco OpenTelemetry, sintetico e RUM, più dashboard, alerting e gate SLO incorporati nel tuo CI/CD. Raccogliete la pila intorno agli standard aperti, controllate il costo della telemetria e standardizzate l'etichetta discografica, in modo che qualsiasi problema con l'API e l'infrastruttura sia visibile in anticipo e risolto prima che vengano notati dai giocatori.
