Γνωσιακή Απλές οδηγίες για να εργαστείτε με την υπηρεσία Profitserver
Κυρίως Γνωσιακή Πώς να διαβάσετε τα αρχεία καταγραφής Linux και πού να το βρείτε

Πώς να διαβάσετε τα αρχεία καταγραφής Linux και πού να το βρείτε


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

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

  1. emerg - αποτυχία, ύψιστη προτεραιότητα.
  2. alert - επείγουσα προειδοποίηση,
  3. crit - κρίσιμο γεγονός
  4. err - συνηθισμένο σφάλμα.
  5. warn - συνηθισμένη προειδοποίηση.
  6. notice - ειδοποίηση·
  7. info - ενημερωτικό μήνυμα·
  8. debug - πληροφορίες εντοπισμού σφαλμάτων.

Αυτή τη στιγμή, οι κύριες υπηρεσίες συλλογής αρχείων καταγραφής στο Linux είναι οι rsyslog και systemd-journald . Συνοδεύουν τα περισσότερα σύγχρονα πακέτα διανομής και λειτουργούν ανεξάρτητα.

rsyslog

Τα αρχεία καταγραφής αυτής της υπηρεσίας βρίσκονται στον φάκελο " /var/log/ " με τη μορφή απλών αρχείων κειμένου. Τα μηνύματα καταγραφής τοποθετούνται σε διαφορετικά αρχεία ανάλογα με τον τύπο του συμβάντος. Για παράδειγμα, το " /var/log/auth.log " περιέχει πληροφορίες σχετικά με την εξουσιοδότηση των χρηστών στο σύστημα και το " /var/log/kern.log " περιέχει μηνύματα πυρήνα. Τα ονόματα των αρχείων μπορεί να διαφέρουν μεταξύ των πακέτων διανομής, οπότε ας ρίξουμε μια ματιά στο αρχείο ρυθμίσεων για να καταλάβουμε πού βρίσκεται το " /etc/rsyslog.d/50-default.conf ".

Сбор логав Linux ултилитой rsyslog

Αυτοί οι κανόνες εμφανίζουν ποιο αρχείο περιέχει κάθε τύπο μηνυμάτων καταγραφής. Το αριστερό μέρος εμφανίζει τον τύπο του μηνύματος με την ακόλουθη μορφή " [Πηγή].[Προτεραιότητα] " και το δεξί μέρος εμφανίζει το όνομα του αρχείου καταγραφής. Κατά την εγγραφή του τύπου μηνύματος, μπορεί να προστεθεί ο χαρακτήρας " * ". Σημαίνει κενή τιμή ή " καμία " που το αφαιρεί από τη λίστα. Ας ρίξουμε μια πιο προσεκτική ματιά στους δύο πρώτους κανόνες.

“auth,authpriv.* /var/log/auth.log”
“*.*;auth,authpriv.none -/var/log/syslog”

Ο πρώτος κανόνας σημαίνει ότι όλα τα μηνύματα που λαμβάνονται από τον μηχανισμό εξουσιοδότησης θα καταγράφονται στο αρχείο " /var/log/auth.log ". Όλες οι προσπάθειες εξουσιοδότησης (επιτυχείς και μη) θα καταγράφονται σε αυτό το αρχείο. Ο δεύτερος κανόνας υποδεικνύει ότι όλα τα μηνύματα εκτός από αυτά που σχετίζονται με την εξουσιοδότηση θα καταγράφονται στο αρχείο " /var/log/syslog ". Αυτά τα δύο αρχεία είναι συνήθως τα πιο δημοφιλή. Οι ακόλουθοι κανόνες ορίζουν τη διαδρομή αποθήκευσης των αρχείων καταγραφής πυρήνα " kern.* " και των αρχείων καταγραφής υπηρεσίας αλληλογραφίας " mail.* ".

Τα αρχεία καταγραφής μπορούν να ανοιχτούν με τη βοήθεια οποιουδήποτε επεξεργαστή κειμένου, όπως less , cat , tail . Ας ανοίξουμε το αρχείο " /var/log/auth.log ".

less /var/log/auth.log
Εγγραφή στο log-faйle Linuks о неудачной попытке συγγραφέας SSH

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

  1. Χρονική σήμανση μηνύματος - "12 Φεβρουαρίου 06:18:33"
  2. Όνομα του υπολογιστή που έστειλε το μήνυμα - "vds"
  3. Όνομα της εφαρμογής ή της υπηρεσίας που έστειλε το μήνυμα - "sshd"
  4. Αναγνωριστικό διαδικασίας - [653]
  5. Κείμενο μηνύματος - "Αποδεκτός κωδικός πρόσβασης για το mihail από τη θύρα 188.19.42.165 2849 ssh2"

Αυτό ήταν ένα παράδειγμα επιτυχημένης σύνδεσης με SSH.

Και να πώς φαίνεται μια ανεπιτυχής προσπάθεια σύνδεσης:

Читаем логи Linux

Αυτό το αρχείο καταγράφει επίσης εντολές με προηγμένα δικαιώματα

Как правильно прочитать лог Linux

Ας ανοίξουμε το αρχείο /var/log/syslog

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

Utilita logorotate

Για την αναζήτηση πληροφοριών σε αρχεία μεγάλου κειμένου, χρησιμοποιήστε το βοηθητικό πρόγραμμα grep . Μπορείτε να βρείτε όλα τα μηνύματα που λαμβάνετε από την υπηρεσία pptpd στο αρχείο " /var/log/syslog ".

grep 'pptpd' /var/log/syslog
αρχείο "/etc/logrotate.d/rsyslog"

Κατά τη διάρκεια των διαγνωστικών ελέγχων, μπορείτε να χρησιμοποιήσετε το βοηθητικό πρόγραμμα tail που μπορεί να εμφανίσει αρκετές τελευταίες γραμμές αρχείων. Η εντολή " tail -f /var/log/syslog " θα σας επιτρέψει να παρακολουθήσετε την καταγραφή των αρχείων καταγραφής σε πραγματικό χρόνο.

Η υπηρεσία rsyslog είναι πολύ ευέλικτη και ισχυρή. Μπορεί να χρησιμοποιηθεί για τη συλλογή αρχείων καταγραφής σε τοπικά συστήματα καθώς και σε επίπεδο επιχείρησης. Μπορείτε να βρείτε πλήρη τεκμηρίωση στον επίσημο ιστότοπο https://www.rsyslog.com/

Περιστροφή αρχείων καταγραφής στο Linux

Η καταγραφή των αρχείων καταγραφής γίνεται συνεχώς, επομένως το μέγεθος των αρχείων αυξάνεται συνεχώς. Ο μηχανισμός εναλλαγής διασφαλίζει την αυτόματη αρχειοθέτηση των παλιών αρχείων καταγραφής και τη δημιουργία νέων αρχείων. Ανάλογα με τους κανόνες, αυτό μπορεί να γίνεται καθημερινά, εβδομαδιαία, μηνιαία ή με όριο μεγέθους. Καθώς δημιουργούνται νέα αρχεία καταγραφής, τα παλιά μπορούν απλώς να διαγραφούν ή να αποσταλούν μέσω email. Η εναλλαγή των αρχείων καταγραφής πραγματοποιείται από το βοηθητικό πρόγραμμα logrotate . Μπορείτε να βρείτε την κύρια διαμόρφωση στο αρχείο " /etc/logrotate.conf ". Το περιεχόμενο των αρχείων υποβάλλεται επίσης σε επεξεργασία στον φάκελο " /etc/logrotate.d/ ".

Οι νέοι κανόνες μπορούν να καταγραφούν στο κύριο αρχείο ρυθμίσεων. Ωστόσο, είναι καλύτερο να δημιουργήσετε ένα ξεχωριστό αρχείο στο " /etc/logrotate.d/ ". Από προεπιλογή, υπάρχουν μερικά αρχεία σε αυτόν τον κατάλογο.

Настраиваем ротацию логов во Линукс

Ας ρίξουμε μια ματιά στο αρχείο " /etc/logrotate.d/rsyslog " που περιέχει κανόνες εναλλαγής για τα αρχεία καταγραφής της υπηρεσίας rsyslog.

Παράδειγμα вывода всех ошибок pptpd в лог-файлах

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

  • περιστροφή 7 - αριθμός αρχείων προς διατήρηση - 7
  • καθημερινά - Δημιουργήστε ένα νέο αρχείο κάθε μέρα
  • κομπρέσα - συμπίεση και αρχειοθέτηση παλαιών αρχείων
Учимся читать логи Линукс

Μπορείτε να δείτε στο στιγμιότυπο οθόνης ότι στον φάκελο " /var/log/ " υπάρχει το κύριο αρχείο καταγραφής " syslog " και 7 αρχεία, τα οποία αντιστοιχούν στους κανόνες στο αρχείο ρυθμίσεων.

Μπορείτε να βρείτε μια πιο λεπτομερή περιγραφή της logrotate στο εγχειρίδιο, εκτελώντας την εντολή " man logrotate ".

Συλλογή αρχείων καταγραφής Linux - journald

Η υπηρεσία συλλογής αρχείων καταγραφής systemd-journald είναι μέρος του συστήματος αρχικοποίησης systemd . Τα αρχεία καταγραφής Linux αποθηκεύονται στο " /var/log/journal/ " σε ειδική μορφή και μπορούν να ανοιχτούν με τη βοήθεια του βοηθητικού προγράμματος journalctl . Η μορφή των εγγραφών είναι ακριβώς η ίδια με αυτή του rsyslog.

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

  • journalctl -b - εμφάνιση όλων των εγγραφών από την τελευταία έναρξη
  • journalctl -S "2020-02-17 12:00" -U "2020-02-17 12:10" - εμφάνιση εγγραφής μέσα σε μια συγκεκριμένη χρονική περίοδο
  • journalctl -u pptpd - εμφάνιση αρχείων μιας συγκεκριμένης υπηρεσίας
  • journalctl -k - εμφάνιση μηνυμάτων πυρήνα
  • journalctl -p err - εμφάνιση μηνυμάτων συγκεκριμένης προτεραιότητας, μηνύματα υψηλότερης προτεραιότητας σε αυτήν την περίπτωση (crit, alert, emerg)
  • journalctl -f - Εμφάνιση μηνυμάτων σε πραγματικό χρόνο

Για μεγαλύτερη ευελιξία, μπορείτε να συνδυάσετε αυτές τις επιλογές. Ας δείξουμε όλα τα σφάλματα της υπηρεσίας pptpd.

journalctl -u pptpd -p err
τελευταια

Αν καθορίσετε τη διαδρομή προς το εκτελέσιμο αρχείο ως χαρακτηριστικό, το βοηθητικό πρόγραμμα θα εμφανίσει όλα τα μηνύματα που αποστέλλονται από αυτό το αρχείο. Ας εμφανίσουμε όλα τα μηνύματα που αποστέλλονται από το αρχείο " /usr/bin/sudo " από τις 04:15 στις 18 Φεβρουαρίου 2020. Στην πραγματικότητα, θα εμφανίσει όλες τις εντολές που εκτελούνται με υψηλότερα δικαιώματα.

journalctl -S "2020-02-18 04:15" /usr/bin/sudo
командой lastb

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

journalctl --disk-usage

Για να περιορίσετε το αρχείο καταγραφής σε 1 Gb εκτελέστε την ακόλουθη εντολή

journalctl --vacuum-size=1G

Άνοιγμα δυαδικών αρχείων

Ας ρίξουμε τώρα μια ματιά σε ορισμένα ειδικά αρχεία στον φάκελο " /var/log/ " όπου αποθηκεύονται όλες οι προσπάθειες σύνδεσης. Αυτά τα αρχεία είναι δυαδικά και μπορούν να ανοιχτούν μόνο με ειδικά προγράμματα.

Το /var/log/wtmp περιέχει πληροφορίες σχετικά με επιτυχημένες προσπάθειες σύνδεσης. Χρησιμοποιήστε το βοηθητικό πρόγραμμα last για να το ανοίξετε.

утилита lastlog

/var/log/btmp - περιέχει όλες τις αποτυχημένες προσπάθειες σύνδεσης. Μπορεί να ανοιχτεί με lastb με προηγμένα δικαιώματα. Το χαρακτηριστικό -n ορίζει τον αριθμό των γραμμών που εμφανίζονται από το τέλος του αρχείου.

/var/log/lastlog - περιέχει την ώρα της τελευταίας ενέργειας σύνδεσης για κάθε εγγραφή λογαριασμού. Μπορεί να ανοιχτεί με το lastlog.

❮ Προηγούμενο άρθρο Επεξεργαστές κειμένου Linux
Επόμενο άρθρο ❯ Πώς να ρυθμίσετε τις διασυνδέσεις δικτύου στο CentOS

Ρωτήστε μας για το VPS

Είμαστε πάντα έτοιμοι να απαντήσουμε στις ερωτήσεις σας οποιαδήποτε ώρα της ημέρας ή της νύχτας.