GH GambleHub

Παρακολούθηση της υποδομής

Παρακολούθηση υποδομής <>

1) Στόχοι και πλαίσιο

Η παρακολούθηση της υποδομής είναι ένα σύστημα σημάτων σχετικά με την υγεία, τις επιδόσεις και τη διαθεσιμότητα μιας πλατφόρμας. Πρέπει:
  • Προειδοποίηση πριν από την κατάρρευση του χρήστη (έγκαιρη ανίχνευση).
  • Δώστε διάγνωση της αιτίας της ρίζας (από σύμπτωμα σε αιτία).
  • Υποστήριξη SLO gating releases and auto-rollbacks.
  • Τροφοδότηση της ανάλυσης μετά το συμβάν (στοιχεία ως δεδομένα).

Υποστηρικτικές αρχές: Παρατηρήσιμες εκ σχεδιασμού, λιγότερος θόρυβος - περισσότερα σήματα, αυτοματοποίηση αντιδράσεων, μια ενιαία ομάδα αλήθειας.

2) Τριάδα παρατήρησης

Χρονοδιαγράμματα - Ρυθμός/ζήτηση/Σφάλμα/Κορεσμός (ΧΡΗΣΗ/ΕΡΥΘΡΟ)

Αρχεία καταγραφής: λεπτομέρειες γεγονότων με το πλαίσιο· δεν περιέχουν μυστικά/PII.
Ίχνη: κατανεμημένες περιπτώσεις με αιτιώδεις σχέσεις.

Συν:
  • Προφίλ (CPU/σωρός/κλειδαριά/io), eBPF για επίπεδο συστήματος.
  • Γεγονότα/λογιστικός έλεγχος (K8s Γεγονότα, αλλαγές στις συνθέσεις/μυστικά).

3) SLI/SLO/SLA - γλώσσα ποιότητας

SLI: 'διαθεσιμότητα', 'erry _ rate', 'p95 _ latency', 'queue _ lag'.

SLO (στόχος): "επιτυχημένα αιτήματα ≥ 99. 9% σε 30 ημέρες"

Σφάλμα προϋπολογισμού: ανοχή. χρησιμοποιείται για τις εκλύσεις αυτόματης στάσης.

Παράδειγμα SLO (YAML):
yaml service: "api-gateway"
slis:
- name: success_rate query_good: sum(rate(http_requests_total{status!~"5.."}[5m]))
query_total: sum(rate(http_requests_total[5m]))
slo: 99. 9 window: 30d

4) Χάρτης στρωμάτων παρακολούθησης

1. Hosts/VM/κόμβοι: CPU/Load/Steal, RAM/Swap, Disk IOPS/Latency, Filesystem.
2. Δίκτυο/LB/DNS: RTT, πακέτα/σταγόνες, εκκρεμότητες, SYN/Timeout, ανιχνευτές υγείας.
3. Kubernetes/Orchestrator: εξυπηρετητής API, κ.λπ., ελεγκτές, προγραμματιστής. λοβός/κόμβοι, εκκρεμείς/εκδιωγμένοι, στραγγαλισμός, kube-events.
4. Υπηρεσίες/εμπορευματοκιβώτια: RED (ποσοστό/σφάλματα/διάρκεια), ετοιμότητα/ζωντάνια.
5. Βάσεις δεδομένων/κρύπτες: QPS, αναμονή κλειδώματος, καθυστέρηση αντιγραφής, ρυθμιστικό χτύπημα, αργές ερωτήσεις.
6. Ουρές αναμονής/λεωφορεία: υστέρηση καταναλωτή, αίτημα/νεκρό γράμμα, διακίνηση.
7. Αποθήκευση/νέφος: S3/Blob σφάλματα και καθυστέρηση, 429/503 από τους παρόχους.
8. Όρια περιμέτρου: WAF/Rate Limits, 4xx/5xx κατά διαδρομή, CDN.
9. Συνθετικά: έλεγχοι σεναρίου HTTP (κατάθεση/έξοδος), TLS/πιστοποιητικά.
10. Οικονομία/χωρητικότητα: κόστος ανά υπηρεσία, χρησιμοποίηση, headroom.

5) Whitebox и Blackbox

Whitebox: εξαγωγείς/SDK στο πλαίσιο υπηρεσιών (Prometheus, OpenTelemetry).
Blackbox: εξωτερικά δείγματα από διάφορες περιοχές (διαθεσιμότητα, καθυστέρηση, λήξη TLS).
Συνδυάστε: «σημάδι εκτός» + «διάγνωση εντός».

Παράδειγμα «blackbox _ exporter»:
yaml modules:
https_2xx:
prober: http http:
method: GET preferred_ip_protocol: "ip4"

6) Kubernetes: σήματα κλειδιά

: 'apiserver _ request _ total', 'etcd _ server _ has _ leader', etcd fsync.
: 'container _ cpu _ cfs _ throttled _ seconds _ total', 'node _ pressure'.
Μαξιλάρια: Εκκρεμότητα/Συντριβή LoopbackOff, OOMKilled, επανεκκίνηση.
Σχέδια/όρια: αιτήματα έναντι ορίων, προϋπολογισμός PodDislicenBudget, HPA/VPA.
Δίκτυο: Το NetworkPolicy πέφτει, συνδέει την εξάντληση.

: «Cluster health», «Workload κορεσμός», «Top erroring services».

7) DB και ουρές αναμονής

PostgreSQL/MySQL: καθυστέρηση αντιγραφής, αδιέξοδο, αργή ερώτηση%, σημείο ελέγχου I/O.
Redis/Memcached: αναλογία επιτυχίας, εξώσεις, απορριφθείσες συνδέσεις.
Kafka/RabbitMQ: καταναλωτική υστέρηση, μη συσκευασμένη, απαίτηση, μεσίτης ISR, χρήση δίσκων.

8) Μετρήσεις RED/ΧΡΗΣΗ και συσχετισμοί επιχειρήσεων

RED: «ρυθμός» (RPS), «σφάλματα» (4xx/5xx), «διάρκεια» (p95/p99).
ΧΡΗΣΙΜΟΠΟΙΗΣΗ (για πόρους): Χρησιμοποίηση, κορεσμός, σφάλματα.
Συνδεθείτε με το προϊόν: επιτυχείς καταθέσεις/πληρωμές, σημαίες απάτης, μετατροπή - πρόκειται για «φρουρούς» για απελευθέρωση καναρινιών.

9) Δομή προειδοποίησης

Βαθμίδα 1 (σελίδα): συμβάντα που επηρεάζουν την SLO (διαθεσιμότητα, 5xx, καθυστέρηση, βλάβη κρίσιμων συστατικών μερών συμπλέγματος).
(εισιτήριο): υποβάθμιση της χωρητικότητας, αύξηση σφαλμάτων χωρίς να επηρεάζει την SLO.
(inform): τάσεις, προβλέψιμη ικανότητα, πιστοποιητικά λήξης.

Κανόνες κλιμάκωσης: χρόνος σιωπής/διπλή συμπίεση, περιστροφές εφημερίας, συνέχεια του ήλιου.

Παράδειγμα διαδρομών Alertmanager:
yaml route:
group_by: ["service","severity"]
receiver: "pager"
routes:
- match: { severity: "critical" }
receiver: "pager"
- match: { severity: "warning" }
receiver: "tickets"

10) Παραδείγματα κανόνα Προμηθέα

10. 1 5xx Σφάλματα με κατώφλι SLO

yaml groups:
- name: api rules:
- alert: HighErrorRate expr:
sum(rate(http_requests_total{status=~"5.."}[5m])) /
sum(rate(http_requests_total[5m])) > 0. 005 for: 10m labels: { severity: "critical", service: "api-gateway" }
annotations:
summary: "5xx > 0. 5% 10m"
runbook: "https://runbooks/api-gateway/5xx"

10. 2 Καύση προϋπολογισμού σφάλματος (καύση πολλαπλών παραθύρων)

yaml
- alert: ErrorBudgetBurn expr:
(1 - (
sum(rate(http_requests_total{status!~"5.."}[1m])) /
sum(rate(http_requests_total[1m]))
)) > (1 - 0. 999) 14 for: 5m labels: { severity: "critical", slo: "99. 9" }
annotations: { summary: "Fast burn >14x for 5m" }

10. Κορεσμός συστήματος (CPU Throttling)

yaml
- alert: CPUThrottlingHigh expr: rate(container_cpu_cfs_throttled_seconds_total[5m]) > 0. 1 for: 10m labels: { severity: "warning" }
annotations: { summary: "CPU throttling >10%" }

11) Αρχεία καταγραφής: συλλογή, ομαλοποίηση, κατακράτηση

Τυποποίηση: αρχεία καταγραφής JSON: «ts», «level», «service», «trace _ id», «χρήστης/ενοικιαστής».
Αγωγός: παράγοντας (Fluent Bit/Vector) → ρυθμιστικό διάλυμα → δείκτης/αποθήκευση.
Αναθεώρηση: PII/μυστικά που κρύβονται στην άκρη.
Κατακράτηση: τάξη ταχείας αποθήκευσης (7-14 ημέρες), ψυχρό αρχείο (30-180 ημέρες).
Σημασιολογία: προϋπολογισμοί/υποτιμήσεις σφαλμάτων - ξεχωριστοί δίαυλοι.

12) Διαδρομές και OpenTelemetry

Σημεία εισόδου οργάνων (πύλη), κλήσεις kliyent→servis, DB/caches/ουρές αναμονής.
Σύνδεση μετρήσεων σε χαρακτηριστικά ιχνοστοιχείων (υποδείγματα) για ταχεία πλοήγηση.
Otel Collector ως κεντρική πύλη: φιλτράρισμα, δειγματοληψία, εξαγωγή σε επιλεγμένα backends.

Παράδειγμα συλλέκτη OTEL (θραύσμα):
yaml receivers: { otlp: { protocols: { http: {}, grpc: {} } } }
processors: { batch: {}, tail_sampling: { policies: [ { name: errors, type: status_code, status_codes: [ERROR] } ] } }
exporters: { prometheus: {}, otlp: { endpoint: "traces. sink:4317" } }
service:
pipelines:
metrics: { receivers: [otlp], processors: [batch], exporters: [prometheus] }
traces: { receivers: [otlp], processors: [tail_sampling,batch], exporters: [otlp] }

13) Συνθετικοί και εξωτερικοί έλεγχοι

Η HTTP εξετάζει επιχειρηματικά σενάρια (σύνδεση, κατάθεση, απόσυρση, αγορά).
TLS/Τομέας: όρος πιστοποιητικού/CAA/DNS health.
Περιφερειακός χαρακτήρας: δείγματα από βασικές χώρες/παρόχους (καταλόγους δρομολογίων/τμημάτων).
Τα συνθετικά θα πρέπει να προειδοποιούν εάν δεν είναι διαθέσιμα στον χρήστη, ακόμη και με πράσινη εσωτερική τηλεμετρία.

14) Διαμόρφωση προφίλ και eBPF

Συνεχής διαμόρφωση προφίλ: ταυτοποίηση θερμών λειτουργιών, κλειδαριών.
eBPF: συμβάντα συστήματος (syscalls, αναμεταδόσεις TCP), στο προϊόν με ελάχιστα εναέρια.
Ειδοποιήσεις προφίλ χωρίς επιβάρυνση (εισιτήρια) και για οπισθοδρόμηση μετά την απελευθέρωση - ως σήμα ανατροπής.

15) Ταμπλό και η «ομάδα αλήθειας»

Ελάχιστο σύνολο:

1. Επισκόπηση πλατφόρμας: SLI/SLO ανά βασικές υπηρεσίες, προϋπολογισμό σφάλματος, προειδοποιήσεις.

2. API RED: RPS/ΣΦΑΛΜΑΤΑ/ΔΙΑΡΚΕΙΑ ανά διαδρομή.

3. Δέσμη: επίπεδο ελέγχου, , αίθουσα κεφαλής χωρητικότητας.

4. DB/Cache: lag/locks/αργή ερώτηση%, αναλογία hit.

5. Ουρές: καθυστέρηση/καθυστέρηση, αποτυχία/επανάληψη.

6. Ανά απελευθέρωση: σύγκριση πριν/μετά τις μετρήσεις (παράθυρα καναρινιού).

7. FinOps: κόστος ανά χώρο ονομάτων/υπηρεσία, αδράνεια/υπερμεγέθη ресурсы.

16) Περιστατικά, θόρυβος συναγερμού και κλιμάκωση

Αφαίρεση - Υπηρεσία/ομαδοποίηση αιτιών, καταστολή καταρράκτη

Σιωπή/συντήρηση: οι απελευθερώσεις/μεταναστεύσεις δεν πρέπει να «ζωγραφίζουν» όλα τα κόκκινα.
Runbooks: κάθε κρίσιμος συναγερμός με διαγνωστικά βήματα και ένα «κουμπί» rollback.
Μεταθανάτια: χρονοδιάγραμμα, τι έμαθαν, τι σήματα πρόσθεσαν/καθάρισαν.

17) Ασφάλεια κατά την παρακολούθηση

RBAC για κανόνες ανάγνωσης/επεξεργασίας/πηγές δεδομένων.
Μυστικά: Εξαγωγέας/πράκτορας μαρκών - μέσω μυστικού διαχειριστή.
Απομόνωση: μετρήσεις πελατών/ενοικιαστών - σε ξεχωριστούς χώρους/καρτέλες.
Ακεραιότητα: υπογραφή πρακτόρων/κτιρίων, ρυθμίσεις μέσω GitOps (αναθεώρηση συγχώνευσης).

18) Χρηματοδότηση και ικανότητα (Finops)

Ποσοστώσεις και προϋπολογισμοί· προειδοποιήσεις για μη φυσιολογική ανάπτυξη.
Δεξιά ταξινόμηση: ανάλυση αιτήσεων/ορίων, χρήση ΚΜΕ/RAM, στιγμιαίες περιπτώσεις για μη κρίσιμες εργασίες.
«Κόστος ανά αιτούντα/ενοικιαστή» ως KPI επιδόσεων.

19) Αντι-μοτίβα

Μετρήσεις υποδομής μόνο χωρίς προσαρμοσμένα SLI.
100 + προειδοποιήσεις «για τα πάντα» → τύφλωση σε εφημερία.
Τα αρχεία καταγραφής είναι η μόνη πηγή (χωρίς μετρήσεις και ιχνηλάτηση).
Μεταλλάξιμα ταμπλό χωρίς έκδοση/αναθεώρηση.
Έλλειψη συνθετικών: «όλα είναι πράσινα», αλλά το μέτωπο δεν είναι διαθέσιμο.
Δεν υπάρχει καμία σχέση με τις κυκλοφορίες: είναι αδύνατο να απαντηθεί «τι έχει αλλάξει αυτή τη στιγμή X».

20) Κατάλογος ελέγχου εφαρμογής (0-60 ημέρες)

0- 15 ηµέρες

Ορισμός SLI/SLO για τις βασικές υπηρεσίες 3-5.
Ενεργοποίηση βασικών εξαγωγέων/πρακτόρων, τυποποίηση αρχείων καταγραφής JSON.
Ρύθμιση ειδοποιήσεων κατηγορίας 1 (διαθεσιμότητα, 5xx, p95).

16-30 ημέρες

Προσθήκη συνθετικών για κρίσιμα σενάρια.
Ενεργοποίηση του OTEL σε υπηρεσίες εισόδου/κρίσιμης σημασίας.
Dashboards «Per-release» και κανόνες για την καύση του προϋπολογισμού.

31-60 ημέρες

Κάλυψη DB/ουρά/κρύπτη με προηγμένα σήματα.
Εφαρμογή eBPF/διαμόρφωση προφίλ για υπηρεσίες υψηλής ΚΜΕ.
GitOps για κανόνες/ταμπλό/ειδοποιήσεις, κανονικός καθαρισμός θορύβου.

21) Μετρήσεις διάρκειας

Κάλυψη βασικών υπηρεσιών SLO ≥ 95%.
MTTA/MTTR (στόχος: λεπτά/δεκάδες λεπτά).
Ποσοστό καταχωρίσεων κατηγορίας 1 που έκλεισαν με αυτόματη δράση ή ταχεία ανατροπή.
Ο λόγος των «χρήσιμων «/» θορυβωδών «καταχωρίσεων είναι> 3:1.
Συνθετική κάλυψη όλων των μονοπατιών «χρήμα» = 100%.

22) Εφαρμογές: μίνι υποδείγματα

Prometheus - Διαθεσιμότητα ανά κατηγορία κατάστασης

yaml
- record: job:http:availability:ratio_rate5m expr: sum(rate(http_requests_total{status!~"5.."}[5m])) / sum(rate(http_requests_total[5m]))

Grafana - άκρη για καναρίνια


expr: histogram_quantile(0. 95, sum(rate(http_request_duration_seconds_bucket{version=~"stable    canary"}[5m])) by (le,version))

Alertmanager - υπηρεσία και σιωπή

yaml receivers:
- name: pager slack_configs:
- channel: "#oncall"
send_resolved: true inhibit_rules:
- source_match: { severity: "critical" }
target_match: { severity: "warning" }
equal: ["service"]

23) Συμπέρασμα

Η παρακολούθηση δεν είναι σύνολο γραφημάτων, αλλά το λειτουργικό σύστημα SRE: SLI/SLO ως σύμβαση ποιότητας, μετρήσεις/μονοπάτια/αρχεία καταγραφής ως πηγές αλήθειας, προειδοποιήσεις ως ελεγχόμενο σήμα, συνθετικά ως «φωνή χρήστη», GitOps ως πειθαρχία αλλαγής. Φτιάξτε ένα μόνο βρόχο από τον ξενιστή στο API, συνδέστε το με τις κυκλοφορίες και τις ανατροπές - και η πλατφόρμα είναι προβλέψιμη, γρήγορη και οικονομική.

Contact

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

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

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

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

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

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