Παρακολούθηση uptime και καρδιακών παλμών
1) Γιατί το χρειάζεστε
Έγκαιρη ανίχνευση διακοπών στην περίμετρο και στο εσωτερικό (ακμή ↔ πυρήνα).
Επιβεβαίωση της διαθεσιμότητας του χρήστη (όχι μόνο «είναι ζωντανοί οι λοβόι»).
Συμβατική αναφορά SLA/SLO και νομικές υποχρεώσεις.
Παρακολούθηση των διαδικασιών υποβάθρου (cron, ETL, μελανιές πληρωμής) μέσω καρδιακών παλμών.
Μεθοδολογίες: Χρυσά σήματα (καθυστέρηση/κίνηση/σφάλματα/κορεσμός), RED, σύνδεση με SLO και εσφαλμένος προϋπολογισμός.
2) Τύποι ελέγχων (συνθετικά)
ICMP: βασική δικτύωση/διαθεσιμότητα IP.
TCP: η θύρα είναι ζωντανή/χειραψία (π.χ. 443/5432).
TLS: ισχύς/όρος/αλυσίδα πιστοποιητικών.
HTTP (S): κωδικός απόκρισης, καθυστέρηση, κεφαλίδες, βασικά υποστρώματα στο σώμα.
DNS: ανάλυση, TTL, NXDOMAIN/SERVFAIL.
Ακέφαλος περιηγητής (διαδρομή χρήστη): σύνδεση → δράση → σύνδεση.
Προσαρμοσμένοι ανιχνευτές: εξουσιοδότηση πληρωμής σε sandbox PSP, εσωτερικά συνθετικά επιχειρήσεων (προσομοίωση καταθέσεων).
Συμβουλές: Ο έλεγχος τόσο των άκρων όσο και των ιδιωτικών τελικών σημείων (από το εσωτερικό του VPC/K8s) είναι διαφορετικοί τομείς κινδύνου.
3) Αρχιτεκτονική ανοδικής παρακολούθησης
Δοκιμαστικοί πράκτορες ανά περιφέρεια (τουλάχιστον 3 γεω-βαθμοί).
Εξαγωγέας Blackbox για τις εταιρείες HTTP/TCP/TLS/DNS.
συνθετικά με διαδρομές (διαδοχικά βήματα) χωριστά, αποθηκεύουν σενάρια.
Prometheus/Mimir/Θάνος: μετρήσεις συλλογής, κανόνας SLO/συναγερμού.
Alertmanager/Pager: P1/P2 δρομολόγησης, κλιμάκωση.
Σελίδα κατάστασης: διαφανείς επικαιροποιήσεις για επιχειρήσεις/πελάτες.
Αρχεία καταγραφής/ίχνη: διάτρηση με 'trace _ id '/συσχέτιση.
4) Τελικά σημεία για την υγεία: σχεδιασμός
/ healthz (ζωντάνια) - «είναι η διαδικασία ζωντανή».
/ ετοιμότητα (ετοιμότητα) - «έτοιμη για κυκλοφορία» (εξαρτήσεις με κατώφλια).
/ startupz - «αρχικοποιήθηκε».
/ check - προηγμένη επιχειρηματική υγεία (εύκολη βάση δεδομένων/έλεγχοι κρυφής μνήμης με χρονοδιακόπτες και διακόπτη κυκλώματος).
Σημασιολογική υγεία: κωδικός 200 μόνο όταν οι κρίσιμες εξαρτήσεις είναι λειτουργικές. αποικοδόμηση → 503.
Κανόνες: timeout ≤ 2-3, περιορισμένοι επιμέρους έλεγχοι, καμία PII στις απαντήσεις, βαριά εξαρτήματα κρυφής μνήμης.
5) Καρδιακός παλμός για εργασία και εργαζόμενους
Μοντέλο Dead Man 's Switch: αν το τικ δεν έφτασε εγκαίρως, ειδοποιήστε.
Χρήση: εργασίες cron/ETL/τιμολογίων, έλεγχοι πληρωμών εκτός αλυσίδας, εργαζόμενοι στο παρελθόν.
- HTTP: η εργασία όταν τελειώσει κάνει 'POST/καρδιακός παλμός/< εργασία>'.
- Metrics-pull: expose 'last _ success _ timestamp' and alert by «over than N minutes».
- Φύλακας: σταθερό σήμα από τον πράκτορα. απουσία συναγερμού «διακοπή παρακολούθησης».
6) Παραδείγματα διαμόρφωσης
6. 1 Blackbox-εξαγωγέας (HTTP + TLS + DNS)
yaml modules:
http_2xx:
prober: http http:
method: GET preferred_ip_protocol: "ip4"
fail_if_not_ssl: true valid_http_versions: ["HTTP/1. 1","HTTP/2"]
tls_config:
insecure_skip_verify: false headers:
User-Agent: "uptime-probe"
body: ""
ip_protocol_fallback: false
tls_cert:
prober: tcp tcp:
query_response: []
tls: true tls_config:
insecure_skip_verify: false
dns:
prober: dns dns:
query_name: "api. example. com"
valid_rcodes: ["NOERROR"]
preferred_ip_protocol: "ip4"
6. 2 Προμηθέας: Στόχοι και Jabs
yaml scrape_configs:
- job_name: 'blackbox-http'
metrics_path: /probe params:
module: [http_2xx]
static_configs:
- targets:
- https://api. example. com/healthz
- https://pay. example. com/readyz relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- target_label: __address__
replacement: blackbox-exporter:9115
- source_labels: [__param_target]
target_label: instance
6. 3 Heartbeat Job Metrics (Prometheus exporter)
Εκτίθεται η μέτρηση:
job_last_success_timestamp_seconds{job="settlement"} 1. 730000e+09
Καταχώριση:
promql
(time() - job_last_success_timestamp_seconds{job="settlement"}) > 900
6. 4 Watchdog (Διακόπτης νεκρού)
Στο Alertmanager, ενεργοποιήστε τη διαδρομή για την ειδοποίηση 'Watchdog' (πάντα πυροβολώντας) → αν δεν έρθει η ειδοποίηση, η παρακολούθηση είναι σπασμένη.
7) Παραδείγματα PromQL για uptime
Διαθεσιμότητα HTTP (0/1):promql probe_success{job="blackbox-http"} == 1
p95 καθυστέρηση ανά δείγμα:
promql histogram_quantile(0. 95, sum by (le, instance) (rate(probe_http_duration_seconds_bucket[5m])))
Το TLS λήγει <7 ημέρες:
promql
(min_over_time(probe_ssl_earliest_cert_expiry[5m]) - time()) < 7243600
Σφάλματα DNS:
promql rate(probe_dns_rcode{rcode!="NOERROR"}[5m]) > 0
Uptime SLI (κύλιση 28δ):
promql sum_over_time((probe_success==1)[28d]) / (28246060)
8) Προειδοποίηση: κατώφλια και αντι-θόρυβος
Πολυπεριφερειακή απαρτία: ενεργοποιείται εάν ≥2 περιφέρειες διαπιστώσουν πτώση.
Πολλαπλό παράθυρο: 1-5 λεπτά (γρήγορο κανάλι) + 30-60 λεπτά (σταθερή τάση).
Ευαισθησία: αποβολή/για: 2-5 λεπτά κατά του πτερυγισμού.
Συσχέτιση: συσχετισμός συναγερμού uptime με δερμάτινες μετρήσεις (άκρη, DNS, WAF, προέλευση).
Παράθυρα συντήρησης: καταστολή ειδοποιήσεων με ετικέτες 'συντήρησης = αληθινής'.
promql
≥2 regions simultaneously failed sum by (target) (max_over_time (probe _ success = = 0) [3m]))> = 2
9) Πολυπεριφερειακοί έλεγχοι και έλεγχοι πολλαπλών πωλήσεων
Τουλάχιστον 3 γεωγραφικές περιοχές (EU/NA/APAC) και διαφορετικές ASN.
Αντίγραφο: ίδια δείγματα + εξωτερικός πάροχος uptime.
, , διαφορετικά προφίλ CDN POP και WAF.
10) Έλεγχοι ασφαλείας
Επιτρέπονται σειρές δειγμάτων IP σε WAF/LB.
Όρια ταχύτητας και παράκαμψη captcha για τα τελικά σημεία υγείας/καθετήρες.
Υπογραφή τίτλου (HMAC) για την ιδιωτική υγεία.
Χωριστοί τομείς: δημόσια δείγματα και ιδιωτικά (/εσωτερική/υγεία).
Μην επιστρέφετε εσωτερικές εκδόσεις/ρυθμίσεις σε/healthz; μόνο για το καθεστώς.
11) SLO και uptime reporting
SLI Διαθεσιμότητα: 2xx/3xx HTTP ποσοστό επιτυχίας καθετήρα.
Παράδειγμα SLO: ≥ 99. 95% σε 28 ημέρες στις περισσότερες περιφέρειες.
Εσφαλμένος προϋπολογισμός: «1 − SLO» → διαχειρίζεται τις αποδεσμεύσεις.
Προειδοποιήσεις ταχύτητας καύσης: ταχύς/αργός δίαυλος για την αναλογία των αστοχιών του δείγματος.
12) Καρδιακοί παλμοί για πληρωμές και κρίσιμες θέσεις εργασίας
Θέσεις εργασίας «γύρω από τα χρήματα» (μεταφορές, μητρώα) - διπλός έλεγχος: heartbeat + business counters (πόσα αρχεία υποβάλλονται σε επεξεργασία).
Προειδοποιήσεις με «σιωπή» (δεν υπάρχουν νέα γεγονότα> Ν λεπτά) και με καθυστέρηση (υστέρηση πίσω από τον πραγματικό χρόνο).
13) Σελίδες κατάστασης
Χωριστές συνιστώσες (API, πληρωμές, backends, CDN).
Αυτόματες επικαιροποιήσεις από καταχωρίσεις, χειροκίνητες παρατηρήσεις μέσω του ρόλου των Κοινοτήτων.
Ιστορικό περιστατικών, μεταθανάτιοι σύνδεσμοι, προγραμματισμένες εργασίες.
14) Ενσωμάτωση στη διαδικασία συμβάντων
Ειδοποίηση SEV με κανόνες απαρτίας + διάρκεια.
Αυτόματη δημιουργία κάρτας συμβάντος, αίθουσα πολέμου, ανάθεση IC.
Άρθρο 429 παράγραφος 1 στοιχείο β) του ΚΚΑ.
Μετά την επαλήθευση: συνθετικά πράσινα ≥ X λεπτά έως «Resolved».
15) Επιδόσεις και κόστος
Συχνότητα δειγματοληψίας: κρίσιμη - κάθε 30-60 s. δευτεροβάθμια - 1-5 λεπτά.
Αποθήκευση: κανόνες κατεδάφισης/καταγραφής για μακριά παράθυρα.
Προϋπολογισμός εξωτερικών παρόχων: περιορισμός των προηγμένων σεναρίων περιήγησης στο πρόγραμμα.
16) Κατάλογος ελέγχου ποιότητας
- Υπάρχουν/healthz ,/readyz ,/startupz με σαφή σημασιολογία.
- Δείγματα από ≥3 περιφέρειες/ASN, IPv4/IPv6.
- Έλεγχοι και προειδοποιήσεις TLS/DNS T-30/T-7/T-1 ημέρες.
- Χτυπήστε την καρδιά σε όλες τις κρίσιμες θέσεις εργασίας (και την επιχειρηματική «σιωπή»).
- Πολλαπλό παράθυρο + απαρτία, χωρίς πτερύγιο.
- Τρυπάνι: κουμπιά για κούτσουρα/κομμάτια/ταμπλό.
- Σελίδα κατάστασης και υποδείγματα επικοινωνίας.
- Τεκμηρίωση SLO/μετρήσεων και ιδιοκτητών.
17) Σχέδιο εφαρμογής (3 επαναλήψεις)
1. Εβδομάδα 1: ανιχνευτές blackbox HTTP/TLS/DNS από κρίσιμους τομείς, σελίδα κατάστασης, βασικές ειδοποιήσεις.
2. Εβδομάδα 2: Πολυεδαφικότητα, κανόνες απαρτίας, κορυφαία δουλειά καρδιακών παλμών, Watchdog.
3. Εβδομάδα 3: ακέφαλα σενάρια (σύνδεση/κατάθεση), αναφορά SLO, ενσωμάτωση στη διαδικασία συμβάντων.
18) Mini-FAQ
Γιατί τα εξωτερικά δείγματα είναι καλύτερα από τα εσωτερικά
Εξωτερικοί χρήστες βλέπουν την πραγματική διαδρομή χρήστη (DNS/CDN/WAF), εσωτερικοί χρήστες βλέπουν την κατάσταση προέλευσης. Χρειαζόμαστε και τα δύο.
Χρειάζεται να ελέγξω τους πληρωμένους παρόχους υπηρεσιών πληρωμών
Ναι: συνθετικά σε αμμοκιβώτιο και παρακολούθηση σελίδας κατάστασης. σε περίπτωση υποβάθμισης - αυτόματη έξυπνη διαδρομή.
Πώς θα μειωθεί ο θόρυβος
Απαρτία, πολλαπλά παράθυρα, καθυστέρηση, κατάργηση της συντήρησης, σαφή όρια SLO και ιδιοκτησία.
Σύνολο
Η παρακολούθηση του χρόνου αιχμής δεν είναι μόνο ping. Αυτό είναι ένα σύστημα: πολυπεριφερειακά συνθετικά + υψηλής ποιότητας τελικά σημεία υγείας + καρδιακός παλμός + σελίδες SLO/συναγερμού + κατάστασης. Τυποποιήστε τους ελέγχους, μειώστε το θόρυβο, προστατέψτε τα δείγματα και συνδέστε τα πάντα με τη διαδικασία του συμβάντος - με αυτόν τον τρόπο μειώνετε το MTTR και εξοικονομείτε τον εσφαλμένο προϋπολογισμό.