Protokolle sind äußerst nützlich bei der Fehlerbehebung von System-, Anwendungs- oder Netzwerkproblemen. In Protokolldateien erfasste Informationen können auch analysiert werden, um Muster aufzudecken, die Ihnen helfen können, als Systemadministrator fundierte Entscheidungen zu treffen.
Diese Anleitung erklärt kurz, wie Sie Standardprotokolldateien auf Ubuntu-Linux-Servern anzeigen können.
Wichtige Befehle zum Arbeiten mit Protokolldateien
Auf Ubuntu-Linux-Servern werden Protokolle normalerweise im Nur-Text-Format gespeichert. Daher ist es wichtig, dass Sie die folgenden grundlegenden Linux-Befehle kennen, um sich im Dateisystem zu bewegen und mit Textdateien über das Ubuntu-Terminal zu arbeiten.
CD – Verzeichnis wechseln
ls – den Inhalt eines Verzeichnisses anzeigen
cp – Dateien oder Ordner kopieren
mv – Dateien oder Ordner umbenennen/verschieben
Nano – konsolenbasierter Texteditor
weniger – Anzeigen des Inhalts einer Textdatei Seite für Seite
Kopf – Anzeige der ersten 10 Zeilen einer Textdatei
Schwanz – Anzeigen der letzten 10 Zeilen einer Textdatei
grep – nach bestimmten Schlüsselwörtern in einer Textdatei suchen oder Daten ausgeben
Speicherort von Protokolldateien auf Ubuntu-Servern
Grundsätzlich werden Protokolldateien unter /var/log gespeichert Verzeichnis auf Ubuntu-Servern. Führen Sie den folgenden Befehl aus, um das Verzeichnis in /var/log.
zu ändern$ cd /var/log
Nun können Sie den Inhalt von /var/log wie folgt auflisten.
$ ls
Wie in Abbildung 1 unten zu sehen, enthält das Verzeichnis /var/log mehrere Protokolldateien, die grob in Systemprotokolle und Anwendungsprotokolle eingeteilt werden können.
Abbildung 1:Protokolldateien auf dem Ubuntu-Server auflisten
Systemprotokolle
Systemprotokolle enthalten Informationen über den Betrieb des Ubuntu-Systems; einschließlich Autorisierungsprotokolle, Kernelprotokolle, Kernel-Ringpuffer und allgemeine Systemereignisse.
Autorisierungsprotokolle
Autorisierungsprotokolle werden in /var/log/auth.log gespeichert . Hier finden Sie Informationen zu Benutzerautorisierungsversuchen; einschließlich der Verwendung des sudo-Befehls.
Sie können den folgenden Befehl ausführen, um den Inhalt der Datei auth.log zu überprüfen.
$ sudo less /var/log/auth.log
Hinweis: Drücken Sie die Leertaste auf Ihrer Tastatur, um von Seite zu Seite zu blättern. Drücken Sie q zum Beenden.
Sie können auch den Befehl grep verwenden, um die Informationen in den Protokollen zu filtern. Hier ist ein Beispiel.
$ sudo less /var/log/auth.log | grep olu
Die Informationen in der Beispielausgabe unten zeigt an, dass es eine erfolgreiche Remote-Anmeldung bei meinem Ubuntu-Server über ssh durch den Benutzer olu gab.
1. Februar 15:44:24 Ubuntu sshd[1594]:Akzeptierter öffentlicher Schlüssel für olu von 105.0.0.100 Port 35233 ssh2:RSA SHA256:B3zi4x3gdF89wm0GZw+fsAkhckLEsx8fJ0GJiU80CXH 1. Februar 15:44:24 Ubuntu sshd[1594]:pam_unix(sshd:session):Sitzung für Benutzer olu geöffnet von (uid=0) 1. Februar 15:44:24 Ubuntu systemd-logind[747]:Neue Sitzung 2 von Benutzer olu. 1. Feb 15:44:24 Ubuntu systemd:pam_unix(systemd-user:session):Sitzung geöffnet für Benutzer olu von (uid=0) |
Kernel-Protokolle
Kernel-Protokolle werden in /var/log/kern.log gespeichert . Diese Informationen sind nützlich, um Kernelfehler zu beheben. Der Kernel steuert alles im Betriebssystem; einschließlich Prozessverwaltung, Speicherverwaltung und Geräteverwaltung.
Verwenden Sie den folgenden Befehl, um den Inhalt der Datei kern.log Seite für Seite anzuzeigen.
$ sudo less /var/log/kern.log
Oder versuchen Sie dies, um die ersten 10 Zeilen der Datei kern.log anzuzeigen.
$ sudo head /var/log/kern.log
Spezifische Informationen finden Sie in kern.log.
$ grep memory /var/log/kern.log
Kernel-Ringpuffer
Der Kernel-Ringpuffer enthält Informationen zur Kernel-Hardware. Die Informationen werden in /var/log/dmesg protokolliert und kann mit dmesg angezeigt werden Befehl. Diese Informationen umfassen alle beim Systemstart erkannten Geräte.
Sie können dies verwenden, um Probleme mit Serverhardwarekomponenten zu beheben. Führen Sie den folgenden Befehl aus, um den gesamten Inhalt des Kernel-Ringpuffers anzuzeigen.
$ dmesg
Probieren Sie den nächsten Befehl aus, um die letzten 10 Zeilen des Kernel-Ringpuffers anzuzeigen.
$ dmesg | tail
Oder filtern Sie mit grep nach bestimmten Schlüsselwörtern.
$ dmesg | grep cpu
Allgemeine Systemprotokolle
Hier werden wir über syslog sprechen und journalctl
Syslog
Syslog ist ein Protokollierungsmechanismus, der allgemeine Systemereignisse in /var/log/syslog speichert . Die hier gespeicherten Informationen können Ereignisse enthalten, die Sie möglicherweise nicht in anderen Protokolldateien finden.
Führen Sie den folgenden Befehl aus, um den Inhalt der Syslog-Datei Seite für Seite anzuzeigen.
$ sudo less /var/log/syslog
Sie können auch mit grep nach bestimmten Schlüsselwörtern suchen Befehl wie folgt.
$ sudo grep failed /var/log/syslog
Journalctl
Der Befehl journalctl vereinfacht die Untersuchung von Serverprotokollen. Anstatt einzelne Protokolldateien zu durchsuchen, können Sie journalctl verwenden, um die benötigten Informationen schnell zu finden und zu filtern.
Der folgende Befehl zeigt alle Protokolleinträge vom ältesten bis zum neuesten an.
$ journalctl
Der nächste Befehl zeigt Warnmeldungen.
$ journalctl -p warning
Sie können nur Kernel-Meldungen wie folgt anzeigen.
$ journalctl --dmesg
Sie können nach bestimmten Schlüsselwörtern suchen, indem Sie grep kombinieren Befehl und zeigen Sie die Ergebnisse Seite für Seite mit weniger an .
$ journalctl | grep ssh | less
Protokollinformationen seit einem bestimmten Datum anzeigen.
$ journalctl --since=2021-02-01
Oder sehen Sie sich Protokollinformationen seit einer bestimmten Zeit an.
$ journalctl --since=12:00
Sie können auch journalctl eingeben und drücken Sie dann die Tabulatortaste auf Ihrer Tastatur, um die verfügbaren Optionen anzuzeigen.
Anwendungsprotokolle
Mehrere Anwendungen speichern Protokollinformationen unter /var/log . Zum Beispiel in Abbildung 1 oben das clamav enthält Protokolldateien, die sich auf die Anti-Malware-Anwendung ClamAV beziehen.
Hier sind einige Beispiele für beliebte Anwendungen oder Dienste und wo ihre Protokollinformationen gespeichert werden.
Apache web server logs - /var/log/apache2
NGINX web server logs - /var/log/nginx
Printing system (CUPS) logs - /var/log/cups
Andere nützliche Protokolle
Einige Protokolldateien wie lastlog , wtmp möglicherweise nicht direkt von Menschen gelesen werden. Im Folgenden finden Sie eine kurze Erläuterung, welche Art von Informationen diese Dateien enthalten und wie Sie sie anzeigen können.
letztes Protokoll
Die Informationen in /var/log/lastlog bezieht sich auf Benutzer und ihre letzte Anmeldung beim Ubuntu-Server. Sie müssten das lastlog verwenden Befehl, um wie folgt darauf zuzugreifen.
$ lastlog
wtmp
Die var/log/wtmp Datei enthält umfassende Anmeldedatensätze.
Führen Sie den letzten aus Befehl, um eine Liste der zuletzt angemeldeten Benutzer anzuzeigen. Möglicherweise sehen Sie auch Informationen zum Systemstart/-neustart.
$ last
Führen Sie das Wer aus Befehl, um zu sehen, wer gerade angemeldet ist.
$ who
Das w Der Befehl zeigt Ihnen, wer gerade angemeldet ist und was er auf dem Ubuntu-Server tut.
$ w
Schlussfolgerung
In diesem Handbuch haben wir kurz behandelt, wie Sie Standardprotokolldateien auf Ubuntu-Servern anzeigen können. Dies ist keine vollständige Liste, aber wir hoffen, dass sie Ihnen eine Vorstellung davon gibt, wo Sie suchen müssen.