lnav
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Ubuntu 22.04 Jammy Jellyfish
Ubuntu 20.04 Focal Fossa
Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
The Log File Navigator (lnav) | ||
lnav mit Apache Fehler-Logfile
![]() | ||
Aktuelle Version: | 0.8.5 (April 2019) | |
Programmiersprache: | C++ | |
Lizenz: | BSD-Lizenz 🇬🇧 (Open Source) | |
Projektseite: | lnav.org 🇬🇧 | |
Installation: | Paketquellen (universe) |
The Log File Navigator 🇬🇧, kurz lnav, ist ein Programm für die Konsole,[2] um fast alle Logdateien [4] eines Linuxrechners -oder Servers in Echtzeit zu überwachen. Da es auf der Konsole ausgeführt wird, ist das Programm ideal für Systeme, die ohne Desktopumgebung betrieben werden oder nur per SSH erreichbar sind. Nutzer, zum Beispiel Einsteiger, die mit nativen Konsolenwerkzeugen, wie grep, awk oder sed, nicht so recht klarkommen, sind mit lnav gut bedient. Es bietet zahlreiche Funktionen, um die von Haus aus teilweise unübersichtlichen Protokolldateien (Logfiles) zu verwalten und zu analysieren:
Unterstützung gängiger Logformate, einschließlich dem automatischen Entpacken von komprimierten Protokolldateien -oder Verzeichnissen
Farbige Formatierungen, um zum Beispiel Info-, Warnungs und Fehlermeldungen auf einem Blick zu unterscheiden
Automatische Anzeige von neuen Einträgen in Echtzeit
Mehrere Logdateien auf einmal überwachen
Filter -und Suchfunktionen
SQL-Abfragen starten
Installation¶
lnav kann direkt aus den Quellen installiert werden. [1]
lnav (universe)
Befehl zum Installieren der Pakete:
sudo apt-get install lnav
Oder mit apturl installieren, Link: apt://lnav
Bedienung¶
Eine lnav-Sitzung wird im Terminal [2] mit folgenden Befehl gestartet:
lnav
Wird lnav ohne weitere Parameter gestartet, so wird in Ubuntu automatisch die Protokolldatei /var/log/syslog angezeigt.
Eine bestimmte Datei anzeigen¶
Dazu einfach den Pfad der Datei als Parameter mit angeben, zum Beispiel:
lnav ~/.xsession-errors
Das funktioniert auch mit gzip oder bzip2 komprimierten Dateien oder Verzeichnissen.
Hinweis:
Die Datei ~/.xsession-errors ist ein Beispiel für eine Datei, deren Format nicht vollständig von lnav unterstützt wird. Einige Funktionen, wie zum Beispiel der Hotkey P zur Detailanzeige, sind nicht verfügbar. Da aber lnav theoretisch jede Textdatei öffnen kann, kann auch diese Datei angezeigt, durchsucht und gefiltert werden.
Mehrere Dateien anzeigen¶
Um mehrere Dateien auf ein mal anzuzeigen, entweder die Dateinamen einzeln mit angeben, zum Beispiel lnav /var/log/apache2/access.log /var/log/syslog
. Wird ein Ordner als Parameter mit übergeben, so werden alle sich darin befindliche Logdateien gesammelt angezeigt (ohne Unterverzeichnisse), zum Beispiel lnav /var/log/apache2/
. Standardmäßig werden dabei ältere Logdateien ignoriert.
Anwendungsbeispiele¶
journalctl | lnav -q
Über lnav kann man sich alle Fehlermeldungen beim Kompilieren eines Programmes in Echtzeit ausgeben lassen und analysieren. Die Option
-t
fügt pro Meldung noch einen Zeitstempel hinzu:
make 2>&1 | lnav -t
Parameter beim Programmstart¶
Eine Auswahl der Parameter, mit denen man lnav starten kann:
Option | Bedeutung |
-r | Auch ältere Logdateien im angegebenen Verzeichnis mit ausgeben („rekursiv“) |
-V | Installierte Version anzeigen |
-h | Hilfe anzeigen |
-H | Ausführliche Hilfe direkt in lnav anzeigen |
Hotkeys¶
Folgende Tastenkürzel (Hotkeys) dienen der Bedienung von lnav, während das Programm ausgeführt wird (Auswahl):
lnav bedienen | |
Tastenkürzel | Bedeutung |
Allgemein | |
Q | lnav beenden bzw. eine besondere Ansicht (z. B. Hilfeseite) schließen |
Strg + C | lnav beenden |
Strg + W | Zeilenumbruch ein/ausschalten |
/ | Sucheingabe öffnen |
: | Einen internen Befehl ausführen |
; | Eine SQL-Abfrage ausführen |
Strg + R | Die aktuelle lnav-Sitzung zurücksetzen. Alle gesetzten Filter, etc. werden gelöscht. |
Ansicht (Zurücksetzen mit der selben Taste) | |
I | Histogramm anzeigen |
P | Detailansicht für aktuellen Eintrag anzeigen, Navigieren (s. u.) weiter möglich |
? | Hilfe anzeigen |
Im Logfile Navigieren | ||
Schritt | Vor | Zurück |
Zeile | ↓ oder ⏎ | ↑ oder K |
Seite | oder Bild ↓ | ⌫ oder Bild ↑ |
Zur nächsten Warnmeldung | W | ⇧ + W |
Zur nächsten Fehlermeldung | E | ⇧ + E |
Zum ersten Eintrag des nächsten Tag | 0 | ⇧ + 0 |
24h | D | ⇧ + D |
1 Minute | 7 | 8 |
10 Minuten | 1 | ⇧ + 1 |
20 Minuten | 2 | ⇧ + 2 |
30 Minuten | 3 | ⇧ + 3 |
40 Minuten | 4 | ⇧ + 4 |
50 Minuten | 5 | ⇧ + 5 |
60 Minuten | 6 | ⇧ + 6 |
Ende/Anfang der Datei | Ende | Pos1 |
Filtern¶
Mit der Eingabe von : wird innerhalb von lnav eine Programm-eigene Befehlseingabe geöffneten (unterste Zeile), in der man verschiedene interne Befehle ausführen kann, zum Beispiel zum Filtern der Ausgabe. lnav unterstützt beim Eingeben von Befehlen eine Autovervollständigung. Nach der Eingabe von : stehen folgende Befehle, sogenannte „Commands“, oder Tastenkürzel zur Verfügung (Auswahl):
Befehl/Taste | Bedeutung |
2x Tab ⇆ | Liste aller verfügbaren Befehle |
Tab ⇆ | Vervollständigt eine Befehlseingabe bei vorangegangener Eingabe von mind. 1 Anfangsbuchstaben |
set-min-log-level LEVEL | Zeigt nur Einträge ab der Mindest-Stufe LEVEL anset-min-log-level + 2x
Tab ⇆ zeigt alle verfügbaren Info -und Warnstufen an |
filter-in REGEX | Nur Zeilen anzeigen, die REGEX entsprechen |
filter-out REGEX | Zeilen nicht anzeigen, die REGEX entsprechen |
Möchte man zum Beispiel in der Zugriffslogdatei von Apache (/var/log/apache2/access.log) die eigenen Zugriffe ausblenden, so kann man diese mit der Eingabe von filter-out 127.0.0.1 -
und
⏎ ausblenden.
Möchte man alle gesetzten Befehle innerhalb einer Sitzung rückgängig machen, so kann man die Sitzung mit Strg + R vollständig zurücksetzen.
Links¶
Intern¶
Extern¶
Projektseite 🇬🇧