Wissensbasis Einfache Anweisungen zur Arbeit mit dem Profitserver-Dienst
Main Wissensbasis Wie man Linux-Protokolle liest und wo man sie findet

Wie man Linux-Protokolle liest und wo man sie findet


Wenn Sie Probleme mit der Leistung Ihres Servers haben, sollten Sie als Erstes Folgendes tun: Überprüfen Sie Ihre Linux-ProtokolleIm Systemprotokoll finden Sie einige hilfreiche Diagnosemeldungen von verschiedenen Komponenten des Betriebssystems wie dem Kernel oder verschiedenen Diensten, sodass Sie dort höchstwahrscheinlich die Fehlerursache finden.

Jede Meldung im Protokoll wird als Ergebnis bestimmter Ereignisse im Betriebssystem generiert: vom Benutzer, der Autorisierung bis hin zum Herunterfahren eines Dienstes oder einem Anwendungsfehler. Diese Ereignisse haben je nach ihrer Kritikalität unterschiedliche Prioritäten. Unter Linux gibt es folgende Ereignistypen:

  1. emerg - Fehler, höchste Priorität;
  2. alert - dringende Warnung;
  3. crit - kritisches Ereignis;
  4. err - gewöhnlicher Fehler;
  5. warn - gewöhnliche Verwarnung;
  6. notice - Benachrichtigung;
  7. info - Informationsnachricht;
  8. debug - Debugging-Informationen;

Die wichtigsten Dienste zur Protokollerstellung in Linux sind derzeit rsyslog mit einem systemd-journal. Sie sind in den meisten modernen Distributionspaketen enthalten und arbeiten unabhängig.

rsyslog

Die Protokolle dieses Dienstes befinden sich in „/ var / log /”-Ordner in Form von normalen Textdateien. Protokollmeldungen werden je nach Ereignistyp in unterschiedlichen Dateien abgelegt. Zum Beispiel: „/var/log/auth.log” enthält Informationen zur Autorisierung der Benutzer im System und „/var/log/kern.log„“ enthält Kernel-Meldungen. Dateinamen können je nach Distributionspaket unterschiedlich sein. Werfen wir also einen Blick auf die Konfigurationsdatei, um zu verstehen, was wo ist./etc/rsyslog.d/50-default.conf".

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

Diese Regeln zeigen an, welche Datei welche Art von Protokollmeldungen enthält. Der linke Teil zeigt den Meldungstyp in der folgenden Form an:[Quelle].[Priorität]” und der rechte Teil zeigt den Namen der Protokolldatei an. Beim Schreiben der Art der Nachricht „*”-Zeichen hinzugefügt werden kann. Es bedeutet leeren Wert oder „keine”, wodurch es aus der Liste entfernt wird. Schauen wir uns die ersten beiden Regeln genauer an.

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

Die erste Regel bedeutet, dass alle vom Autorisierungsmechanismus empfangenen Nachrichten in „/var/log/auth.log”-Datei. Alle Autorisierungsversuche (sowohl erfolgreiche als auch erfolglose) werden in dieser Datei registriert. Die zweite Regel besagt, dass alle Nachrichten außer denen im Zusammenhang mit der Autorisierung in der Datei „/ var / log / syslog”-Datei. Diese beiden Dateien sind in der Regel die beliebtesten. Die folgenden Regeln definieren den Pfad zum Speichern der Kernel-Protokolle:kern.*„ und Mail-Dienst-Protokolle „mail.*"

Logdateien können mit jedem Texteditor geöffnet werden, wie zum Beispiel weniger, Katze, Schwanz. Öffnen wir das „/var/log/auth.log" Datei

less /var/log/auth.log
Verknüpfen Sie die Protokolldatei mit einem neuen SSH-Autorisierungsprogramm

Jede Zeile der Datei stellt eine separate Nachricht dar, die von der Anwendung oder dem Dienst empfangen wurde. Alle Nachrichten haben unabhängig von ihrer Quelle ein einheitliches Format und bestehen aus fünf Teilen. Nehmen wir als Beispiel die hervorgehobene Nachricht im Screenshot.

  1. Zeitstempel der Nachricht: „12. Feb. 06:18:33“
  2. Name des Computers, der die Nachricht gesendet hat – „vds“
  3. Name der Anwendung oder des Dienstes, der die Nachricht gesendet hat – „sshd“
  4. Prozess-ID - [653]
  5. Nachrichtentext – „Passwort für Mihail von 188.19.42.165 Port 2849 SSH2 akzeptiert“

Dies war ein Beispiel für eine erfolgreiche Verbindung zu SSH.

Und so sieht ein erfolgloser Anmeldeversuch aus:

Chitaem-Logien Linux

Diese Datei zeichnet auch Befehle mit erweiterten Berechtigungen auf

Wie kann ich das Linux-Protokoll einfach herunterladen?

Lassen Sie uns die öffnen / var / log / syslog Datei

Eine hervorgehobene Meldung auf dem Screenshot ist die Meldung zum Herunterfahren der Netzwerkschnittstelle.

Utilita Logorotate

Verwenden Sie zum Suchen nach Informationen in langen Textdateien grep Dienstprogramm. Sie finden alle Nachrichten, die Sie von pptpd Dienst im „/ var / log / syslog" Datei.

grep 'pptpd' /var/log/syslog
Datei „/etc/logrotate.d/rsyslog“

Während der Diagnose können Sie Schwanz Dienstprogramm, das mehrere letzte Zeilen von Dateien anzeigen kann. Befehl „tail -f / var / log / syslogMit „“ können Sie Protokollaufzeichnungen in Echtzeit ansehen.

Der Service rsyslog ist sehr flexibel und leistungsstark. Es kann sowohl für die Protokollerfassung in lokalen Systemen als auch auf Unternehmensebene eingesetzt werden. Die vollständige Dokumentation finden Sie auf der offiziellen Website https://www.rsyslog.com/

Protokollrotation unter Linux

Die Protokollaufzeichnung erfolgt kontinuierlich, sodass die Dateigröße stetig zunimmt. Der Rotationsmechanismus sorgt für die automatische Archivierung alter Protokolle und die Erstellung neuer Dateien. Je nach Regel kann dies täglich, wöchentlich, monatlich oder nach Größenbeschränkung erfolgen. Wenn neue Protokolle erstellt werden, können alte gelöscht oder per E-Mail versendet werden. Die Protokollrotation erfolgt durch Logrotat Dienstprogramm. Die Hauptkonfiguration finden Sie unter „/etc/logrotate.conf”-Datei. Der Dateiinhalt wird auch in „/etc/logrotate.d/" Mappe

Neue Regeln können in die Hauptkonfigurationsdatei eingetragen werden. Es empfiehlt sich jedoch, eine separate Datei in „/etc/logrotate.d/”. Standardmäßig befinden sich in diesem Verzeichnis einige Dateien

Настраиваем ротацию логов в LINUX

Schauen wir uns die Datei an „/etc/logrotate.d/rsyslog", das Rotationsregeln für Protokolle des rsyslog ist es machbar.

Beispiel: Alle pptpd-Dateien werden in den Protokolldateien angezeigt

Die Regel sollte zunächst den Pfad zur Protokolldatei enthalten und anschließend alle Angaben in geschweiften Klammern.

  • drehen 7 - Anzahl der aufzubewahrenden Dateien - 7
  • Unterricht - jeden Tag eine neue Datei erstellen
  • komprimieren - alte Dateien komprimieren und archivieren
Учимся читать логи Линукс

Auf dem Screenshot sehen Sie, dass im „/ var / log /„Ordner gibt es das Hauptprotokoll“syslog“ und 7 Archive, was den Regeln in der Konfigurationsdatei entspricht.

Eine ausführlichere Beschreibung von logrotate finden Sie im Handbuch. Führen Sie dazu den Befehl „man logrotate”-Befehl

Sammeln von Linux-Protokollen – journald

Rundholzernteservice systemd-journal ist Teil des Initialisierungssystems systemd. Linux-Protokolldateien werden in „/var/log/journal/” in einem speziellen Format und kann mit Hilfe von geöffnet werden journalctl Dienstprogramm. Das Datensatzformat ist genau das gleiche wie in rsyslog.

Befehl journalctl Ohne Attribute werden alle Datensätze angezeigt, es ist aber nicht für größere Protokolle geeignet. Sehen wir uns einige Optionen dieses Dienstprogramms an.

  • journalctl -b - alle Datensätze seit dem letzten Start anzeigen
  • journalctl -S "2020-02-17 12:00" -U "2020-02-17 12:10" - Aufzeichnung innerhalb eines bestimmten Zeitraums anzeigen
  • journalctl -u pptpd - Aufzeichnungen eines bestimmten Dienstes anzeigen
  • journalctl -k - Kernel-Meldungen anzeigen
  • journalctl -p err - Nachrichten einer bestimmten Priorität anzeigen, in diesem Fall Nachrichten mit höherer Priorität (Krit, Alarm, Notfall)
  • journalctl -f - Nachrichten in Echtzeit anzeigen

Für mehr Flexibilität können Sie diese Optionen kombinieren. Wir zeigen alle Fehler des pptpd 

journalctl -u pptpd -p err
утилита zuletzt

Wenn Sie den Pfad zur ausführbaren Datei als Attribut angeben, zeigt das Dienstprogramm alle von dieser Datei gesendeten Nachrichten an. Lassen Sie uns alle von der Datei gesendeten Nachrichten anzeigen./usr/bin/sudo” seit 04:15 Uhr am 18. Februar 2020. Tatsächlich werden alle Befehle angezeigt, die mit höheren Berechtigungen ausgeführt werden.

journalctl -S "2020-02-18 04:15" /usr/bin/sudo
Komando Lastb

Um herauszufinden, wie viel Speicherplatz Protokolldateien beanspruchen, führen Sie den folgenden Befehl aus

journalctl --disk-usage

Um die Protokolldatei auf 1 GB zu begrenzen, führen Sie den folgenden Befehl aus

journalctl --vacuum-size=1G

Öffnen von Binärdateien

Schauen wir uns nun einige spezielle Dateien im „/ var / log /”, in dem alle Anmeldeversuche gespeichert werden. Diese Dateien sind binär und können nur mit speziellen Programmen geöffnet werden.

/var/log/wtmp Enthält Informationen zu erfolgreichen Anmeldeversuchen. Verwenden Sie das letzte Dienstprogramm, um es zu öffnen.

Lastlog-Tool

/var/log/btmp - Enthält alle fehlgeschlagenen Anmeldeversuche. Es kann mit lastb mit erweiterten Berechtigungen geöffnet werden. Attribut -n definiert die Anzahl der angezeigten Zeilen ab dem Ende der Datei.

/ var / log / lastlog - enthält den Zeitpunkt der letzten Anmeldung für jeden Kontodatensatz. Es kann geöffnet werden mit letztes Protokoll

❮ Vorheriger Artikel So konfigurieren Sie Netzwerkschnittstellen in CentOS
Nächster Artikel ❯ Linux-Texteditoren

Fragen Sie uns nach VPS

Wir stehen Ihnen jederzeit und rund um die Uhr für Ihre Fragen zur Verfügung.