Επισκόπηση του υβριδικού συστήματος παρακολούθησης Okerr

Έχω κάνει ήδη μια ανάρτηση πριν από δύο χρόνια Απλό failover για τον ιστότοπο για okerr. Υπάρχει κάποια εξέλιξη του έργου τώρα, και έχω επίσης δημοσιεύσει πηγαίος κώδικας του τμήματος διακομιστή okerr κάτω από ανοιχτή άδεια, γι' αυτό αποφάσισα να γράψω αυτή τη σύντομη κριτική στο Habr.

Επισκόπηση του υβριδικού συστήματος παρακολούθησης Okerr
[ πλήρες μέγεθος ]

Ποιος μπορεί να ενδιαφέρεται;

Αυτό μπορεί να σας ενδιαφέρει αν εργάζεστε σε μια μικρή ομάδα ή ακόμα και μόνοι σας. Δεν έχετε παρακολούθηση και δεν είστε σίγουροι αν το χρειάζεστε πραγματικά. Ή δοκιμάσατε κάποια δημοφιλή σοβαρή παρακολούθηση "για τα μεγάλα αγόρια", αλλά για εσάς κατά κάποιο τρόπο "δεν απογειώθηκε" ή λειτουργεί σε μια σχεδόν προεπιλεγμένη διαμόρφωση και δεν άλλαξε πολύ τη ζωή σας. Και επίσης - εάν σίγουρα δεν σκοπεύετε να αφιερώσετε έναν ολόκληρο υπάλληλο (ή ακόμα και ένα τμήμα) για να παρακολουθεί τον πίνακα ελέγχου παρακολούθησης ή να τον διαμορφώνει για τουλάχιστον μερικές ώρες την ημέρα.

Τι είναι ασυνήθιστο για το okerr

Στη συνέχεια θα σας δείξω μερικά ενδιαφέροντα χαρακτηριστικά της okera που τη διακρίνουν από κάποια άλλα συστήματα παρακολούθησης.

Το Okerr είναι μια υβριδική παρακολούθηση

Κατά τη διάρκεια της εσωτερικής παρακολούθησης, ένας «πράκτορας» εκτελείται στα παρακολουθούμενα μηχανήματα, ο οποίος μεταδίδει δεδομένα στον διακομιστή παρακολούθησης (για παράδειγμα, ελεύθερος χώρος στο δίσκο). Με εξωτερικό, ο διακομιστής εκτελεί ελέγχους μέσω του δικτύου (για παράδειγμα, ping ή διαθεσιμότητα ιστότοπου). Κάθε προσέγγιση έχει τους δικούς της περιορισμούς. Ο Okerr χρησιμοποιεί και τις δύο επιλογές. Οι έλεγχοι μέσα στους διακομιστές εκτελούνται από έναν πολύ ελαφρύ (30Kb) πράκτορα ή από δικά σας σενάρια και εφαρμογές, και οι έλεγχοι δικτύου πραγματοποιούνται μέσω αισθητήρων okerr σε διαφορετικές χώρες.

Το okerr δεν είναι απλώς λογισμικό, αλλά και υπηρεσία

Το τμήμα διακομιστή οποιασδήποτε παρακολούθησης είναι ένα μεγάλο και περίπλοκο πράγμα, είναι δύσκολο να εγκατασταθεί και να ρυθμιστεί, απαιτεί πόρους. Με το okerr μπορείτε να ρυθμίσετε τον δικό σας διακομιστή παρακολούθησης (είναι δωρεάν και ανοιχτού κώδικα) ή μπορείτε απλώς να χρησιμοποιήσετε το τμήμα πελάτη και να χρησιμοποιήσετε την υπηρεσία διακομιστή μας. Επίσης δωρεάν.

Εάν η παρακολούθηση μας επιτρέπει να αντισταθμίσουμε και να καλύψουμε την έλλειψη αξιοπιστίας σε διακομιστές και εφαρμογές, τότε τίθεται ένα φιλοσοφικό ερώτημα: ποιος φυλάει τον φύλακα; Πώς θα μας ενημερώσει η παρακολούθηση για ένα πρόβλημα εάν η ίδια "πέθανε" για κάποιο λόγο, χωριστά ή μαζί με άλλους πόρους σας (για παράδειγμα, ένα κανάλι σε ένα κέντρο δεδομένων κατέρρευσε); Όταν χρησιμοποιείτε την εξωτερική υπηρεσία okerr - αυτό το πρόβλημα έχει λυθεί - θα λάβετε μια ειδοποίηση ακόμα και αν ολόκληρο το κέντρο δεδομένων με τους διακομιστές σας απενεργοποιηθεί ή δεχτεί επίθεση από ζόμπι.

Φυσικά, υπάρχει ο κίνδυνος ο ίδιος ο διακομιστής okerr να μην είναι διαθέσιμος. Όπως γνωρίζουμε, η αξιοπιστία του 90% επιτυγχάνεται πάντα εύκολα και «δωρεάν», το 99% με ελάχιστη προσπάθεια, και κάθε επόμενο εννέα είναι εκθετικά πιο δύσκολο. Αλλά, πρώτον, οι πιθανότητες να συμβεί αυτό είναι χαμηλότερες, και δεύτερον, το πρόβλημα μπορεί να περάσει απαρατήρητο μόνο εάν συμπίπτει με προβλήματα στους διακομιστές μας. Εάν έχουμε αξιοπιστία, 99.9%, και εσύ 99.9% (όχι πολύ υψηλοί αριθμοί), τότε η πιθανότητα μιας μη ανιχνευμένης βλάβης είναι 0.1% του 0.1% = 0.0001%. Η προσθήκη τριών εννιαρίων στην αξιοπιστία σας σχεδόν χωρίς καμία προσπάθεια και χωρίς κόστος είναι αρκετά καλή!

Ένα άλλο πλεονέκτημα της παρακολούθησης ως υπηρεσίας είναι ότι ένας πάροχος φιλοξενίας ή στούντιο ιστού μπορεί να εγκαταστήσει έναν διακομιστή okerr και να παρέχει πρόσβαση στους πελάτες ως επί πληρωμή ή δωρεάν πρόσθετη υπηρεσία. Οι ανταγωνιστές σας έχουν απλώς φιλοξενία και ιστότοπους, αλλά έχετε αξιόπιστη φιλοξενία με παρακολούθηση.

Το Okerr αφορά τους δείκτες

Ο δείκτης είναι μια «λάμπα». Έχει δύο κύριες καταστάσεις - πράσινο (OK) ή κόκκινο (ERR). Το έργο περιέχει πολλούς ομαδοποιημένους (για παράδειγμα, κατά διακομιστές) δείκτες. Στην κύρια σελίδα του έργου, μπορείτε να δείτε αμέσως εάν όλα είναι πράσινα (και μπορείτε να τα κλείσετε) ή κάτι είναι κόκκινο και πρέπει να διορθωθεί. Κατά την εναλλαγή μεταξύ αυτών των καταστάσεων, αποστέλλεται μια ειδοποίηση. Μία φορά την ημέρα, ενώ το ρυθμίζετε, αποστέλλεται μια περίληψη του έργου.

Επισκόπηση του υβριδικού συστήματος παρακολούθησης Okerr

Κάθε δείκτης okerr έχει ενσωματωμένες συνθήκες υπό τις οποίες αλλάζει την κατάστασή του (στο Zabbix αυτό ονομάζεται έναυσμα). Για παράδειγμα, ο μέσος όρος φορτίου δεν πρέπει να είναι μεγαλύτερος από 2 (φυσικά, αυτό μπορεί να διαμορφωθεί). Και για κάθε εσωτερικό έλεγχο (μέσος όρος φορτίου, χωρίς δίσκο,…) υπάρχει ένας φύλακας. Εάν για κάποιο λόγο δεν λάβουμε επιτυχή επιβεβαίωση την καθορισμένη ώρα, καταγράφεται ένα σφάλμα και αποστέλλεται ειδοποίηση.

Το συνηθισμένο πρόγραμμα εργασίας μας είναι να ελέγχουμε το email μας το πρωί, όπου βλέπουμε τη σύνοψη μεταξύ άλλων email (το προγραμματίζουμε για την έναρξη της εργασίας). Εάν όλα είναι εντάξει εκεί, κάνουμε άλλα σημαντικά πράγματα (αλλά για αξιοπιστία μπορούμε να κοιτάξουμε γρήγορα το ταμπλό του okerra για να βεβαιωθούμε ότι όλα είναι πράσινα αυτή τη στιγμή). Αν μπει συναγερμός, αντιδρούμε.

Φυσικά, είναι δυνατό να διατηρηθούν απλώς δείκτες «πληροφοριών» (για να δείτε την εικόνα του δικτύου από την παρακολούθηση), αλλά όλα γίνονται για να φτιάξετε απλά, εύκολα και γρήγορα δείκτες ειδικά για αυτόματη παρακολούθηση και αποστολή ειδοποιήσεων.

Το όλο θέμα της ρύθμισης του okerr είναι για ειδοποιήσεις, έτσι ώστε να μπορείτε να δημιουργήσετε μια ένδειξη σε ένα λεπτό, θα μπορούσε να "κοιμηθεί" για ένα χρόνο, απλά να δέχεται ενημερώσεις και όταν κάτι χαλάσει σε ένα χρόνο, ανάβει και στέλνει μια ειδοποίηση. Το λεπτό που αφιερώσατε μία φορά στη δημιουργία ενός δείκτη απέδωσε, μάθατε για το πρόβλημα αμέσως, πριν από όλους τους άλλους. Είναι πιθανό να διορθώθηκε πριν το προσέξει κανείς. Ό,τι σηκώνεται γρήγορα δεν θεωρείται πεσμένο!

Ασφάλεια

Θα ήταν κρίμα αν ρυθμίσετε την παρακολούθηση για να βελτιώσετε την αξιοπιστία, και ως αποτέλεσμα, δεχθείτε επίθεση μέσω αυτής μέσω του δικτύου, και υπάρχουν αρκετές ευπάθειες δικτύου σε διαφορετικά εργαλεία παρακολούθησης (Zabbix, Νάγκιος).

Πράκτορας (okerrmod από τη συσκευασία okerrupdate), που εκτελείται στο σύστημα δεν είναι διακομιστής δικτύου, αλλά πελάτης. Επομένως, δεν υπάρχουν πρόσθετες ανοιχτές θύρες στον παρατηρούμενο διακομιστή, ο πελάτης λειτουργεί εύκολα πίσω από ένα τείχος προστασίας ή NAT και είναι πολύ δύσκολο (θα έλεγα "αδύνατο") να χακάρει μέσω του δικτύου, καθώς δεν ακούει κατ 'αρχήν μια υποδοχή δικτύου.

Πλήρης κάλυψη παρακολούθησης

Τώρα έχουμε έναν κανόνα - μαθαίνουμε για όλα τα τεχνικά προβλήματα από το okerr. Εάν ξαφνικά παραβιαστεί ο κανόνας (το okerr δεν προειδοποίησε για την επικείμενη εμφάνισή του (αν είναι δυνατόν) ή ότι έχει ήδη συμβεί) - προσθέτουμε επιταγές στο okerr.

Εξωτερικοί έλεγχοι

Αρκετά τυπικό σύνολο:

  • ping σε
  • κατάσταση http
  • ελέγξτε την εγκυρότητα και τη φρεσκάδα του πιστοποιητικού SSL (θα σας προειδοποιήσει εάν πρόκειται να λήξει)
  • ανοίξτε τη θύρα TCP και το banner σε αυτήν
  • http grep (η σελίδα [δεν πρέπει] να περιέχει συγκεκριμένο κείμενο)
  • sha1 κατακερματισμός για να συλλάβει τις αλλαγές σελίδας.
  • DNS (η εγγραφή DNS πρέπει να έχει συγκεκριμένη τιμή)
  • WHOIS (θα σας προειδοποιήσει εάν ο τομέας πρόκειται να λήξει)
  • Antispam DNSBL (έλεγχος ενός κεντρικού υπολογιστή έναντι 50+ μαύρων λιστών antispam ταυτόχρονα)

Εσωτερικοί έλεγχοι

Επίσης, ένα αρκετά τυπικό σύνολο (αλλά εύκολα επεκτάσιμο).

  • df (ελεύθερος χώρος στο δίσκο)
  • μέσο φορτίο
  • opentcp (άνοιγμα υποδοχών TCP ακρόασης - ειδοποίηση εάν κάτι ξεκινήσει ή κολλήσει)
  • uptime - απλά uptime στον διακομιστή. Ειδοποίηση εάν έχει αλλάξει (δηλαδή ο διακομιστής έχει επανεκκινηθεί)
  • client_ip
  • dirsize — το χρησιμοποιούμε για να παρακολουθούμε πότε τα rootf της εικονικής μας μηχανής υπερβαίνουν το επιτρεπόμενο μέγεθος χωρίς να εισάγουμε σκληρά όρια και για τα μεγέθη των οικιακών καταλόγων των χρηστών
  • άδεια και μη — παρακολουθήστε αρχεία που πρέπει να είναι άδεια (ή όχι άδεια). Για παράδειγμα, το αρχείο καταγραφής σφαλμάτων του ίδιου του διακομιστή okerr θα πρέπει να είναι κενό και αν υπάρχει έστω και μια γραμμή σε αυτό, θα λάβω μια ειδοποίηση και θα ελέγξω. Αλλά το mail.log στον διακομιστή αλληλογραφίας ΔΕΝ πρέπει να είναι κενό (Ν λεπτά μετά την περιστροφή). Και μερικές φορές το είχαμε άδειο μετά από μια ενημέρωση συστήματος όταν το logrotate δεν μπορούσε να επανεκκινήσει σωστά το rsyslog.
  • linecount — ο αριθμός των γραμμών στο αρχείο (όπως wc -l). Το χρησιμοποιούμε ως πιο απαλή αντικατάσταση του κενού όταν το αρχείο καταγραφής σφαλμάτων μπορεί ακόμα να αναπτυχθεί, αλλά μόνο αργά (για παράδειγμα, το Googlebot μας χτυπάει με σφυρηλάτηση ορισμένες κλειστές σελίδες). Υπάρχει όριο 2 γραμμών ανά 20 λεπτά. Εάν είναι υψηλότερο, θα υπάρξει ειδοποίηση.

Ενδιαφέροντες εσωτερικούς ελέγχους

Εάν μέχρι αυτό το σημείο διαβάζατε διαγώνια, θα είναι πιο ενδιαφέρον να διαβάσετε πιο προσεκτικά τώρα.

αντιγράφων ασφαλείας

Παρακολουθεί τα αντίγραφα ασφαλείας στον κατάλογο. Τα αντίγραφα ασφαλείας μας έχουν ονόματα όπως "ServerName-20200530.tar.gz". Για κάθε διακομιστή στο okerr, δημιουργείται μια ένδειξη ServerName-DATE.tar.gz (η πραγματική ημερομηνία αλλάζει στη γραμμή "DATE"). Η παρουσία ενός νέου αντιγράφου ασφαλείας και το μέγεθός του παρακολουθούνται (για παράδειγμα, δεν μπορεί να είναι μικρότερο από το 90% του προηγούμενου αντιγράφου ασφαλείας).

Τι πρέπει να γίνει ώστε να αρχίσει να παρακολουθείται ένα νέο αντίγραφο ασφαλείας αφού αρχίσουμε να το δημιουργούμε και να το τοποθετήσουμε σε αυτόν τον κατάλογο; Τίποτα! Αυτή είναι μια πολύ βολική προσέγγιση όταν χρειάζεται να κάνετε «τίποτα» γιατί:

  • Το να κάνεις "τίποτα" είναι αρκετά γρήγορο, εξοικονομεί χρόνο
  • Είναι δύσκολο να ξεχάσεις να κάνεις "τίποτα"
  • Είναι δύσκολο να κάνεις «τίποτα» λανθασμένα, με ένα λάθος. Τίποτα δεν είναι η πιο αξιόπιστη μέθοδος

Εάν, ωστόσο, σταματήσουν να εμφανίζονται ξαφνικά νέα αρχεία αντιγράφων ασφαλείας, θα υπάρξει ειδοποίηση. Εάν, για παράδειγμα, έχετε απενεργοποιήσει έναν από τους διακομιστές και τα αντίγραφα ασφαλείας του δεν θα πρέπει να υπάρχουν πλέον, θα πρέπει να διαγράψετε την ένδειξη (μέσω της διεπαφής ιστού ή από το κέλυφος μέσω του API).

maxfilesz

Παρακολουθεί το μέγεθος των μεγαλύτερων αρχείων (συνήθως: /var/log/*). Αυτό σας επιτρέπει να εντοπίσετε απρόβλεπτα προβλήματα, όπως εικασία κωδικού πρόσβασης ή αποστολή ανεπιθύμητης αλληλογραφίας μέσω του διακομιστή.

runstatus/runline

Αυτές είναι δύο σημαντικές ενότητες διακομιστή μεσολάβησης για την εκτέλεση άλλων προγραμμάτων στον διακομιστή. Το Runstatus αναφέρει τον κωδικό εξόδου του προγράμματος στην ένδειξη. Για παράδειγμα, το okerr δεν διαθέτει (ή δεν χρειάζεται) μια λειτουργική μονάδα για να ελέγξει ότι οι υπηρεσίες systemd εκτελούνται. Αυτό γίνεται μέσω της κατάστασης εκτέλεσης (δείτε παρακάτω). Runline - στέλνει μια γραμμή στον διακομιστή που παράγει το πρόγραμμα. Για παράδειγμα, temp_RUN="cat /sys/class/thermal/thermal_zone0/temp" στη διαμόρφωση Runline στον διακομιστή μας δημιουργεί μια ένδειξη όνομα διακομιστή: θερμοκρασία με τη θερμοκρασία του επεξεργαστή.

SQL

Εκτελεί ένα αριθμητικό ερώτημα έναντι της MySQL και αναφέρει το αποτέλεσμα στον δείκτη. Σε μια απλή περίπτωση, μπορείτε να κάνετε, για παράδειγμα, "SELECT 1" - αυτό θα ελέγξει ότι το DBMS λειτουργεί γενικά.

Αλλά μια πολύ πιο ενδιαφέρουσα εφαρμογή είναι, για παράδειγμα, η παρακολούθηση του αριθμού των παραγγελιών σε ένα ηλεκτρονικό κατάστημα. Εάν γνωρίζετε ότι έχετε 100 παραγγελίες την ώρα, μπορείτε να ορίσετε ένα ελάχιστο όριο 100 ή 80. Στη συνέχεια, εάν οι πωλήσεις σας πέσει ξαφνικά, θα λάβετε μια ειδοποίηση και θα μπορείτε να το διευθετήσετε.

Σημειώστε ότι δεν έχει σημασία για ποιον απρόβλεπτο λόγο συνέβη αυτό:

  • Ο διακομιστής είναι απλά μη διαθέσιμος (ενεργοποιημένος ή χωρίς δίκτυο) και η ειδοποίηση προήλθε από την ένδειξη "off".
  • Ο διακομιστής είναι υπερφορτωμένος με κάτι, λειτουργεί αργά ή χάνει πακέτα, οι χρήστες αισθάνονται άβολα και φεύγουν χωρίς να κάνουν αγορές
  • Ο διακομιστής έχει προστεθεί σε λίστες ανεπιθύμητων μηνυμάτων και η αλληλογραφία από αυτόν δεν γίνεται αποδεκτή, οι χρήστες δεν μπορούν να εγγραφούν
  • Ο προϋπολογισμός της διαφημιστικής καμπάνιας έχει εξαντληθεί και τα banner δεν προβάλλονται.

Μπορεί να υπάρχουν πολλοί λόγοι και δεν μπορείτε να τους προβλέψετε όλους εκ των προτέρων και είναι τεχνικά δύσκολο να τους παρακολουθήσετε. Αλλά μπορείτε εύκολα να παρακολουθήσετε την τελική παράμετρο (παραγγελίες) και να προσδιορίσετε από αυτές ότι η κατάσταση είναι ύποπτη και αξίζει να αντιμετωπιστεί.

Λογικοί δείκτες

Σας επιτρέπει να χρησιμοποιείτε λογικές εκφράσεις (σύνταξη Python) μέσω της λειτουργικής μονάδας επικυρώνω(άρθρο για το Habré). Τα δεδομένα του έργου και οι δείκτες τους είναι διαθέσιμα για έκφραση. Για παράδειγμα, στο κεφάλαιο για την επαλήθευση SQL παραπάνω, μπορεί να έχετε παρατηρήσει ένα αδύναμο σημείο - κατά τη διάρκεια της ημέρας μπορεί να έχουμε 100 πωλήσεις την ώρα, αλλά τη νύχτα - 20, και αυτό είναι φυσιολογικό, δεν είναι πρόβλημα. Τι να κάνουμε; Ο δείκτης θα πανικοβάλλεται συνεχώς τη νύχτα.

Μπορείτε να δημιουργήσετε δύο δείκτες, ημέρα και νύχτα. Κάντε και τα δύο "σιωπηλά" (δεν θα στείλουν ειδοποιήσεις). Και δημιουργήστε μια λογική ένδειξη που απαιτεί η ένδειξη ημέρας να είναι ΟΚ πριν τις 20:00 και μετά τις 20:00 αρκεί για να είναι εντάξει η ένδειξη νύχτας.

Ένα άλλο παράδειγμα χρήσης ενός λογικού δείκτη είναι κλιμάκωση. Για παράδειγμα, ένας διαχειριστής έργου καταργεί την εγγραφή του από τις ειδοποιήσεις (δεν χρειάζεται, οι διαχειριστές θα πρέπει να ανταποκρίνονται σε τακτικά προβλήματα), αλλά εγγράφεται σε μια λογική ένδειξη που γίνεται κόκκινη εάν κάποιος δείκτης στο έργο δεν διορθωθεί εντός του καθορισμένου χρόνου.

Είναι επίσης δυνατό να ορίσετε μια επιτρεπόμενη ώρα για εργασία, για παράδειγμα, από τις 3 έως τις 5 π.μ. Δεν μας ενδιαφέρει αν οι διακομιστές και οι ιστότοποι πέσουν κατά τη διάρκεια αυτής της περιόδου. Αλλά στις 5:00 πρέπει να δουλέψουν. Εάν δεν λειτουργήσουν οποιαδήποτε άλλη στιγμή - ειδοποίηση. Ο λογικός δείκτης σάς επιτρέπει επίσης να λάβετε υπόψη τον πλεονασμό διακομιστή. Εάν έχετε 5 διακομιστές ιστού, τότε οι διαχειριστές μπορούν να απενεργοποιήσουν 1-2 διακομιστές ανά πάσα στιγμή. Αλλά αν υπάρχουν λιγότεροι από 3 στους 5 διακομιστές στη μάχη, θα υπάρξει ειδοποίηση.

Τα παραπάνω παραδείγματα δεν είναι συναρτήσεις okerr, ούτε κάποιες λειτουργίες που πρέπει να ενεργοποιηθούν και να διαμορφωθούν. Όλες αυτές οι συναρτήσεις δεν είναι στο okerra, αλλά υπάρχει μια λογική ενότητα που σας επιτρέπει να εφαρμόσετε αυτήν τη λειτουργία (Περίπου όπως σε μια γλώσσα προγραμματισμού - αν έχουμε αριθμητικούς τελεστές, τότε δεν χρειαζόμαστε ειδική συνάρτηση από τη γλώσσα για τον υπολογισμό του 20% ΦΠΑ, μπορείτε πάντα να την φτιάξετε μόνοι σας για να ταιριάξετε στις ανάγκες σας).

Ο λογικός δείκτης είναι πιθανώς ένα από τα λίγα σχετικά σύνθετα θέματα στο okerr, αλλά τα καλά νέα είναι ότι δεν χρειάζεται να τα κατακτήσετε μέχρι να το χρειαστείτε. Αλλά ταυτόχρονα, διευρύνουν πολύ τις δυνατότητες, ενώ διατηρούν το ίδιο το σύστημα αρκετά απλό.

Προσθέτοντας τις δικές σας επιταγές

Θα ήθελα πολύ να μεταφέρω την ιδέα ότι το okerr δεν είναι ένα σύνολο χιλιάδων έτοιμων επιταγών για όλες τις περιπτώσεις, αλλά αντίθετα - πρώτα απ 'όλα - ένας απλός κινητήρας με απλή δυνατότητα δημιουργίας των δικών σας επιταγών. Η δημιουργία των δικών σας επιταγών στο okerr δεν είναι μια εργασία για χάκερ, συν-προγραμματιστές του συστήματος ή ακόμα και προχωρημένους χρήστες okerr, αλλά μια εφικτή εργασία για κάθε διαχειριστή που εγκατέστησε το Linux για πρώτη φορά πριν από ένα μήνα.

Οι έλεγχοι στα ελάχιστα γίνονται μέσω της ενότητας κατάσταση λειτουργίας:

Αυτή η γραμμή βρίσκεται στη διαμόρφωση κατάσταση λειτουργίας θα σας ειδοποιήσει εάν το /bin/true αποτύχει να ξεκινήσει ή επιστρέψει κάτι διαφορετικό από 0.

true_OK=/bin/true

Μόνο μια γραμμή - και εδώ είμαστε ήδη λίγο αναπτυγμένος λειτουργικότητα okerr.

Ακόμη και ένας τέτοιος έλεγχος έχει ήδη την αξία του: αν ξαφνικά ο διακομιστής σας πέσει, η αντίστοιχη ένδειξη στον διακομιστή okerr δεν θα ενημερωθεί εγκαίρως και μετά από ένα ορισμένο χρονικό διάστημα θα εμφανιστεί μια ειδοποίηση.

Αυτός ο έλεγχος θα σας ειδοποιήσει ότι ο διακομιστής Apache2 έχει καταρρεύσει (καλά, ποτέ δεν ξέρετε...):

apache_OK="systemctl is-active --quiet apache2"

Έτσι, εάν γνωρίζετε κάποια γλώσσα προγραμματισμού, τουλάχιστον μπορείτε να γράψετε σενάρια φλοιού, τότε μπορείτε ήδη να προσθέσετε τις δικές σας επιταγές.

Πιο περίπλοκο - μπορείτε να γράψετε (σε οποιαδήποτε γλώσσα) τη δική σας ενότητα για το okerrmod. Στην απλούστερη μορφή του μοιάζει με αυτό:

#!/usr/bin/python3

print("STATUS: OK")

Δεν είναι τόσο δύσκολο, έτσι; Η μονάδα θα πρέπει να κάνει τον ίδιο τον έλεγχο και να βγάζει τα αποτελέσματα στο STDOUT. Μια πιο σύνθετη ενότητα δίνει, για παράδειγμα, αυτό:

$ okerrmod --dump df
NAME: pi:df-/
TAGS: df
METHOD: numerical|maxlim=90
DETAILS: 49.52%, 13.9G/28.2G used, 13.0G free
STATUS: 49.52

NAME: pi:df-/boot
TAGS: df
METHOD: numerical|maxlim=90
DETAILS: 84.32%, 53.1M/62.9M used, 9.9M free
STATUS: 84.32

Ενημερώνει πολλούς δείκτες ταυτόχρονα (που χωρίζονται με μια κενή γραμμή), τους δημιουργεί εάν είναι απαραίτητο, καθορίζει τις λεπτομέρειες ελέγχου και μια ετικέτα με την οποία μπορούν να βρεθούν εύκολα οι απαιτούμενοι δείκτες στον πίνακα εργαλείων.

Telegram

Υπάρχει ένα bot Telegram @OkerrBot. Δεν χρειάζεται να γεμίζετε το τηλέφωνό σας με ξεχωριστές εφαρμογές (δεν μου αρέσει που χρειάζεστε μια εφαρμογή με χάρτη για την Pyaterochka, μια άλλη για το Lenta, μια τρίτη για το MTS και ούτω καθεξής για όλους). Ένα τηλεγράφημα είναι αρκετό. Μέσω του Telegram, μπορείτε να λαμβάνετε ειδοποιήσεις αμέσως, να ελέγξετε την κατάσταση του έργου και να εκδώσετε μια εντολή για να ελέγξετε ξανά όλους τους προβληματικούς δείκτες. Αφήσαμε το θέατρο/αεροπλάνο, δεν κρατήσαμε το δάχτυλό μας στον παλμό για δύο ώρες, ανοίξαμε το τηλέφωνο, πατήσαμε ένα κουμπί στο chatbot και βεβαιωθήκαμε ότι όλα ήταν εντάξει.

Σελίδες κατάστασης

Στις μέρες μας, οι σελίδες κατάστασης είναι σχεδόν απαραίτητο για κάθε επιχείρηση που διαθέτει πληροφορική, υπεύθυνη στάση απέναντι στην αξιοπιστία και που σέβεται τους πελάτες/χρήστες της.

Φανταστείτε μια κατάσταση: ένας χρήστης θέλει να κάνει κάτι, να δει πληροφορίες ή να κάνει μια παραγγελία και κάτι δεν λειτουργεί. Δεν ξέρει ποιο είναι το θέμα, ποιανού πλευρά είναι το πρόβλημα και πότε θα λυθεί. Ίσως ο ιστότοπος της εταιρείας σας απλώς να μην λειτουργεί; Ή χάλασε πριν από έξι μήνες και θα διορθωθεί σε δύο χρόνια; Αλλά πρέπει να αγοράσετε ένα ψυγείο τώρα, είναι ήδη στο καλάθι... Και είναι εντελώς διαφορετικό το θέμα όταν κάποιος βλέπει ότι κάτι δεν πάει καλά με εσάς (τουλάχιστον είναι ξεκάθαρο ότι το πρόβλημα δεν είναι με το μέρος του), ότι το πρόβλημα έχει ανακαλυφθεί, ότι το εργάζεστε ήδη και ίσως γράψει ακόμη και έναν κατά προσέγγιση χρόνο για να το διορθώσετε. Ο χρήστης μπορεί να εγγραφεί και να λάβει μια ειδοποίηση μέσω email όταν επιλυθεί το πρόβλημα και μπορεί να κάνει ό,τι ήθελε (αγορά ψυγείου).

Επισκόπηση του υβριδικού συστήματος παρακολούθησης Okerr

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

Εδώ Επανεξέταση 10 άλλων έργων που σας επιτρέπουν να δημιουργείτε σελίδες κατάστασης. Ακολουθούν παραδείγματα για το πώς μοιάζουν αυτές οι σελίδες για έργα Python и dropbox. σελίδα κατάστασης okerr.

failover

Για να μην κάνω αυτό το άρθρο ακόμη μεγαλύτερο, θα αναφερθώ ξανά στο προηγούμενο άρθρο μου - Απλό failover για τον ιστότοπο . Εάν μπορείτε να δημιουργήσετε έναν διπλότυπο διακομιστή, στη συνέχεια χρησιμοποιώντας το failover, βασικά δεν θα έχετε μεγάλο χρόνο διακοπής λειτουργίας - μόλις εντοπιστεί το πρόβλημα, οι χρήστες θα ανακατευθυνθούν αυτόματα στον λειτουργικό εφεδρικό διακομιστή. Και μου φαίνεται ότι αυτό είναι ένα πολύ ενδιαφέρον, φωτεινό χαρακτηριστικό που σπάνια συναντάται πουθενά.

Χαμηλές απαιτήσεις συστήματος

Για διακομιστές okerr, χρησιμοποιούμε μηχανήματα με μνήμη RAM από 2 Gb. Για τους αισθητήρες δικτύου, ακόμη και 512 Mb είναι αρκετά. Η πλευρά του πελάτη είναι σχεδόν μηδενική. (Πλαστική σακούλα okerrupdate ζυγίζει 26 Kb, αλλά απαιτεί Python3 και τυπικές βιβλιοθήκες). Ο πελάτης εκκινείται από ένα σενάριο cron, επομένως έχει μηδενική κατανάλωση μόνιμης μνήμης. Μεταξύ των μηχανημάτων που παρακολουθούμε έχουμε αισθητήρες (σούπερ φθηνά VPS με 512 Mb RAM) και Raspberry Pi. Είναι δυνατό ακόμη και χωρίς το τμήμα πελάτη αποστολή ενημερώσεων μέσω curl! (δείτε παρακάτω)

Λαμβάνοντας αυτό υπόψη - okerr, πιθανώς, το πιο ελεύθερο σύστημα παρακολούθησης από τα υπάρχοντα, γιατί ακόμη και για να χρησιμοποιήσετε ένα άλλο δωρεάν σύστημα ανοιχτού κώδικα όπως το Zabbix ή το Nagios, πρέπει να διαθέσετε πόρους (έναν διακομιστή) σε αυτό, και αυτό κοστίζει χρήματα. Επιπλέον, απαιτείται ακόμα κάποια συντήρηση διακομιστή. Με το okerr - αυτό το τμήμα μπορεί να αφαιρεθεί. Ή μπορείτε να το αφήσετε ήσυχο και να χρησιμοποιήσετε τον δικό σας διακομιστή - όποιο προτιμάτε.

API και ενσωμάτωση στο δικό σας λογισμικό

Απλή και ανοιχτή αρχιτεκτονική. Το okerr έχει ένα πολύ απλό API, το οποίο είναι εύκολο να δουλέψεις. Θέλετε να δημιουργήσετε 1000 δείκτες; Ένα σενάριο φλοιού 3-4 γραμμών θα το κάνει. Θέλετε να διαμορφώσετε εκ νέου 1000 δείκτες; Είναι επίσης πολύ εύκολο. Για παράδειγμα, θέλουμε να ελέγξουμε ξανά όλα τα πιστοποιητικά HTTPS από τον ρωσικό αισθητήρα:

#!/bin/sh

for indicator in `okerrclient --api-filter sslcert`
do
    echo set location for $indicator
    okerrclient --api-set location=ru retest=1 --name $indicator
done

Μπορείτε να ενημερώσετε την ένδειξη χρησιμοποιώντας τη μονάδα πελάτη μας ή ακόμα και χωρίς αυτήν, απλώς μέσω curl.

# short and nice (using okerrupdate and config file)
$ okerrupdate MyIndicator OK

# only curl is enough!
$ curl -d 'textid=MyProject&name=MyIndicator&secret=MySecret&status=OK' https://bravo.okerr.com/

Μπορείτε να ενημερώσετε τους δείκτες απευθείας από το πρόγραμμά σας. Για παράδειγμα, αποστολή σημάτων καρδιακού παλμού έτσι ώστε το okerr να γνωρίζει ότι λειτουργεί και να ειδοποιεί εάν κολλήσει ή παγώσει. Παρεμπιπτόντως, τα στοιχεία του okerr κάνουν ακριβώς αυτό - το okerr παρακολουθεί τον εαυτό του και τα προβλήματα σχεδόν σε οποιαδήποτε μονάδα θα εντοπιστούν και θα δημιουργήσουν μια ειδοποίηση προβλήματος. (Και στην περίπτωση αυτού του "σχεδόν" - διασταυρώνονται από άλλο διακομιστή)

Εδώ είναι ο κώδικας (απλοποιημένος) στο bot του telegram:

from okerrupdate import OkerrProject, OkerrExc

op = OkerrProject()
uptimei = op.indicator("{}:telebot_uptime".format(hostname))
...
uptimei.update('OK', 'pid: {} Uptime: {} cmds: {}'.format(
        os.getpid(), dhms(uptime), commands_cnt))

Για να ενημερώσετε δείκτες από προγράμματα Python, υπάρχει μια βιβλιοθήκη okerrupdate, για οποιεσδήποτε άλλες γλώσσες - δεν υπάρχουν βιβλιοθήκες, αλλά μπορείτε είτε να καλέσετε το σενάριο okerrupdate είτε να κάνετε ένα αίτημα HTTP στον διακομιστή okerr.

Πώς μας βοηθά το okerr

Ο Okerr άλλαξε τη ζωή μας. Πράγματι. Ίσως ένα άλλο σύστημα παρακολούθησης θα μπορούσε να κάνει το ίδιο, αλλά το okerr είναι εύκολο και απλό να δουλέψουμε και έχει όλες τις λειτουργίες που χρειαζόμασταν (τι δεν υπήρχε, προσθέσαμε). Παρεμπιπτόντως, εάν λείπει κάποιο χαρακτηριστικό, ρωτήστε και θα το προσθέσω (δεν υπόσχομαι, αλλά θέλω το okerr να είναι το καλύτερο σύστημα παρακολούθησης για μικρομεσαία έργα). Ή, ακόμα καλύτερα, προσθέστε το μόνοι σας - είναι εύκολο.

Καταφέραμε να ζούμε με την αρχή «να μάθετε για όλα τα προβλήματα από την okerra». Αν ξαφνικά παρουσιαστεί ένα πρόβλημα για το οποίο μάθαμε όχι από το okerr, προσθέτουμε μια επιταγή στο okerr. (σε αυτήν την περίπτωση, με το "εμείς" εννοώ εμάς ως χρήστες του συστήματος, όχι ως συν-προγραμματιστές). Στην αρχή ήταν συχνό, τώρα όμως έχει γίνει πολύ σπάνιο.

Παρακολούθηση

Χρησιμοποιούμε το okerr για την παρακολούθηση μεγεθών αρχείων καταγραφής σε όλους τους διακομιστές. Είναι, φυσικά, αδύνατο να διαβάσετε προσεκτικά κάθε γραμμή του ημερολογίου, αλλά η απλή παρακολούθηση του ρυθμού ανάπτυξης δίνει ήδη πολλά. Μέσω αυτού εντοπίσαμε τόσο τη διανομή ανεπιθύμητων μηνυμάτων όσο και την ωμή μαντεία κωδικού πρόσβασης, και όταν ορισμένες από τις εφαρμογές «τρελαίνονται», αποτυγχάνουν σε κάτι και το επαναλαμβάνουν ξανά και ξανά (κάθε φορά προσθέτοντας μερικές γραμμές στο αρχείο καταγραφής).

Πιστοποιητικά SSL. Σχεδόν αμέσως μετά την εκτόξευση Ας κρυπτογραφήσουμε Ο πελάτης μας άρχισε να παρέχει στους πελάτες του δωρεάν πιστοποιητικά SSL (περίπου χίλια από αυτά). Και αποδείχθηκε ότι ήταν απλώς κόλαση για τη διοίκηση! Το θέμα είναι ότι οι ιστότοποι είναι «ζωντανοί», οι πελάτες ζητούν περιοδικά να γίνει κάτι, οι προγραμματιστές το κάνουν. Μπορούν να μετακινήσουν ελεύθερα τον ιστότοπο σε άλλο DocumentRoot, για παράδειγμα. Ή προσθέστε μια άνευ όρων Επανεγγραφή στη διαμόρφωση εικονικού κεντρικού υπολογιστή. Φυσικά, μετά από αυτό, διακόπτεται η αυτόματη ενημέρωση των πιστοποιητικών. Τώρα όλοι οι κεντρικοί υπολογιστές SSL προστίθενται στο okerr αυτόματα μέσω ενός άλλου χρήσιμου βοηθητικού προγράμματος από το πακέτο μας a2conf. Απλώς εκκινήστε το a2okerr.py - και αν εμφανιστούν πολλές νέες τοποθεσίες στον διακομιστή, θα εμφανιστούν αυτόματα στο okerr. Αν ξαφνικά για κάποιο λόγο δεν ανανεωθεί το πιστοποιητικό, τρεις εβδομάδες πριν λήξει το πιστοποιητικό, το γνωρίζουμε και καταλαβαίνουμε γιατί δεν ανανεώνεται, τέτοιος σκύλος. a2certbot.py από το ίδιο πακέτο - βοηθάει πολύ σε αυτό (ελέγχει αμέσως τα πιο πιθανά προβλήματα - και γράφει καλά τι ελέγχθηκε και πού είναι πιο πιθανό το πρόβλημα).

Παρακολουθούμε τις ημερομηνίες λήξης όλων των domain μας. Και όλοι οι διακομιστές αλληλογραφίας μας που στέλνουν αλληλογραφία ελέγχονται επίσης έναντι 50+ διαφορετικών μαύρων λιστών. (Και μερικές φορές μπαίνουν σε αυτά). Παρεμπιπτόντως, γνωρίζατε ότι οι διακομιστές αλληλογραφίας της Google βρίσκονται επίσης στη μαύρη λίστα; Μόνο για αυτοέλεγχο προσθέσαμε το mail-wr1-f54.google.com στους διακομιστές που παρακολουθούνται και είναι στη μαύρη λίστα SORBS! (Αυτό αφορά την αξία των "anti-spammers")

Αντίγραφα ασφαλείας - έγραψα ήδη παραπάνω πόσο εύκολο είναι να τα παρακολουθείς με το okerr. Αλλά παρακολουθούμε επίσης νέα αντίγραφα ασφαλείας στον διακομιστή μας και (χρησιμοποιώντας ένα ξεχωριστό βοηθητικό πρόγραμμα που χρησιμοποιεί το okerr) — τα αντίγραφα ασφαλείας που ανεβάζουμε στο Amazon Glacier. Και, ναι, τα προβλήματα συμβαίνουν κατά καιρούς. Δεν ήταν μάταια που ακολουθήσαμε.

Χρησιμοποιούμε δείκτη κλιμάκωσης. Δείχνει εάν κάποιο πρόβλημα δεν έχει επιλυθεί για μεγάλο χρονικό διάστημα. Και εγώ ο ίδιος, όταν λύνω κάποια προβλήματα, μερικές φορές μπορώ να τα ξεχάσω. Η κλιμάκωση είναι μια καλή υπενθύμιση, ακόμα κι αν παρακολουθείτε τον εαυτό σας.

Γενικά, πιστεύω ότι η ποιότητα της δουλειάς μας έχει βελτιωθεί κατά μια τάξη μεγέθους. Δεν υπάρχει σχεδόν καθόλου χρόνος διακοπής λειτουργίας (ή ο πελάτης δεν έχει χρόνο να το παρατηρήσει. Απλώς σσσς!), ενώ ο όγκος της εργασίας έχει μειωθεί και οι συνθήκες εργασίας είναι πιο ήρεμες. Έχουμε περάσει από τη βιαστική δουλειά του μπαλώματος των τρυπών με ταινία σε μια ήρεμη και μετρημένη εργασία, όταν πολλά προβλήματα προβλέπονται εκ των προτέρων και υπάρχει χρόνος να τα αποτρέψουμε. Ακόμη και προβλήματα που έχουν ήδη συμβεί είναι πλέον πιο εύκολο να επιδιορθωθούν: πρώτον, τα μαθαίνουμε πριν πανικοβληθούν οι πελάτες και δεύτερον, συμβαίνει συχνά το πρόβλημα να σχετίζεται με πρόσφατη εργασία (ενώ έκανα ένα πράγμα, έσπασα ένα άλλο) - επομένως είναι πιο εύκολο να το αντιμετωπίσουμε όσο είναι ακόμα φρέσκο.

Και εδώ ήταν μια άλλη περίπτωση...

Το ξέρατε ότι στο δημοφιλές Debian 9 (Stretch) ένα τόσο δημοφιλές πακέτο όπως το phpmyadmin εξακολουθεί να είναι (για πολλούς μήνες!) σε ευάλωτη κατάσταση; (CVE-2019-6798). Όταν απελευθερώθηκε η ευπάθεια, το καλύψαμε γρήγορα με διάφορους τρόπους. Αλλά ρύθμισα το okerr για να παρακολουθεί τη σελίδα παρακολούθησης ασφαλείας για να γνωρίζω πότε βγαίνει μια "ωραία" λύση (μέσω του αθροίσματος περιεχομένου SHA1). Ο δείκτης με τράνταξε αρκετές φορές, η σελίδα άλλαξε, αλλά όπως μπορείτε να δείτε - μέχρι τώρα (από τον Ιανουάριο του 2019!) δεν έχει υποδειχθεί ότι το πρόβλημα έχει λυθεί. Παρεμπιπτόντως, ίσως κάποιος ξέρει ποιο είναι το πρόβλημα που ένα τόσο σημαντικό πακέτο εξακολουθεί να είναι ευάλωτο για περισσότερο από ένα χρόνο;

Μια άλλη φορά σε παρόμοια κατάσταση: μετά από μια ευπάθεια στο SSH, ήταν απαραίτητο να ενημερώσετε όλους τους διακομιστές. Και όταν ορίζετε μια εργασία, πρέπει να παρακολουθείτε την εκτέλεσή της. (Οι υφιστάμενοι τείνουν να παρεξηγούν, να ξεχνούν, να μπερδεύονται και να κάνουν λάθη.) Επομένως, πρώτα προσθέσαμε στον okerr έναν έλεγχο για την έκδοση SSH σε όλους τους διακομιστές και μέσω του okerr παρακολουθήσαμε ότι οι ενημερώσεις έγιναν σε όλους τους διακομιστές. (Βολικό! Διάλεξα αυτόν τον τύπο δείκτη και είναι αμέσως σαφές ποιος διακομιστής έχει ποια έκδοση). Μόλις βεβαιωθήκαμε ότι η εργασία ολοκληρώθηκε σε όλους τους διακομιστές, αφαιρέσαμε τους δείκτες.

Μερικές φορές υπήρξε μια κατάσταση όπου προέκυψε κάποιο πρόβλημα και μετά εξαφανίστηκε από μόνο του. (μάλλον γνωστό σε όλους;). Μέχρι να το παρατηρήσετε, μέχρι να το ελέγξετε - και δεν υπάρχει τίποτα άλλο για έλεγχο - όλα λειτουργούν ήδη καλά. Αλλά μετά θα ξανασπάσει. Το είχαμε, για παράδειγμα, με προϊόντα που ανεβάσαμε στο Amazon Marketplace (MWS). Σε κάποιο σημείο, το φορτωμένο απόθεμα ήταν λάθος (λάθος ποσότητες εμπορευμάτων και λάθος τιμές). Το καταλάβαμε. Αλλά για να το καταλάβετε, ήταν σημαντικό να μάθετε για το πρόβλημα αμέσως. Δυστυχώς, το MWS, όπως όλες οι υπηρεσίες της Amazon, είναι λίγο αργό, οπότε υπήρχε πάντα μια καθυστέρηση, αλλά καταφέραμε τουλάχιστον κατά προσέγγιση να συλλάβουμε τη σύνδεση μεταξύ του προβλήματος και των σεναρίων που το προκαλούν (κάναμε έναν έλεγχο, το επισυνάψαμε στο okerr και ελέγξαμε αμέσως μόλις λάβαμε μια ειδοποίηση).

Μια ενδιαφέρουσα περίπτωση προστέθηκε πρόσφατα στον κουμπαρά από έναν μεγάλο και ακριβό ευρωπαϊκό πάροχο φιλοξενίας που χρησιμοποιεί ο πελάτης μας. Ξαφνικά, ΟΛΟΙ οι διακομιστές μας εξαφανίστηκαν από το ραντάρ! Στην αρχή, ο ίδιος ο πελάτης «χειροκίνητα» (πιο γρήγορα από μια okerra!) παρατήρησε ότι ο ιστότοπος με τον οποίο δούλευε δεν άνοιγε και δημιούργησε ένα εισιτήριο για αυτό. Αλλά δεν ήταν μόνο ένας ιστότοπος που χάθηκε, αλλά όλοι! (Νατάσα, τα αφήσαμε όλα!). Εδώ ο Okerr άρχισε να στέλνει μακριά φύλλα με όλες τις ενδείξεις που άναβαν. Πανικός, πανικός, τρέξιμο σε κύκλους (τι άλλο να κάνω;). Τότε όλα ξεσηκώθηκαν. Αποδεικνύεται ότι το κέντρο δεδομένων υποβαλλόταν σε συντήρηση (μία φορά κάθε πολλά χρόνια) και, φυσικά, θα έπρεπε να είχαμε προειδοποιηθεί. Αλλά είχαν κάποιο πρόβλημα και δεν τους προειδοποίησαν. Λοιπόν, περισσότερα εμφράγματα, λιγότερα εμφράγματα. Αλλά μετά την επαναφορά των πάντων, πρέπει να ελέγξετε ξανά τα πάντα! Δεν μπορώ να φανταστώ να το κάνω με το χέρι. Ο Okerr δοκίμασε τα πάντα μέσα σε λίγα λεπτά. Αποδείχθηκε ότι οι περισσότεροι από τους διακομιστές ήταν απλώς προσωρινά μη διαθέσιμοι, αλλά εξακολουθούσαν να λειτουργούν. Κάποιοι ήταν υπερφορτωμένοι, αλλά και σηκώθηκαν όπως έπρεπε. Από όλες τις απώλειες, χάσαμε δύο αντίγραφα ασφαλείας που έπρεπε να δημιουργηθούν και να φορτωθούν σύμφωνα με τον Cron ενώ συνεχιζόταν αυτό το πλήρες χάος. Δεν τα δημιούργησα καν, μόλις μια μέρα αργότερα έλαβα ειδοποιήσεις ότι όλα ήταν εντάξει, είχαν εμφανιστεί αντίγραφα ασφαλείας. Μου αρέσει πολύ αυτό το παράδειγμα γιατί το okerr αποδείχθηκε πολύ χρήσιμο σε μια κατάσταση που δεν είχαμε καν σκεφτεί εκ των προτέρων, αλλά αυτή είναι η δουλειά της παρακολούθησης - να αντιμετωπίσουμε το απρόβλεπτο.

Για τους αισθητήρες Okerr χρησιμοποιούμε τη φθηνότερη δυνατή φιλοξενία (η ποιότητα και η αξιοπιστία δεν είναι σημαντικές εκεί, ασφαλίζουν ο ένας τον άλλον). Έτσι, πρόσφατα βρήκαμε μια πολύ δυναμική φιλοξενία και εξαιρετικά φθηνή, τα σημεία αναφοράς είναι φοβερά. Αλλά... μερικές φορές αποδεικνύεται ότι οι εξερχόμενες συνδέσεις από την εικονική μηχανή γίνονται από άλλη (γειτονική) IP. Θαύματα. Ενότητα client_ip με https://diagnostic.opendns.com/myip παίρνει λάθος IP. Και σύμφωνα με τα αρχεία καταγραφής διακομιστή του δείκτη, είναι σαφές ότι η ενημέρωση προήλθε επίσης από αυτήν τη γειτονική IP. Επί του παρόντος τακτοποιούμε τα πράγματα με υποστήριξη. Είναι καλό που αυτό παρατηρήθηκε σε καιρό ειρήνης. Αλλά, για παράδειγμα, συμβαίνει συχνά η πρόσβαση να καταχωρείται σύμφωνα με μια λευκή λίστα IP - και αν ο διακομιστής μερικές φορές αναβοσβήνει έτσι για μικρό χρονικό διάστημα - μπορείτε να προσπαθήσετε να αντιμετωπίσετε αυτό το πρόβλημα για πολύ μεγάλο χρονικό διάστημα.

Λοιπόν, και κάτι ακόμα - μιας και μιλάμε για VPS hosting - χρησιμοποιούμε πάντα φθηνά (hetzner, ovh, scaleway). Μου αρέσει πολύ και από πλευράς σημείων αναφοράς και σταθερότητας. Χρησιμοποιούμε επίσης το πολύ πιο ακριβό Amazon EC2 για άλλα έργα. Έτσι, χάρη στο okerr, έχουμε τη δική μας τεκμηριωμένη γνώμη. Πέφτουν και οι δύο. Και δεν θα έλεγα ότι κατά τη διάρκεια της μακράς περιόδου των παρατηρήσεών μας, τα φθηνά hosting όπως το hetzner αποδείχθηκαν αισθητά λιγότερο σταθερά από το EC2. Επομένως, εάν δεν είστε συνδεδεμένοι με άλλες λειτουργίες του Amazon, γιατί να πληρώσετε περισσότερα; 🙂

Ποιο είναι το επόμενο;

Αν δεν σας έχω τρομάξει ακόμα από το Okerr, δοκιμάστε το! Μπορείτε να μεταβείτε απευθείας σε αυτόν τον σύνδεσμο δοκιμαστικός λογαριασμός okerr (Κάντε κλικ τώρα!). Αλλά να έχετε κατά νου ότι υπάρχει μόνο ένας λογαριασμός επίδειξης για όλους, οπότε αν κάνετε κάτι, κάποιος άλλος στον ίδιο λογαριασμό μπορεί να σας παρέμβει ταυτόχρονα. Ή (καλύτερα) εγγραφείτε μέσω του συνδέσμου στο επίσημος ιστότοπος okerr — είναι απλό, δεν απαιτείται SMS. Εάν δεν σας αρέσει να χρησιμοποιείτε το πραγματικό σας email, μπορείτε να χρησιμοποιήσετε ένα μιας χρήσης, όπως το mailinator (προτείνω getnada.com). Τέτοιοι λογαριασμοί μπορεί να διαγραφούν με την πάροδο του χρόνου, αλλά θα ισχύουν για δοκιμή.

Μετά την εγγραφή, θα σας ζητηθεί να ολοκληρώσετε μια προπόνηση (ολοκληρώστε αρκετές όχι πολύ δύσκολες προπονητικές εργασίες). Τα αρχικά όρια είναι πολύ μικρά, αλλά για εκπαίδευση ή έναν διακομιστή είναι αρκετά. Μετά την ολοκλήρωση της εκπαίδευσης, τα όρια (για παράδειγμα, ο μέγιστος αριθμός δεικτών) θα αυξηθούν.

Από την τεκμηρίωση - πρώτα απ 'όλα WIKI στο τμήμα διακομιστή και στον πελάτη (okerrupdate wiki). Αλλά αν κάτι δεν είναι ξεκάθαρο, γράψτε στην υποστήριξη (στο) okerr.com ή αφήστε ένα εισιτήριο - θα προσπαθήσουμε να λύσουμε τα πάντα γρήγορα.

Εάν το χρησιμοποιείτε σοβαρά και αυτά τα αυξημένα όρια δεν είναι αρκετά, γράψτε στην υποστήριξη, θα τα αυξήσουμε (δωρεάν).

Θέλετε να εγκαταστήσετε τον διακομιστή okerr στον διακομιστή σας; Εδώ αποθετήριο okerr-dev. Συνιστούμε την εγκατάσταση σε μια καθαρή εικονική μηχανή, τότε θα είναι εύκολο να γίνει με ένα σενάριο εγκατάστασης. Στην εικονική σας μηχανή δεν υπάρχουν περιορισμοί :-). Λοιπόν, και πάλι, αν συμβεί κάτι, θα προσπαθούμε πάντα να βοηθήσουμε.

Θέλουμε αυτό το έργο να απογειωθεί ώστε ο κόσμος να γίνει πιο ασφαλής χάρη σε εμάς. Χάρη στο ελεύθερο λογισμικό και τις υπηρεσίες, ο κόσμος έχει γίνει πιο φιλικός και αναπτύσσεται πιο δυναμικά. Οι πηγές μπορούν να αποθηκευτούν σε δωρεάν github, χρησιμοποιήστε δωρεάν gmail για email. Χρησιμοποιούμε δωρεάν φρέσκα προϊόντα για υποστήριξη. Δεν χρειάζεται να πληρώσετε για διακομιστές για τίποτα από αυτά, δεν χρειάζεται να τους κατεβάσετε και να τους διαμορφώσετε και δεν χρειάζεται να επιλύσετε διάφορα λειτουργικά προβλήματα. Κάθε νέο έργο, κάθε ομάδα έχει αμέσως αλληλογραφία, αποθετήρια και CRM. Και όλα αυτά είναι πολύ ποιοτικά και δωρεάν και άμεσα. Θέλουμε το ίδιο για την παρακολούθηση - οι μικρές εταιρείες και τα έργα θα μπορούσαν να χρησιμοποιήσουν το okerr δωρεάν και ακόμη και στο στάδιο της γέννησης και της ανάπτυξης έχουν την αξιοπιστία των σοβαρών έργων για ενήλικες.

Πηγή: www.habr.com

Αγοράστε αξιόπιστη φιλοξενία για ιστότοπους με προστασία DDoS, διακομιστές VPS VDS 🔥 Αγοράστε αξιόπιστη φιλοξενία ιστοσελίδων με προστασία DDoS, διακομιστές VPS VDS | ProHoster