Επισκόπηση του υβριδικού συστήματος παρακολούθησης 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 το πρωί και να κοιτάμε τη σύνοψη μεταξύ άλλων επιστολών (το προγραμματίζουμε στην αρχή της εργασίας). Εάν όλα είναι εντάξει σε αυτό, κάνουμε άλλα σημαντικά πράγματα (αλλά για να είμαστε ασφαλείς, μπορούμε να κοιτάξουμε γρήγορα το ταμπλό του okerra και να βεβαιωθούμε ότι όλα είναι πράσινα αυτή τη στιγμή). Αν έρθει συναγερμός, αντιδρούμε.

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

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

Ασφάλεια

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

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

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

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

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

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

  • ping σε
  • κατάσταση http
  • έλεγχος εγκυρότητας και φρεσκάδας του πιστοποιητικού SSL (θα προειδοποιήσει εάν πρόκειται να λήξει)
  • ανοίξτε τη θύρα TCP και το banner σε αυτήν
  • http grep (η σελίδα [δεν πρέπει] να περιέχει συγκεκριμένο κείμενο)
  • sha1 hash για να συλλάβει τις αλλαγές σελίδας.
  • 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. Στη συνέχεια, εάν οι πωλήσεις σας πέσουν ξαφνικά, θα λάβετε μια ειδοποίηση και μπορείτε να το καταλάβετε.

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

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

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

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

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

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

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

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

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

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

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

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

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

Αυτή η γραμμή στο config κατάσταση λειτουργίας θα σας ειδοποιήσει εάν το /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 μια τρίτη και ούτω καθεξής για όλους, όλους, όλους). Ένα τηλεγράφημα είναι αρκετό. Μέσω τηλεγραφήματος μπορείτε να λαμβάνετε αμέσως ειδοποιήσεις, να ελέγξετε την κατάσταση του έργου και να δώσετε εντολή για επανέλεγχο όλων των προβληματικών ενδείξεων. Αφήσαμε το θέατρο/αεροπλάνο, δεν κρατήσαμε το δάχτυλό μας στον παλμό για δύο ώρες, ανοίξαμε το τηλέφωνο, πατήσαμε ένα κουμπί στο chatbot και βεβαιωθήκαμε ότι όλα ήταν καλά.

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

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

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

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

# 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 να είναι το καλύτερο σύστημα παρακολούθησης για μικρομεσαία έργα). Ή καλύτερα, προσθέστε το μόνοι σας - είναι εύκολο.

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

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

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

Πιστοποιητικά SSL. Σχεδόν αμέσως μετά την εκτόξευση Ας κρυπτογραφήσουμε ο πελάτης μας άρχισε να παρέχει δωρεάν πιστοποιητικά SSL στους πελάτες του (περίπου χίλιοι από αυτούς). Και αποδείχθηκε ότι ήταν απλώς κόλαση για τη διοίκηση! Το γεγονός είναι ότι οι ιστότοποι είναι "ζωντανοί", οι πελάτες περιοδικά τους ζητούν να κάνουν κάτι, οι προγραμματιστές το κάνουν. Μπορούν εντελώς ελεύθερα να μεταφέρουν τον ιστότοπο σε άλλο DocumentRoot, για παράδειγμα. Ή προσθέστε μια άνευ όρων Επανεγγραφή στη διαμόρφωση του virtualhost. Φυσικά μετά από αυτό χαλάει η αυτόματη ανανέωση των πιστοποιητικών. Τώρα έχουμε όλους τους κεντρικούς υπολογιστές 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, ήταν απαραίτητο να ενημερώσετε όλους τους διακομιστές. Και όταν ορίζετε μια εργασία, πρέπει να ελέγχετε την εκτέλεση. (Οι υφισταμένοι τείνουν να παρεξηγούν, να ξεχνούν, να μπερδεύονται και να κάνουν λάθη). Επομένως, πρώτα προσθέσαμε έναν έλεγχο έκδοσης SSH στον okerr σε όλους τους διακομιστές και μέσω του okerr βεβαιωθήκαμε ότι οι ενημερώσεις έγιναν σε όλους τους διακομιστές. (Βολικό! Διάλεξα αυτόν τον τύπο δείκτη και μπορείτε να δείτε αμέσως ποιος διακομιστής έχει ποια έκδοση). Όταν βεβαιωθήκαμε ότι η εργασία ολοκληρώθηκε σε όλους τους διακομιστές, αφαιρέσαμε τις ενδείξεις.

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

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

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

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

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

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

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

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

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

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

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

Πηγή: www.habr.com