GH GambleHub

Παρατηρησιμότητα и δειγματοληψία ιχνοστοιχείων

1) Γιατί παρατηρησιμότητα

Η παρατηρησιμότητα (O11y) απαντά σε τρία ερωτήματα: τι συμβαίνει, γιατί, πώς να το διορθώσετε. Βασίζεται σε 4 σήματα:
  • Μετρήσεις (συγκεντρωτικά στοιχεία, ταχεία αντίδραση).
  • Αρχεία καταγραφής (λεπτομέρειες και εγκληματολογία)·
  • Ίχνη (εγκάρσια σχέση αιτίου-αποτελέσματος)·
  • Προφίλ (CPU/σωρός/διαμάχη κλειδώματος σε prod mode).

Κλειδί: συσχέτιση μεταξύ σημάτων + οικονομίας τηλεμετρίας (δειγματοληψία, κατακράτηση, συμπίεση).

2) Χάρτης σημάτων και αρχές

2. 1 ΕΡΥΘΡΟ/ΧΡΗΣΗ

RED (για API): Ρυθμός (RPS), Σφάλματα (% 5xx/4xx σημαντικό), Διάρκεια (p50/p95/p99).
ΧΡΗΣΙΜΟΠΟΙΗΣΗ (για πόρους): Χρήση, κορεσμός, σφάλματα (ΕΔΤ, ΚΜΕ, δίσκος, ουρές αναμονής).

2. Αμετάβλητα προϊόντων

Ορισμός SLO (π.χ. "p95 latency '/v1/payment ≤ 300ms, εσφαλμένος προϋπολογισμός 0. 5% σε 30 ημέρες"). Οι καταχωρίσεις πρέπει να «ουρλιάζουν» μόνο όταν η SLO παραβιάζεται ή καίγεται.

2. 3 Πλαίσιο

Εφαρμογή πλαισίου ιχνών W3C («traceparent», «tracestate») και αποσκευών για την ασφαλή μεταφορά των εν λόγω/επιχειρηματικών χαρακτηριστικών (π.χ. 'tenant', 'region', no PII).

3) Αρχιτεκτονική παρατηρησιμότητας

SDK/αυτόματη λειτουργία: OpenTelemetry (Otel) σε υπηρεσίες (HTTP/gRPC/DB/πελάτες).
Otel Collector ως λεωφορείο: παραλαβή → εμπλουτισμός → δειγματοληψία → εξαγωγή (Prometheus, Tempo/Jaeger, Loki/ELK, ClickHouse).

Θησαυροφυλάκια:
  • Μέτρηση: Προμηθέας/Μιμίρ/Βικτώρια.
  • Μονοπάτια: Tempo/Jaeger/Zipkin.
  • Αρχεία καταγραφής: αποθήκευση Loki/ELK/Vector→S3+deshevoye·
  • Προφίλ: Πυροσκόπιο/Πάρκα.
  • Συσχέτιση: γραφήματα υπηρεσιών, υποδείγματα, μετάβαση από το γράφημα p99 σε ένα συγκεκριμένο ίχνος.

4) Ανίχνευση δειγματοληψίας: Στρατηγικές

4. 1 Δειγματοληψία με βάση την κεφαλή

Απλή και φθηνή εφαρμογή (σε SDK/είσοδο).
Κατά: Μπορεί να χάσετε σπάνια σφάλματα/αργές ερωτήσεις.

Πότε: υψηλή RPS, αυστηροί προϋπολογισμοί, απαιτείται προβλέψιμο μερίδιο (για παράδειγμα, 1-5%).

4. 2 Δειγματοληψία με βάση την ουρά

Η απόφαση λαμβάνεται στο Collector μετά το τέλος της περιόδου.
Μπορούν να εξασφαλιστούν ανωμαλίες προς επιλογή: σφάλματα, p99, ειδικές διαδρομές/ενοικιαστές.
Κατά: ρυθμιστικό διάλυμα, σκληρότερο και ακριβότερο.

Πότε: χρειάζονται «ουσιαστικές» διαδρομές με μέτριο κόστος.

4. 3 Συνδυασμένο μοντέλο

Παγκόσμια κεφαλή 1-5%, συν τους κανόνες ουράς: «πάντα εξοικονομήστε σφάλματα/αργές εκτάσεις», «δείγμα 50% της κίνησης καναρινιών», «εξοικονομήστε όλα τα ίχνη των διαδρομών πληρωμής σε ένα περιστατικό».

5) Δυναμικός προϋπολογισμός δειγματοληψίας και τηλεμετρίας

Γνώση του προϋπολογισμού: διατήρηση όγκου ≤ N μονοπάτια/min. σε περίπτωση υπέρβασης, αύξηση των κατώτατων ορίων (για παράδειγμα, επιλέξτε μόνο p99. 5 +, μόνο σφάλμα).
Κανόνες ανά δρομολόγιο/ενοικιαστή: σημαντικά τελικά σημεία/ενοικιαστές - με μεγαλύτερο μερίδιο.
Προσαρμοζόμενα παράθυρα: εκρήξεις → προσωρινή αύξηση του σφάλματος/αργού ρυθμού.
Μείωση της πληθικότητας: ομαλοποίηση του παράγοντα χρήστη, IP/ASN, ίχνη στοίβας σκουός, μυστικά μάσκας.

6) Ρυθμίσεις (παραπομπές)

6. 1 Συλλέκτης OpenTelemetry - δειγματοληψία ουράς (θραύσμα yaml)

yaml receivers:
otlp: { protocols: { http: {}, grpc: {} } }

processors:
batch: { send_batch_size: 8192, timeout: 2s }
tail_sampling:
decision_wait: 5s num_traces: 100000 expected_new_traces_per_sec: 5000 policies:
- name: always-error type: status_code status_code: { status_codes: [ERROR] }
- name: slow-endpoints type: latency latency: { threshold_ms: 300 }      # p95 цель
- name: important-routes type: string_attribute string_attribute: { key: http. target, values: ["/v1/payments", "/v1/payouts"] }
- name: tenant-eu1 type: string_attribute string_attribute: { key: tenant, values: ["eu-1"] }
- name: probabilistic-default type: probabilistic probabilistic: { sampling_percentage: 5. 0 }

exporters:
otlphttp/tempo: { endpoint: http://tempo:4318 }
prometheus: { endpoint: "0. 0. 0. 0:9464" }

service:
pipelines:
traces:
receivers: [otlp]
processors: [batch, tail_sampling]
exporters: [otlphttp/tempo]

6. 2 Προμηθέας - υποδείγματα (θραύσμα)

Στην εφαρμογή, κατά την καταγραφή των ιστογραμμάτων, προστίθενται υποδείγματα με το «trace _ id». Στη Grafana, τα κλικ στις «βελόνες» οδηγούν σε ίχνος.

yaml scrape_configs:
- job_name: api scrape_interval: 10s honor_labels: true static_configs: [{ targets: ["api:9100"] }]
exemplar_limit: 10

6. 3 Loki - μείωση του κόστους των κορμοτεμαχίων

Οι ετικέτες είναι μόνο σταθερές ('service', 'env', 'region', 'route _ class').
Υψηλή πληθικότητα (request_id, user_id) - σε ωφέλιμο φορτίο, αλλά με ανακατανομή.
Δείγμα «επιτυχημένων» InfoLogs, αποθήκευση τυχόν σφαλμάτων/προειδοποιήσεων.

6. 4 Jaeger/Tempo - κατακράτηση και δείκτης

Αποθήκευση ακατέργαστων μονοπατιών για 3-7 ημέρες, συγκεντρωτικά στοιχεία/συμμετρίες για μεγαλύτερο χρονικό διάστημα.
Ενεργοποιήστε το parquet/μπλοκ σε φθηνή αποθήκευση (S3-συμβατό), οι δείκτες είναι συμπαγείς.

7) Προσομοίωση ιχνηλάτησης

7. 1 Ονομασία και χαρακτηριστικά

"service. ονοματεπώνυμο "," υπηρεσία ". εξάπλωση της έκδοσης ','. περιβάλλον ".
'http. μέθοδος ',' http. διαδρομή ',' http. στόχος ',' http. , 'net. ομότιμοι. όνομα ".
Επιχειρηματικά χαρακτηριστικά χωρίς PII: «ενοικιαστής», «περιφέρεια», «payment _ provider», «game _ id».

7. 2 Γεγονότα και συνδέσεις

Χρονοδιάγραμμα: σημαντικά σημεία (έναρξη της συναλλαγής DB, επανασύνδεση, ανοικτό κύκλωμα, απώλεια μνήμης).
Σύνδεσμοι: zapros→vebkhuk/sobytiye επικοινωνία· χρήσιμο για τον ΕΟΑ και το outbox/inbox.

7. 3 Περιπτώσεις

Προσθήκη παραδειγμάτων με το 'trace _ id' στα ιστογράμματα καθυστέρησης/μεγέθους: πλοήγηση από → ίχνος στο μετρικό ίχνος σε ένα κλικ.

8) Μετρήσεις: τι και πώς

8. 1 Τεχνική

RED ανά δρομολόγιο/ενοικιαστή/πάροχο (PSP, KYC).
: 'db _ συνδέσεις _ in _ use', 'http _ client _ in _ fligh Пулы,' queue _ depth '.
Σταθεροποίηση: επαναλήψεις, timeouts, ανοικτό κύκλωμα/ημι-ανοικτό, οριακές τιμές ταχύτητας.
Go/Java/Python runtime: GC παύσεις, σωρός, σημεία ασφαλείας, καθυστερήσεις GIL.

8. 2 Μέτρηση επιχειρήσεων

Καταχώριση/συνδέσεις/καταθέσεις/συμπεράσματα, μετατροπή, 3DS/KYC αστοχιών, λόγος χρέωσης.
Σημαντικά χαρακτηριστικά: time-to-wallet, πληρωμή επιτοκίου.

8. 3 Πληθικότητα και αποθήκευση

Ιστογράμματα με ρητούς κουβάδες (π.χ. "[50,100,200,300,500,1000,2000] m ).
Αποφύγετε σημάδια με υψηλή πληθικότητα (ακατέργαστο user_id, request_id) - τα μεταφέρετε στα κούτσουρα/μονοπάτια.

9) Αρχεία καταγραφής: πρότυπα και συσχέτιση

Μορφή: JSON + απαιτούμενα κλειδιά ('timestamp', 'level', 'message', 'trace _ id', 'span _ id', 'service', 'env').
Επεξεργασία: μάσκα PAN, μάρκες, PII.

Δειγματοληψία: 100% για «σφάλμα/προειδοποίηση», 5-20% για «πληροφορίες» σε «θορυβώδεις» διαδρομές

Σύνδεση με ίχνη - μέσω 'trace _ id'. Συμβολοσειρές καταγραφής → «περιστροφή» για την ανίχνευση και αντίστροφα.

10) Διαμόρφωση προφίλ στις πωλήσεις

Ενεργοποίηση συνεχούς προφίλ (Pyroscope/Parca) για ΚΜΕ/σωρό/κλείδωμα.
Συσχετίζονται οι κορυφές p99 με θερμές στοίβες. να φυλάσσεται για 7- 14 ημέρες.

11) Προειδοποίηση για την SLO/εσφαλμένος προϋπολογισμός

Προειδοποιήσεις SLO: «ο εσφαλμένος προϋπολογισμός δαπανάται γρηγορότερα από X %/ώρα» (προειδοποιήσεις πρόβλεψης).
Συμπτώματα, όχι αιτίες: συναγερμός στο επίπεδο του πελάτη (RUM/άκρη ή ανά διαδρομή), όχι στην ΚΜΕ.
Ποσοστό πολλαπλών εγκαυμάτων πολλαπλών παραθύρων: 2% σε 1 ώρα και 5% σε 6 ώρες - δύο συνθήκες.
Σιωπή κατά τη διάρκεια της προγραμματισμένης υποβάθμισης: μετατόπιση κατωφλίου κατά τη διάρκεια σημαιών/καναρινιού.

12) Κόστος και διατήρηση

Ποσοστώσεις όγκου: μονοπάτια ≤ N TB/μήνα, κορμοί - θερμές 3-7 ημέρες, ψυχρό S3 30-90 ημέρες, μετρήσεις - κατολίσθηση (1 λεπτό → 5 λεπτά → 1 ώρα).
Οι κανόνες ουράς μειώνουν τον όγκο του × 10- × 100, διατηρώντας τον εσφαλμένο/αργό.
σήματα χαμηλότερου κόστους - μετρήσεις· με την υψηλότερη τιμή - «ορθά» μονοπάτια και προφίλ.

13) Αντιπατερίδια

«100% μονοπάτια πάντα» → έκρηξη κόστους, θορύβου και φρένων.
Αρχεία καταγραφής σε ελεύθερη μορφή χωρίς κλειδιά/κάλυψη.
Άπειρες μετρήσεις ετικετών (user_id/ip/full UA).
Δεν υπάρχει «traceparent »/« αποσκευές» - δεν μπορεί να συσχετιστεί.
Ειδοποιήσεις για ΚΜΕ/σωρό αντί για SLO - συνομιλία «εγκαύματα» χωρίς όφελος.
Δειγματοληψία «τυχαία 1%» χωρίς προτεραιότητα σφάλματος/αργή - απώλεια πολύτιμων περιπτώσεων.

14) Παραδείγματα ταμπλό (σκελετοί)

Επισκόπηση API: RPS, ρυθμός σφάλματος ανά κατηγορία, καθυστέρηση p95/p99 (παραδείγματα είναι clickable), κορυφαίες διαδρομές.
Release/Canary: σύγκριση των μετρήσεων παλαιών/νέων εκδόσεων, ακραίες τιμές, ανοικτά κυκλώματα, επαναλήψεις.
PSP/KYC: ποσοστό επιτυχίας από τους παρόχους, καθυστέρηση και αποτυχία, συσχέτιση με σφάλματα εκταμίευσης.
Infra: ΧΡΗΣΙΜΟΠΟΙΗΣΗ με πόρους, κορεσμός αναμονής, σταγόνες δικτύου.

15) Ιδιαιτερότητες του iGaming/Finance

Κρίσιμες διαδρομές (καταθέσεις/συμπεράσματα): 100% ανίχνευση μόνο για περιστατικά ή περιορισμένα παράθυρα. στην κανονική κατάσταση - ουρά «όλα με σφάλμα/μεγάλη καθυστέρηση».
Περιφέρεια/ενοικιαστής: προσθήκη «ενοικιαστής», «δικαιοδοσία», «εμπορικό σήμα» στις αποσκευές· να κατασκευάζουν SLO ανά δικαιοδοσία.
Αντιφλεγμονώδες φίλτρο/φίλτρο bot: μετρήσεις και ίχνη διαλυμάτων API κινδύνου (επιτρέπονται/απορρίπτονται/προκαλούνται), ρυθμός πρόκλησης-διέλευσης, επιταχύνσεις ταχύτητας.
Έλεγχος/συμμόρφωση: διατήρηση του ελάχιστου αναγκαίου, χωρίς PII. σταθερούς κορμούς - σε ξεχωριστό κύκλωμα.

16) Κατάλογος ελέγχου ετοιμότητας Prod

  • Διάδοση από τέλος σε τέλος ('traceparent', 'αποσκευές'), συσχέτιση ημερολογίου/μετρικού/ιχνοστοιχείου.
  • Συλλέκτης OTEL με δειγματοληψία ουράς (σφάλματα/αργές/σημαντικές διαδρομές) + πιθανοληπτική προεπιλογή.
  • Μετρήσεις RED/ΧΡΗΣΗ, σαφείς κουβάδες, υποδείγματα → μετάβαση σε ίχνη.
  • SLO και εσφαλμένη ειδοποίηση του προϋπολογισμού (δύο χρονοδιαγράμματα).
  • Κανονισμοί και προϋπολογισμός τηλεμετρίας. μετρήσεις μείωσης της δειγματοληψίας· αποθήκευση υπό ψύξη για κορμούς.
  • Τυποποιημένο ημερολόγιο JSON, αναπαράσταση PII/μυστικά.
  • Περιλαμβάνεται η διαμόρφωση προφίλ στις πωλήσεις· ταμπλό «θερμών» στοίβων για το συμβάν.
  • Κανάρια ταμπλό και σύγκριση έκδοσης. απελευθέρωση χωρίς «τυφλά σημεία».
  • Runbook: Πώς να αυξήσετε προσωρινά το μερίδιο δειγματοληψίας ενός συμβάντος.
  • Τεκμηρίωση ονοματοδοσίας χαρακτηριστικών/ετικέτας και αναστολή υψηλής πληθικότητας.

17) TL, DR

Κατασκευή παρατηρητικότητας γύρω από τη συσχέτιση: RED/USE → υποδειγματικές μετρήσεις → μονοπάτια → κορμούς/προφίλ. Διαχείριση του κόστους μέσω συνδυασμένης δειγματοληψίας: μικροί κανόνες κεφαλής% + ουράς (σφάλματα, αργές, σημαντικές διαδρομές/ενοικιαστές). Προειδοποιήσεις - σχετικά με την SLO και τον προϋπολογισμό σφάλματος. Κρατήστε τις κρατήσεις και την πληθικότητα υπό έλεγχο, χρησιμοποιήστε το OTEL Collector ως "κεντρικό νευρικό σύστημα. "Για τις οδούς πληρωμής/δικαιοδοσίας - τηλεμετρία προτεραιότητας και αυστηρή υγιεινή των δεδομένων.

Contact

Επικοινωνήστε μαζί μας

Επικοινωνήστε για οποιαδήποτε βοήθεια ή πληροφορία.Είμαστε πάντα στη διάθεσή σας.

Telegram
@Gamble_GC
Έναρξη ολοκλήρωσης

Το Email είναι υποχρεωτικό. Telegram ή WhatsApp — προαιρετικά.

Το όνομά σας προαιρετικό
Email προαιρετικό
Θέμα προαιρετικό
Μήνυμα προαιρετικό
Telegram προαιρετικό
@
Αν εισαγάγετε Telegram — θα απαντήσουμε και εκεί.
WhatsApp προαιρετικό
Μορφή: κωδικός χώρας + αριθμός (π.χ. +30XXXXXXXXX).

Πατώντας «Αποστολή» συμφωνείτε με την επεξεργασία δεδομένων.