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

Τι κάνει στην πραγματικότητα ο δαίμονας με την οδηγία

Οι οδηγίες δεν είναι αφαιρέσεις· καθεμία αποφασίζει πού γράφει η διεργασία τα μηνύματά της. log /path ανοίγει αυτό το αρχείο, log-append /path το ανοίγει για προσθήκη και syslog παραδίδει τα μηνύματα στον τοπικό καταγραφέα συστήματος μέσω της υποδοχής του. Χωρίς καμία από αυτές, η έξοδος πηγαίνει στην τυπική έξοδο και ο διαχειριστής υπηρεσιών αποφασίζει τι γίνεται μετά. Διαβάστε τη μονάδα που ισχύει και το προφίλ μαζί πριν συμπεράνετε ότι ο δαίμονας αγνοεί τη ρύθμισή σας.

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

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

log κόβει, log-append όχι

Το log κόβει ένα υπάρχον αρχείο όταν η οδηγία τίθεται σε ισχύ, οπότε μια επανεκκίνηση σβήνει τα στοιχεία από πριν. Το log-append κρατά ό,τι υπάρχει και προσθέτει. Καμία από τις δύο επιλογές δεν περιστρέφει τίποτα και καμία δεν ανοίγει ξανά το αρχείο μόνη της αργότερα, γι’ αυτό η περιστροφή χρειάζεται συνεργασία.

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

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

Ο διαχειριστής υπηρεσιών κρατά δεύτερο αντίγραφο

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

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

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

Η αναλυτικότητα δεν είναι το ίδιο με χρήσιμη λεπτομέρεια

Ένα υψηλότερο επίπεδο verb προσθέτει περισσότερες γραμμές και, μετά από ένα σημείο, γραμμές που κανείς δεν διαβάζει. Το επίπεδο 3 είναι μια λογική σταθερή κατάσταση για τις περισσότερες αναπτύξεις, ενώ το επίπεδο 4 και πάνω ταιριάζει σε περιορισμένη έρευνα με γνωστό ερώτημα. Η καταστολή επαναλήψεων μειώνει τον θόρυβο, αλλά δεν πρέπει να κρύβει πόσο συχνά επαναλαμβάνεται ένα συμβάν. Ορίστε το επίπεδο που μπορείτε να συντηρήσετε και ανεβάστε το μόνο για μια ονομασμένη έρευνα με τέλος.

Κρατήστε την ταυτότητα του στιγμιοτύπου και τις χρονικές σημάνσεις στην εγγραφή. Μια επανασύνδεση μοιάζει ακριβώς με πρώτη σύνδεση όταν το αρχείο συμπληρώνεται επί μήνες και λείπει το όνομα του στιγμιοτύπου.

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

Περιστροφή, διατήρηση και τα σήματα που επαναφορτώνουν

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

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

Σχετικά άρθρα