Narzędzia monitorowania API i infrastruktury
1) Zasady: od celów do narzędzi
SLO-first: wybrać i dostosować narzędzia do celów produktowych (login, deposit, rate), a nie na odwrót.
Otwarte standardy: OpenTelemetry (trasy/mierniki/dzienniki), format ekspozycji Prometheus, dzienniki Loki JSON.
Pojedynczy kontekst: 'trace _ id'/' span _ id' w logach i miernikach; linki „dashboard → trace → log”.
Świadomość kosztów: kardynalność mierników, dzienniki TTL, ślady próbkowania - z wyprzedzeniem.
2) Metryka: kolekcja, przechowywanie, wizualizacja
Сбова: Prometheus/Agent-ресив (VictoriaMetrics Agent, Grafana Agent, OpenTelemetry Collector).
Przechowywanie (TSDB): Prometheus (single), Thanos/Cortex/Mimir (scale-out), VictoriaMetrics (CPU/RAM savings).
Wizualizacja: Grafana jako „szklany panel”.
Co mierzyć w przypadku API (RED) i infrastruktury (USE):- RED: 'rate (requests)', 'error _ ratio', 'latency p95/p99', 'route', 'method', 'provider'.
- UŻYJ: CPU/Mem, deskryptory plików, puli połączeń, opóźnienie kolejki, pauzy GC.
- k8s: kube-state-metrics, node-exporter, cAdvisor, ingress/gateway exporters.
- МО/ко: postgres_exporter, mysql_exporter, redis_exporter, kafka_exporter, rabbitmq_exporter.
- Zacieranie serwisowe: mierniki wysłanników, deski rozdzielcze istio/Linkerd.
- PSP/вневний: niestandardowi eksporterzy (sukces webhook, wskaźnik sukcesu PSP, latencja callback).
promql
Wskaźnik powodzenia depozytów (SLI)
suma (stawka (ig_payments_requests_total{route="/payments/deposit,"status=~"2.."}[5m]))
/
suma (stawka (ig_payments_requests_total{route="/payments/deposit"}[5m]))
p95 opóźnienie API histogram_quantile (0. 95, suma (stawka (http_request_duration_seconds_bucket[5m])) przez (le, trasa))
db_connections_in_use/ nasycenia puli połączeń DB db_connections_max3) Dzienniki: wyszukiwanie, korelacja, niezmienność
Stos: OpenSearch/Elasticsearch + Beats/Vector/Fluent Bit lub Grafana Loki (tańsze do przechowywania, logowanie-as-stream).
Format: JSON ze standardowymi pól, poziomem, usługą, trace_id, user_pid, trasą, statusem, latency_ms'.
Praktyki: maskowanie PII, wiadra audytowe WORM, polityka TTL/ILM, partycjonowanie w zakresie „wnętrza/regionu/marki”.
4) Śledzenie: gdzie milisekundy są tracone
Стева: OpenTelemetry SDK/Collector → Jaeger/Tempo/Honeycomb/New Relic Traces.
Polityka pobierania próbek: 100% błędów, † dla „powolnych” żądań, 1-5% udanych.
Теба iGaming: 'provider', 'psp', 'risk _ decision', 'bonus _ id',' market ',' ws _ table _ id'.
Szybki przepis na debatę: z czerwonego wykresu SLO → ślad trasy problemu → „gruba” rozpiętość na dostawcy PSP/gry → dziennik haka.
5) Platformy APM: gdy wszystko w jednym
Rozwiązania komercyjne (Datadog, New Relic, Dynatrace, Grafana Cloud) zamknąć APM, dzienniki, szlaki, syntetyki, RUM.
Plusy: szybkość realizacji, korelacja poza ramką. Wady: zamek kosztowy/sprzedawca.
Hybryda: rdzeń OSS (Prometheus + Grafana + Tempo + Loki), syntetyka „finish ”/alert z modułami komercyjnymi na przepływie krytycznym.
6) Syntetyka i RUM: „na zewnątrz” i „przez oczy gracza”
Синтетика: Checkly, Grafana Synthetic Monitoring, k6 Cloud, Uptrends, Pingdom, Catchpoint, ThousandEyes.
Skrypty: zaloguj → depozyt (piaskownica) → uruchom grę → sprawdzenie haka internetowego.
Geo: EU/Latam/MEA/APAC, sieci komórkowe, mieszanka ASN.
RUM: Web-SDK (TTFB/LCP/CLS), mobile SDK; segmentacja według kraju/sieci/urządzenia.
7) Powierzchnie monitorujące kubernety
Płaszczyzna sterowania: etcd, serwer API (apiserver_request_total, opóźnienie), harmonogram/kontroler.
Płaszczyzna danych: kubelet, CNI, ingress/gateway; „PodDis Budget” мивикна.
Autoskale: HPA/VPA/Cluster Autoscaler mierniki i zdarzenia; ciepłe baseny.
Zasady sieci: krople/zaprzeczanie zdarzeniom, opóźnienie DNS.
8) Bazy danych, kolejki, bufory
Postgres/MySQL: opóźnienie replikacji, impasy, wzdęcia, WAL, czas trwania punktu kontrolnego, timeouts.
Kafka/RabbitMQ: opóźnienie konsumenckie, przywrócenia równowagi, głębokość kolejki, przebudowy.
Redis: zdarzenia, zablokowane klienci, opóźnienia procentowe, replika lag.
PITR/kopie zapasowe: zadania operatora kopii zapasowej + deska rozdzielcza czasu do przywrócenia.
9) Sieć, CDN, WAF, dostawcy gier i dostawcy usług płatniczych
CDN/Edge: wskaźnik trafienia, TTFB według regionu, uderzenie tarczy, "miss storm'.
WAF/bot manager: share challenges/blocks, ASN/countries, FPR on login/deposit.
Dostawcy gier: czas rozruchu stołu/automatu, awaria/timeouts by studio.
PSP: wskaźnik sukcesu/opóźnienie według metody/kraju/BIN, kody błędów 3DS/AVS, sukces i opóźnienie haków internetowych.
10) Ostrzeganie i obowiązek
Routing: Alertmanager → PagerDuty/Opsgenie/Slack.
Zasady: objawowe (SLO) + przyczynowe (zasoby).
Anty-hałas: grupowanie, tłumienie alarmów łańcuchowych, okna ciszy do zwolnienia.
Bramki SLO w CD: auto-pauza/rollback na naruszeniach (Argo Rollouts/Flagger Tp Run).
Przykłady wpisów (uproszczone):- 'login _ success _ ratio <99. 9% dla 10 m'
- "p95/płatności/depozyt> 0. 4s dla 10 m'
- "db _ connections _ nasycenie> 0. 85 dla 5 m'
- "kafka _ consumer _ lag> 30 s'
- 'cdn _ hit _ ratio drop> 15% w 10 m (na region)'
11) Deski rozdzielcze, które naprawdę pomagają
Przepływ depozytu: lejek, p95/p99, błędy PSP/BIN/country, opóźnienie haka internetowego.
Gry na żywo/WS: połączenia, RTT, resend/reconnect, błędy przez dostawcę.
Zdrowie API: CZERWONY szlakiem, nasycenie, górne powolne punkty końcowe
Panel DR: opóźnienie replikacji, wysyłka WAL, login/depozyt syntetyczny z regionu DR.
Bezpieczeństwo: WAF, bot score, 401/403 anomalie, podpisane haki internetowe.
12) Zarządzanie kosztami telemetrii
Kardynalność mierników: nie uwzględniać "user _ id' w etykietach, limitach" trasy "i" dostawcy ".
Klasy downsampling i retencji (gorące 7-14 dni, ciepłe 30-90, zimne archiwum).
Dzienniki: skok zdarzeń - włącz próbkowanie/dedup; sklep stacktrace oddzielnie.
Ślady: dynamiczne pobieranie próbek wzdłuż „drogich” ścieżek (płatności/wnioski).
13) Bezpieczeństwo i prywatność w monitorowaniu
mTLS od agentów do odbiorców; szyfrowanie w czasie odpoczynku.
Pseudonimizacja 'user _ pid', zakaz wysyłania e-maili/telefonu/dokumentów w dziennikach.
RBAC/MFA, WORM do audytu; DPA z dostawcami monitorującymi strony trzecie.
14) Integracja z CI/CD i auto rolki
Ekspozycja na SLI jako bal maturalny do analiz CD.
Etykiety uwalniania („wersja”, „rollout _ step”) w metrykach/logach/śladach.
Automatyczne bramy kanaryjskie: zejście będzie kontynuowane tylko z zielonymi SLO.
15) Stos szybkiego startu (odniesienie)
Kolekcja/transport: OTEL Collector + Prometheus/VM Agent + Fluent Bit.
Przechowywanie: VictoriaMetrics/Thanos (metryki), Loki/OpenSearch (dzienniki), Tempo/Jaeger (szlaki).
Wizualizacja: Grafana + gotowe deski rozdzielcze k8s/Envoy/Postgres.
Syntetyka & RUM: Checkly/k6 + Grafana RUM (lub odpowiednik handlowy).
Ostrzeganie: Alertmanager → PagerDuty/Slack; książki startowe w referencjach.
16) Lista kontrolna wdrażania (prod-ready)
- SLO/SLI zdefiniowane dla login/deposit/bid/output.
- RED/USE + Business SLI metrics; pojedyncza ontologia etykiet.
- Dzienniki JSON z 'trace _ id', maskowanie PII, WORM do audytu.
- End-to-end OpenTelemetry; 100% próba błędu.
- Syntetyka z kluczowych regionów + RUM w sprzedaży.
- Deski rozdzielcze „flow deposit”, „WS”, „API health”, „DR.”
- Ostrzeganie: objawy SLO + przyczyny zasobów; anty-hałas.
- Bramki SLO są połączone z płytą CD; auto-rollback.
- Plan kosztów: zatrzymanie/pobieranie próbek/kardynalność.
- DPA/bezpieczeństwo: mTLS, RBAC, prywatność dziennika.
Wznów streszczenie
Silny monitoring to nie zestaw „pięknych wykresów”, ale spójny system: mierniki RED/USE, logi ze śladami 'trace _ id', OpenTelemetry, syntetyki i RUM, a także deski rozdzielcze, wpisy i bramy SLO wbudowane w płytę CI/CD. Zbuduj stos wokół otwartych standardów, kontroluj koszt telemetrii i standaryzuj ontologię etykiet - wtedy wszelkie problemy z API i infrastrukturą będą widoczne z wyprzedzeniem i naprawione, zanim zostaną zauważone przez graczy.
