Ποιος κατέχει τα αρχεία καταγραφής του OpenVPN: ο δαίμονας, το rsyslog ή το logrotate;
Ένας συγγραφέας, ένας περιστροφέας, μία πολιτική διατήρησης. Επιλέξτε πρώτα τη διαδρομή, ονομάστε τον δαίμονα για στενό φίλτρο και αποδείξτε το ξανάνοιγμα με ένα μόνο περιστραμμένο αρχείο.
Η περιστροφή αρχείων καταγραφής σπάει με προβλέψιμο τρόπο: τρία στοιχεία το καθένα πιστεύει ότι κατέχει το αρχείο, και το αποτέλεσμα είναι ένα περιστραμμένο αρχείο που συνεχίζει να μεγαλώνει ενώ το νέο μένει κενό. Ο δαίμονας κρατά έναν περιγραφέα, το logrotate μετονομάζει τη διαδρομή και το rsyslog γράφει εντελώς αλλού. Επιλέξτε έναν συγγραφέα και έναν περιστροφέα πριν προσθέσετε άλλον κανόνα στο σωρό. Η λίστα ελέγχου παρακάτω κινείται με αυτή τη σειρά, επειδή κάθε επόμενο βήμα εξαρτάται από αυτήν.
Αποφασίστε ποιος γράφει το αρχείο
Δύο σχέδια είναι θεμιτά. Στο πρώτο, η διεργασία VPN γράφει η ίδια ένα αρχείο μέσω της δικής της επιλογής log ή log-append. Στο δεύτερο, στέλνει εγγραφές στον καταγραφέα συστήματος και το rsyslog ή το journald αποφασίζει πού θα καταλήξουν.
Είναι εναλλακτικές, όχι επίπεδα. Ένας υπολογιστής που ενεργοποιεί και τα δύο καταλήγει με δύο αρχεία που διαφωνούν, και αυτό που διαβάζετε είναι συχνά το παλιό. Επιλέξτε τη διαδρομή σκόπιμα και μετά αφαιρέστε τον άλλον συγγραφέα.
Διαβάστε την ενεργή διαμόρφωση της υπηρεσίας πριν αλλάξετε οτιδήποτε, μαζί με τα αρχεία drop-in που μπορεί να υπερισχύουν του αρχείου μονάδας. Μια οδηγία που υπάρχει στο προφίλ που επεξεργαστήκατε δεν αποδεικνύει ότι είναι αυτή που φόρτωσε η εκτελούμενη διεργασία. Συγκρίνετε τη μονάδα με τα ορίσματα της διεργασίας και μετά με τα αρχεία που πραγματικά άνοιξε.
Ονομάστε τον δαίμονα για να είναι στενό το φίλτρο
Στη διαδρομή του syslog, δώστε στον δαίμονα ξεχωριστή ταυτότητα και φιλτράρετε με βάση αυτήν. Ένας κανόνας που ταιριάζει με το όνομα προγράμματος αυτής της παρουσίας VPN κρατά τις εγγραφές της έξω από ένα κοινό αρχείο του οποίου η πολιτική διατήρησης ανήκει σε κάτι άλλο.
Οι στενοί κανόνες κάνουν απαντήσιμη και την επόμενη ερώτηση: ποια υπηρεσία παρήγαγε αυτή τη γραμμή; Ένα φίλτρο που ταιριάζει με ό,τι περιέχει τη λέξη VPN θα μαζέψει πρόθυμα την κίνηση ενός δεύτερου τούνελ και θα θολώσει και τα δύο. Ταιριάξτε με το ακριβές αναγνωριστικό που περνά η μονάδα στον καταγραφέα.
Κλείστε τον κανόνα μετά την ενέργεια, ώστε οι εγγραφές να μην πέφτουν και στον προεπιλεγμένο προορισμό. Οι διπλές γραμμές σε δύο αρχεία μοιάζουν με σφάλμα καταγραφής και στην πραγματικότητα είναι ένα χαμένο σταμάτημα. Αυτή η μία παράλειψη διπλασιάζει και το κόστος δίσκου της πολιτικής διατήρησης.
Περιστρέψτε χωρίς να χάσετε τον περιγραφέα
Όταν ο δαίμονας γράφει το αρχείο, το logrotate μετονομάζει τη διαδρομή αλλά η διεργασία κρατά τον ανοιχτό περιγραφέα της. Νέες εγγραφές συνεχίζουν στο μετονομασμένο αρχείο έως ότου κάτι κάνει τη διεργασία να ξανανοίξει την αρχική διαδρομή· γι' αυτό μια περιστροφή μπορεί να φαίνεται ότι δουλεύει ενώ το νέο αρχείο μένει κενό.
Η λύση είναι μια ενέργεια postrotate που ενεργοποιεί την τεκμηριωμένη συμπεριφορά επαναφόρτωσης ή επανεκκίνησης της υπηρεσίας. Η αποστολή σήματος στον καταγραφέα είναι εντελώς άλλη ενέργεια και δεν κάνει τίποτα για έναν δαίμονα που κρατά το δικό του αρχείο.
Όπου το ξανάνοιγμα είναι αδύνατο, το copytruncate είναι το εφεδρικό: αντιγράψτε το αρχείο και μετά κόψτε το στη θέση του. Κρατά τον περιγραφέα έγκυρο με κόστος την απώλεια όσων γράφτηκαν ανάμεσα στην αντιγραφή και το κόψιμο, άρα είναι ανταλλαγή και όχι λύση. Υπό φορτίο αυτό το κενό μπορεί να καταπιεί ακριβώς τη βλάβη που προσπαθείτε να συλλάβετε.
Επιλέξτε ένα από τα δύο ανά αρχείο και γράψτε την επιλογή, επειδή η ανάμιξή τους στην ίδια διαδρομή παράγει κενά που είναι πολύ δύσκολο να αποδοθούν αργότερα. Ένας αναγνώστης που βρίσκει και τα δύο μοτίβα σε έναν κατάλογο δεν μπορεί να πει ποιο είναι το έγκυρο.
Ορίστε τη διατήρηση από το παράθυρο του περιστατικού
Η διατήρηση, η συμπίεση και το μέγιστο μέγεθος πρέπει να προκύπτουν από το πόσο βαθιά ερευνάτε πραγματικά. Ένα παράθυρο επτά ημερών με συμπίεση και ανώτατο όριο μεγέθους είναι λογικό σημείο εκκίνησης για πολλές εγκαταστάσεις· ένα νούμερο αντιγραμμένο από οδηγό δεν είναι.
Κρατήστε την πολιτική σε ένα σημείο. Αν το logrotate περιστρέφει το αρχείο και το rsyslog το περιστρέφει επίσης, κερδίζει η δεύτερη περιστροφή και το σχήμα ονομασίας της πρώτης επιβιώνει ως ακαταστασία. Επιλέξτε τον ιδιοκτήτη, απενεργοποιήστε την άλλη περιστροφή και σημειώστε την απόφαση δίπλα στην πολιτική.
Η τεκμηρίωση του rsyslog καλύπτει το μοντέλο δρομολόγησης και ενεργειών του, ενώ η τεκμηρίωση της υπηρεσίας OpenVPN παραμένει η αυθεντία για τις δικές του επιλογές καταγραφής. Καμία από τις δύο δεν αποφασίζει την πολιτική διατήρησής σας για εσάς.
Δοκιμάστε μία περιστροφή και ένα νέο γεγονός
Επιβάλετε μία μόνο περιστροφή και μετά δημιουργήστε ένα νέο γεγονός, όπως μια αποτυχημένη ταυτοποίηση. Επιβεβαιώστε ότι η νέα εγγραφή εμφανίζεται στο νέο αρχείο και ότι το παλιό αρχείο σταμάτησε να μεγαλώνει.
Ελέγξτε και τα δικαιώματα στο νέο αρχείο, επειδή μια περιστροφή που το ξαναδημιουργεί με άλλον ιδιοκτήτη σπάει τον συγγραφέα στην επόμενη εγγραφή και παράγει ένα κενό που μοιάζει με κατάρρευση. Συγκρίνετε ιδιοκτήτη και δικαιώματα με τον λογαριασμό της υπηρεσίας πριν φύγετε. Μετά επιβεβαιώστε ότι το συμπιεσμένο αρχείο είναι αναγνώσιμο, αφού ένα αρχείο που κανείς δεν μπορεί να ανοίξει δεν είναι διατήρηση. Μια γρήγορη ανάγνωση της νεότερης εγγραφής στο παλιό αρχείο αποδεικνύει και τη συμπίεση και τα δικαιώματα.
Τελειώστε καταγράφοντας τον ιδιοκτήτη κάθε βήματος: ποιο στοιχείο γράφει, ποιο περιστρέφει και πού ζει η πολιτική διατήρησης. Αυτή η εγγραφή μετατρέπει το επόμενο περιστατικό καταγραφής σε έλεγχο πέντε λεπτών αντί για ένα απόγευμα εικασιών για το ποιο επίπεδο έχασε τη γραμμή.