Λειτουργίες και διαχείριση συναγερμού ανά χωρητικότητα συστήματος
Προειδοποιήσεις χωρητικότητας συστήματος
1) Γιατί το χρειάζεστε
Οι συναγερμοί ικανότητας προειδοποιούν ότι πλησιάζουμε τα τεχνικά όρια πολύ πριν το συμβάν: "είμαστε το 80% του ανώτατου ορίου - ήρθε η ώρα να κλιμακωθεί. "Για τις επιχειρήσεις παντοπωλείου, αυτό αφορά άμεσα τα χρήματα: χαμένα στοιχήματα/καταθέσεις, πτώσεις συνεδρίας, καθυστερήσεις ζωντανών παιχνιδιών και αποτυχίες παρόχου = χαμένα έσοδα, φήμη, πρόστιμα και κέρδη.
Στόχοι:- Αναμφισβήτητα αντέχουν σε φορτία αιχμής (εκδηλώσεις, τουρνουά, ρεύματα, μεγάλες εκστρατείες).
- Ενεργοποιήστε την αυτόματη κλιμάκωση του χρόνου και σχεδιάστε την ανύψωση της χωρητικότητας.
- Μείωση του θορύβου και αφύπνιση «στις επιχειρήσεις» όταν κινδυνεύει η SLO/χρήματα.
- Δώστε στους μηχανικούς ακριβείς συστάσεις μέσω του runbook.
2) Βασικές έννοιες
Μέγιστη σταθερή απόδοση (RPS/TPS, συνδέσεις, IOPS, διακίνηση).
Αίθουσα κεφαλής: περιθώριο μεταξύ του τρέχοντος φορτίου και των ορίων.
SLO/SLA: επίπεδα-στόχοι διαθεσιμότητας/χρόνου απόκρισης· οι καταχωρίσεις πρέπει να είναι «SLO-aware».
Ρυθμός καύσης: η ταχύτητα «καύσης» του προϋπολογισμού SLO για σφάλματα/καθυστέρηση.
Υψηλό/χαμηλό υδατογράφημα: ανώτερα/κατώτερα επίπεδα για ενεργοποιήσεις και αυτόματη ανάκτηση.
3) Αρχιτεκτονική σημάτων και πηγές δεδομένων
Τηλεμετρία: μετρήσεις (Prometheus/Otel), καταγραφές (ELK/ClickHouse), ίχνη (Otel/Jaeger).
Προσέγγιση επιπέδου: ειδοποιήσεις ανά στρώματα (Edge → API → επιχειρηματικές υπηρεσίες → ουρές/ροές → βάσεις δεδομένων/κρύπτες → αποθήκες αρχείων/αντικειμένων → εξωτερικούς παρόχους).
Πλαίσιο: σημαίες, κυκλοφορίες, εκστρατείες μάρκετινγκ, τουρνουά, γεωγραφική ευθυγράμμιση.
Ελαστικό περιστατικού: Alertmanager/PagerDuty/Opsgenie/Slack. σύνδεση με το runbook και τον πίνακα κλιμάκωσης.
4) Βασικές μετρήσεις ανά στρώμα (τι να παρακολουθείτε και γιατί)
Άκρο/L7
RPS, 95-/99-εκατοστημόριο καθυστέρηση, ποσοστό σφάλματος (5xx/4xx), ανοικτές συνδέσεις.
Όρια δασμού/ποσοστώσεις, σταγόνες на CDN/WAF/Firewall.
API- шлюз/Backend-for-frontend
Κορεσμός ανά εργατικό δυναμικό/δεξαμενή εργασίας, ζήτηση αναμονής, χρονοδιαγράμματα έως τα κατάντη.
Κλάσμα αποικοδόμησης (οπισθοδρόμηση, διακόπτες κυκλώματος).
Ουρές/Ροή (Κάφκα/Κουνέλι/Πάλσαρ)
Υστέρηση/καθυστέρηση καταναλωτή, ρυθμός συσσώρευσης, απόδοση (msg/s, MB/s).
Διχοτόμηση, επανισορρόπηση churn, ISR (για την Κάφκα), retray/παππούς-αργότερα.
Ασύγχρονοι εργαζόμενοι
Χρονοδιάγραμμα εργασιών, μήκος αναμονής, ποσοστό των εργασιών SLA που έχουν λήξει.
ΚΜΕ κορεσμού/μνήμη/FD σε δεξαμενές.
Caches (Redis/Memcached)
Λόγος hit, καθυστέρηση, εξώσεις, χρησιμοποιούμενη μνήμη, συνδεδεμένοι πελάτες/ops/s.
Συστάδες: slots/αντίγραφα, failover events.
БД (PostgreSQL/MySQL/ClickHouse)
Ενεργές συνδέσεις vs max, αναμονή κλειδώματος, καθυστέρηση αντιγραφής, χτύπημα ρυθμιστικού διαλύματος/κρύπτης.
IOPS, ανάγνωση/εγγραφή καθυστέρησης, σημείο ελέγχου/έκπλυση, φούσκωμα/κατακερματισμός.
Αποθήκευση αντικειμένου/αρχείου
PUT/GET καθυστέρηση, 4xx/5xx, έξοδος, αιτήματα/sec, όρια παρόχου.
Εξωτερικοί πάροχοι (Πληρωμές/LCC/Πάροχοι παιχνιδιών)
Όρια TPS, παράθυρα QPS, ρυθμός σφάλματος/timeout, σειρά αναμονής, «κόστος ανά κλήση».
Υποδομή
ΚΜΕ/Μνήμη/FD/IOPS/Κορεσμός δικτύου σε κόμβους/λοβό/ASG.
HPA/VPA events, εκκρεμείς λοβοί, εμπορευματοκιβώτιο OOM/Throttling.
5) Τύποι συναγερμών χωρητικότητας
1. Στατικά κατώτατα όρια
Απλό και απλό: 'db _ συνδέσεις> 80% max'. Καλό σαν σήμα φάρου.
2. Προσαρμοστικά (δυναμικά) κατώτατα όρια
Με βάση την εποχικότητα και την τάση (κύλιση παραθύρων, αποσύνθεση STL). Επιτρέψτε την αλίευση «ασυνήθιστα υψηλή για αυτή την ώρα/ημέρα της εβδομάδας».
3. Προσανατολισμένη στο SLO (ρυθμός καύσης)
Ενεργοποιούνται όταν το ποσοστό διατροφής του προϋπολογισμού σφάλματος θα θέσει σε κίνδυνο την SLO στον ορίζοντα των X ωρών.
4. Προγνωστική (προειδοποιήσεις πρόβλεψης)
«Μετά από 20 λεπτά στην τρέχουσα τάση, η ουρά αναμονής θα φτάσει το 90%». Χρησιμοποιείται γραμμική/εύρωστη/προφητική πρόβλεψη σε μικρά παράθυρα.
5. Πολλαπλό σήμα
Ενεργοποίηση με το συνδυασμό: 'queue _ lag ↑' + 'consumer _ cpu 85%' + 'autoscaling at max' → «απαιτείται χειροκίνητη παρέμβαση».
6) Πολιτικές κατωφλίου και καταπολέμηση του θορύβου
Υψηλό/χαμηλό υδατογράφημα:- Προειδοποίηση 70-75%, Κρήτης 85-90%. Κάτω: υστερία 5-10 εκατοστιαίες μονάδες για να μην «πριονιστεί στο κατώφλι».
- «for: 5 for criteria», for: 10-15 for προειδοποιήσεις. Νυχτερινή λειτουργία: διαδρομή μη κρίσιμη για συνομιλία χωρίς τηλεειδοποίηση.
- Ομάδα ανά υπηρεσία/δέσμη/γεωγραφική ομάδα, ώστε να μην παράγονται κάρτες συμβάντων.
- Εάν ο πάροχος KYC είναι εκτός λειτουργίας και τα σφάλματα API οφείλονται στην τηλεειδοποίηση του ιδιοκτήτη της ολοκλήρωσης, όχι όλων των καταναλωτών.
- Κατά τη διάρκεια της περιόδου αποθεμάτων, αυξάνονται τα όρια θορύβου για την «αναμενόμενη ανάπτυξη», αλλά αφήνονται άθικτες οι προειδοποιήσεις SLO.
7) Παραδείγματα κανόνων (ψευδο-Προμηθέας)
Συνδέσεις DB:
ALERT PostgresConnectionsHigh
IF (pg_stat_activity_active / pg_max_connections) > 0. 85
FOR 5m
LABELS {severity="critical", team="core-db"}
ANNOTATIONS {summary="Postgres connections >85%"}
Kafka lag + αυτόματη κλιμάκωση στο όριο:
ALERT StreamBacklogAtRisk
IF (kafka_consumer_lag > 5_000_000 AND rate(kafka_consumer_lag[5m]) > 50_000)
AND (hpa_desired_replicas == hpa_max_replicas)
FOR 10m
LABELS {severity="critical", team="streaming"}
Συντελεστής καύσης SLO (καθυστέρηση API):
ALERT ApiLatencySLOBurn
IF slo_latency_budget_burnrate{le="300ms"} > 4
FOR 15m
LABELS {severity="page", team="api"}
ANNOTATIONS {runbook="wiki://runbooks/api-latency"}
Μνήμη Redis και evikshens:
ALERT RedisEvictions
IF rate(redis_evicted_keys_total[5m]) > 0
AND (redis_used_memory / redis_maxmemory) > 0. 8
FOR 5m
LABELS {severity="warning", team="caching"}
Πάροχος υπηρεσιών πληρωμών - Όρια:
ALERT PSPThroughputLimitNear
IF increase(psp_calls_total[10m]) > 0. 9 psp_rate_limit_window
FOR 5m
LABELS {severity="warning", team="payments", provider="PSP-X"}
8) Προσέγγιση SLO και επιχειρηματική προτεραιότητα
Από το σήμα στον επιχειρηματικό αντίκτυπο: Οι ειδοποιήσεις χωρητικότητας θα πρέπει να αναφέρουν τον κίνδυνο για την SLO (ειδικά παιχνίδια/geo/GGR μετρήσεις, μετατροπή καταθέσεων).
πολυεπίπεδη προειδοποίηση για την υπηρεσία εφημερίας· Κρήτης - σελίδα ιδιοκτήτη τομέα; SLO-drop - μείζον περιστατικό και ομαδικό κανάλι «σύνοψη».
Χαρακτηριστικά υποβάθμισης: αυτόματη μείωση φορτίου (μερική μόνο ανάγνωση, μείωση βαρέων χαρακτηριστικών, μείωση της συχνότητας των εκπομπών τζάκποτ, απενεργοποίηση «βαρέων» κινουμένων σχεδίων σε ζωντανά παιχνίδια).
9) Αυτόματη κλιμάκωση και «ορθή» σκανδάλη
HPA/VPA: στόχος όχι μόνο από CPU/Memory, αλλά και από επιχειρηματικές μετρήσεις (RPS, καθυστέρηση αναμονής, p99 καθυστέρηση).
Χρονοδιαγράμματα προθέρμανσης: να ληφθούν υπόψη τα όρια της εκκίνησης με ψυχρό κινητήρα και του παρόχου (ASG spin-up, κατασκευαστές εμπορευματοκιβωτίων, κρύπτες προθέρμανσης).
Guardrails: συνθήκες διακοπής της ανάπτυξης σφαλμάτων παρόμοιων με χιονοστιβάδα· προστασία από «πρόβλημα scalim».
Βιβλία χωρητικότητας: πού και πώς να προσθέσετε ένα θραύσμα/κόμμα/αντίγραφο, πώς να αναδιανείμετε την κυκλοφορία ανά περιοχή.
10) Διαδικασία: από το σχεδιασμό έως τη λειτουργία
1. Οριακή χαρτογράφηση: συλλογή «αληθών» ορίων συμφόρησης για κάθε στρώμα (max conns, IOPS, TPS, πάροχοι ποσοστώσεων).
2. Επιλογή των μετρήσεων πρόβλεψης: ποια σήματα υποδεικνύουν «ανάπαυση σε N λεπτά» πρώτα.
3. Σχεδιασμός κατωφλίου: υψηλή/χαμηλή + SLO-καύση + ένωση.
4. Runbook για κάθε Κρήτη: διαγνωστικά βήματα («τι να ανοίξει», «τι εντολές», «πού να κλιμακωθεί»), τρεις επιλογές για δράση: γρήγορη τραβερσάλ, κλιμάκωση, υποβάθμιση.
5. Δοκιμή: προσομοιώσεις φορτίου (ημέρες χάους/θηράματος), ξηρή εκκίνηση συναγερμών, έλεγχος κατά του θορύβου.
6. Αξιολόγηση και υιοθέτηση: ιδιοκτήτης σήματος = ιδιοκτήτης υπηρεσίας. Κανένας ιδιοκτήτης - καμία σελίδα.
7. Αναδρομικά και ρύθμιση: εβδομαδιαία ανάλυση ψευδών/αποτυχημένων· μετρικό «MTTA (ack), MTTD, MTTR, λόγος θορύβου/σήματος».
11) Αντι-μοτίβα
CPU> 90% ⇒ πανικό: χωρίς συσχέτιση με καθυστέρηση/ουρές αναμονής, αυτό μπορεί να είναι φυσιολογικό.
«Ένα όριο για όλους»: διαφορετικές περιφέρειες/χρονικές ζώνες - διαφορετικά χαρακτηριστικά κυκλοφορίας.
Συναγερμός χωρίς εγχειρίδιο λειτουργίας: σελίδα χωρίς σαφή διαρροή ενεργειών εφημερίας.
Τύφλωση στους παρόχους: οι εξωτερικές ποσοστώσεις/όρια είναι συχνά τα πρώτα που «σπάνε» σενάρια (PSP, KYC, καταπολέμηση της απάτης, πάροχοι παιχνιδιών).
Καμία υστερία: πριόνισμα στο όριο 80 %/79%.
12) Χαρακτηριστικά των iGaming/χρηματοπιστωτικών πλατφορμών
Κορυφές προγράμματος: πρώτη φορά, τελικοί τουρνουά, μεγάλοι αγώνες. Προώθηση αντιγράφων στόχων και εκ των προτέρων πλήρωση κρυψώνων.
Ζωντανά ρεύματα και τζάκποτ: εκρήξεις ραδιοτηλεοπτικών εκδηλώσεων → όρια σε μεσίτες/ιστοσελίδες.
Πληρωμές και KYC: παράθυρα παρόχων, βαθμολόγηση κατά της απάτης· να διατηρούν εφεδρικές διαδρομές και καταθέσεις «grace-mode».
Γεωγραφική ισορροπία: αστοχίες του τοπικού παρόχου - να εκτρέψει την κυκλοφορία σε μια γειτονική περιοχή όπου υπάρχει αίθουσα καθοδήγησης.
Ευθύνη: κινδυνεύει να χάσει στοιχήματα/τζάκποτ - στιγμιαία σελίδα στην ομάδα τομέα + συναγερμός επιχείρησης.
13) Ταμπλό (ελάχιστο σύνολο)
Επισκόπηση χωρητικότητας: headroom by layer, top 3 επικίνδυνες περιοχές, burn-rate SLO.
Stream & Queues: υστέρηση, καθυστερημένη ανάπτυξη, κορεσμός των καταναλωτών, κατάσταση HPA.
DB & Cache: συνδέσεις, repl-lag, p95/p99 καθυστέρηση, αναλογία hit, εξώσεις.
Πάροχοι: TPS/παράθυρα/ποσοστώσεις, χρονοδιαγράμματα/σφάλματα, κόστος κλήσης.
Release/Feature context: releases/phicheflags δίπλα σε καμπύλες.
14) Κατάλογος ελέγχου εφαρμογής
- Κατάλογος «αληθινών» ορίων και ιδιοκτητών.
- Χάρτης προγνωστικών μετρήσεων + ενώσεις μεταξύ στρωμάτων.
- Στατικά κατώτατα όρια + υστερία.
- SLO-burn-alerts σε κρίσιμες διαδρομές (κατάθεση, στοίχημα, live game launch).
- Προγνωστικές προειδοποιήσεις σχετικά με ουρά αναμονής/ροές/συνδέσεις.
- Καταστολή/συντήρηση του παραθύρου. πολιτική κατά του θορύβου.
- Runbook 'και με εντολές, γραφήματα, φίλτρα υποβάθμισης.
- Εβδομαδιαία ανάλυση ψευδών θετικών και συντονισμού.
- Λογαριασμός για εκστρατείες μάρκετινγκ και χρονοδιάγραμμα εκδηλώσεων.
15) Παράδειγμα μοτίβου runbook (συντομογραφία)
Σήμα: 'StreamBacklogAtRisk'
Στόχος: Αποφυγή καθυστερημένης ανάπτυξης> 10 εκατομμύρια και καθυστέρηση θεραπείας> 5 λεπτά.
Διάγνωση (3-5 λεπτά):1. Ελέγξτε 'hpa _ επιθυμητό/max', γκάζι/κουκούλα στους λάκκους.
2. Προβολή 'rate (lag)', κατάτμηση (skew).
3. Έλεγχος μεσίτη (ISR, ελλιπής αναπαραγωγή, δίκτυο).
Δράσεις:- Αύξηση των αντιγράφων καταναλωτή κατά + N, αύξηση του μέγιστου κατά τη διάρκεια της πτήσης.
- Ενεργοποίηση συγκέντρωσης προτεραιοτήτων σε «κρίσιμα θέματα».
- Προσωρινά μειώνεται η συχνότητα των δευτερογενών θεραπειών/εμπλουτισμού.
- Εάν 'ASG στο μέγιστο' - ζητήστε προσωρινή ανύψωση από το νέφος. παράλληλα - να καταστεί δυνατή η υποβάθμιση των βαρέων λειτουργιών.
- Rollback: Επιστροφή στο κανονικό προφίλ κυκλοφορίας μετά από «lag <1 εκατομμύριο» 15 λεπτά.
- Κλιμάκωση: ιδιοκτήτης συμπλέγματος Kafka, στη συνέχεια πλατφόρμα SRE.
16) KPI και ποιότητα σήματος
Κάλυψη:% κρίσιμων διαδρομών κλειστών με συναγερμούς χωρητικότητας.
Θόρυβος/Σήμα: Όχι περισσότερες από 1 πλαστές σελίδες ανά εφημερία/εβδομάδα.
MTTD/MTTR: Τα συμβάντα χωρητικότητας ανιχνεύονται ≤5 λεπτά πριν από την απεργία SLO.
Προληπτική αποταμίευση: αριθμός συμβάντων που αποτράπηκαν (μετά θάνατον).
17) Ταχεία εκκίνηση (συντηρητικές αθετήσεις)
DB: προειδοποίηση 75% των συνδέσεων/IOPS/lat· Κρήτης 85%, υστέρηση 8-10 εκατοστιαίες μονάδες
Caches: 'hit <0. 9 «και» εξώσεις> 0 «> 5 λεπτά - προειδοποίηση», χρησιμοποιείται _ mem> 85% '- Κρήτη.
Ουρές: ύψος 'lag'> 3 σ του μέσου όρου για 30d + 'hpa στο μέγιστο' - Κρήτη.
API: 'p99> SLO1. 3 '10 λεπτά - προειδοποίηση·' ρυθμός καύσης> 4 '15 λεπτά - Κρήτη.
Πάροχοι: «διακίνηση> 90% ποσόστωση» - προειδοποίηση· 'timeouts> 5%' - Κρήτη.
18) ΣΥΧΝΈΣ ΕΡΩΤΉΣΕΙΣ
Ε: Γιατί όχι μόνο «ΚΜΕ> 80%»
A: Χωρίς το πλαίσιο καθυστέρησης/αναμονής, είναι ο θόρυβος. Η ίδια η ΚΜΕ δεν είναι ίση με τον κίνδυνο.
Ε: Χρειαζόμαστε προσαρμοστικά κατώτατα όρια
A: Ναι, για την καθημερινή/εβδομαδιαία εποχικότητα - μείωση ψευδώς θετικών.
Το παρόν έγγραφο αποτελεί σύνοψη της Ευρωπαϊκής Δημόσιας Έκθεσης Αξιολόγησης (EPAR) του
A: Ημερολόγιο εκστρατείας → σημειώσεις για γραφήματα + προσωρινή ρύθμιση κατά του θορύβου, αλλά μην αγγίζετε τις προειδοποιήσεις SLO.