Logs in Debian / journalctl ist unübersichtlich
Logs in Debian / journalctl ist unübersichtlich
Hi Leute,
in meinem openvpn-thread kam ja der Hinweis, dass ich mit
journalctl | grep openvpn
im systemd-log suchen soll.
Dabei ist mir zum wiederholten Mal aufgefallen, dass mir das ursprüngliche logging unter /var/log viel besser gefällt, weil ich es für strukturierter halte und weil es im Klartext ist. Viele Dinge ergeben sich erst aus dem Kontext, so kann ich in einer syslog z.B. im Editor/Viewer auch mal eben hochscrollen und mit den Meldungen vom Vortag vergleichen. Wie man so mit journalctl arbeiten soll, ist mir ein Rätsel.
Jetzt ist es aber durchaus auch sinnvoll, in journalctl nachzusehen, das ist mir klar. Nur ist das keine Klartext-Datei und es hat den Nachteil, dass zwar vorne an den Meldungen ein Datum steht, aber kein Jahr.
Der Befehl journalctl|grep openvpn ist bei mir dann auch gleich mehrere Minuten(!) durchgelaufen und hat gefühlt alles dargestellt, was in den letzten 10 Jahren zu openvpn geloggt wurde, und da das Laptop nicht gerade aktuell ist, war das auch entsprechend schleppend.
Einfache Frage:
Geht das besser?
Kann ich Meldungen mit Jahreszahl sehen? Kann ich einschränken a la "nur die letzten 24h anzeigen"?
in meinem openvpn-thread kam ja der Hinweis, dass ich mit
journalctl | grep openvpn
im systemd-log suchen soll.
Dabei ist mir zum wiederholten Mal aufgefallen, dass mir das ursprüngliche logging unter /var/log viel besser gefällt, weil ich es für strukturierter halte und weil es im Klartext ist. Viele Dinge ergeben sich erst aus dem Kontext, so kann ich in einer syslog z.B. im Editor/Viewer auch mal eben hochscrollen und mit den Meldungen vom Vortag vergleichen. Wie man so mit journalctl arbeiten soll, ist mir ein Rätsel.
Jetzt ist es aber durchaus auch sinnvoll, in journalctl nachzusehen, das ist mir klar. Nur ist das keine Klartext-Datei und es hat den Nachteil, dass zwar vorne an den Meldungen ein Datum steht, aber kein Jahr.
Der Befehl journalctl|grep openvpn ist bei mir dann auch gleich mehrere Minuten(!) durchgelaufen und hat gefühlt alles dargestellt, was in den letzten 10 Jahren zu openvpn geloggt wurde, und da das Laptop nicht gerade aktuell ist, war das auch entsprechend schleppend.
Einfache Frage:
Geht das besser?
Kann ich Meldungen mit Jahreszahl sehen? Kann ich einschränken a la "nur die letzten 24h anzeigen"?
Re: Logs in Debian / journalctl ist unübersichtlich
Die Fragen zuerst:
Edit, ein wenig mehr Kontext:
Wenn man die vielen zusätzlichen Möglichkeiten (Auswahl, Filterung, Darstellung, Suche, …) benutzen möchte, empfiehlt sich unbedingt ein Blick in die Manpage von journalctl. Gerade so Sachen wie „gib mal sämtliche Logeinträge von Programm X im Zeitraum Y-Z“ oder „gib mal alle Fehler von allen Programmen seit dem letzten Boot – und zwar nur die Fehler“ gehen damit dann doch viel besser, als in einer Plaintext-Datei umherzugreppen, in der alles stumpf seinen Kram abgeladen hat.
Mit vollem Datum ausgeben etwa via ›-o short-full‹ und letzte 24h mit ›--since -24h‹ – frei kombinierbar, etwa ›journalctl -o short-full --since -24h‹dirk11 hat geschrieben:03.02.2024 11:43:17Kann ich Meldungen mit Jahreszahl sehen? Kann ich einschränken a la "nur die letzten 24h anzeigen"?
Edit, ein wenig mehr Kontext:
Ein einfaches Aufrufen ohne Parameter gibt das Journal im Grunde genauso aus, wie damals™ das syslog dargestellt wurde. Man sollte es vielleicht zeitlich einschränken, etwa auf die letzten beiden Boots mit ›-b 1‹, weil im Gegensatz zum syslog das Journal per default nicht rotiert wird. Insofern sehe zumindest das Rätsel, wie man damit arbeiten soll, nicht: wenn man mag, kann man es genau so handhaben, wie man das syslog gehandhabt hat.dirk11 hat geschrieben:03.02.2024 11:43:17Dabei ist mir zum wiederholten Mal aufgefallen, dass mir das ursprüngliche logging unter /var/log viel besser gefällt, weil ich es für strukturierter halte und weil es im Klartext ist. Viele Dinge ergeben sich erst aus dem Kontext, so kann ich in einer syslog z.B. im Editor/Viewer auch mal eben hochscrollen und mit den Meldungen vom Vortag vergleichen. Wie man so mit journalctl arbeiten soll, ist mir ein Rätsel.
Wenn man die vielen zusätzlichen Möglichkeiten (Auswahl, Filterung, Darstellung, Suche, …) benutzen möchte, empfiehlt sich unbedingt ein Blick in die Manpage von journalctl. Gerade so Sachen wie „gib mal sämtliche Logeinträge von Programm X im Zeitraum Y-Z“ oder „gib mal alle Fehler von allen Programmen seit dem letzten Boot – und zwar nur die Fehler“ gehen damit dann doch viel besser, als in einer Plaintext-Datei umherzugreppen, in der alles stumpf seinen Kram abgeladen hat.
Zuletzt geändert von niemand am 03.02.2024 12:00:51, insgesamt 1-mal geändert.
„I fought in the Vim-Emacs-War.“ Quelle
Re: Logs in Debian / journalctl ist unübersichtlich
Danke! Wie umständlich...
Re: Logs in Debian / journalctl ist unübersichtlich
Du kannst das alte Log wieder einrichten, indem du meinen Beitrag liest:dirk11 hat geschrieben:03.02.2024 11:43:17Dabei ist mir zum wiederholten Mal aufgefallen, dass mir das ursprüngliche logging unter /var/log viel besser gefällt, weil ich es für strukturierter halte und weil es im Klartext ist.
viewtopic.php?p=1337853#p1337853
Re: Logs in Debian / journalctl ist unübersichtlich
Findest du? Wenn du’s häufiger brauchst, leg doch ’nen Alias an, etwa: ›alias zeigmirmeinlogaufdiealtmodischeungeordneteweisedamitichumständlichdringreppenkann='journalctl -o short-full' --since -1w‹
Zuletzt geändert von niemand am 03.02.2024 12:04:46, insgesamt 1-mal geändert.
„I fought in the Vim-Emacs-War.“ Quelle
Re: Logs in Debian / journalctl ist unübersichtlich
(Die anderen beiden waren schneller, sollte trotzdem noch was neues dabei sein hier:)
Ich werf mal ein paar Antworten hin, die kann man natürlich auch kombinieren:
Das Durchsuchen würde ich eher journalctl selbst per --grep (-g) überlassen. Das erspart es journalctl, erst alle Zeilen auszugeben (I/O ist „teuer“) und sie erst nachträglich mit grep zu filtern (das kann bei sehr, sehr vielen Zeilen durchaus einen Unterschied machen):
Wenn es um einen speziellen Service geht, kann man das außerdem explizit auswählen:
Bei nem Service kann man das .service sogar weglassen.
Nur die Meldungen aus einem bestimmten Zeitraum ausgeben geht mit --since und --until (-S bzw. -U). Also z.B.
für nur die Meldungen von heute.
Man kann auch nur die Meldungen seit dem letzten Boot anzeigen mit --boot (-b). Für die Meldungen seit dem letzten Hochfahren (Kurzform):
Für den vorherigen Bootzyklus
usw.
Ein Datumsformat z.B. mit Jahr bekommst du mit dem Format short-full und der Option --output (-o):
Wie immer, wenn man mal durch grep-Ergebnisse scrollen will.
Wenn du aber journalctl -g benutzt, kümmert sich journalctl um einen Pager, in dem du wie gewohnt Pfeiltasten, Bild auf/Bild ab, Strg+F/Strg+B, Strg+E/Strg+Y etc. zum Scrollen benutzen kannst.
Ich werf mal ein paar Antworten hin, die kann man natürlich auch kombinieren:
Das Durchsuchen würde ich eher journalctl selbst per --grep (-g) überlassen. Das erspart es journalctl, erst alle Zeilen auszugeben (I/O ist „teuer“) und sie erst nachträglich mit grep zu filtern (das kann bei sehr, sehr vielen Zeilen durchaus einen Unterschied machen):
Code: Alles auswählen
journalctl -g openvpn
Code: Alles auswählen
journalctl -u openvpn.service
Nur die Meldungen aus einem bestimmten Zeitraum ausgeben geht mit --since und --until (-S bzw. -U). Also z.B.
Code: Alles auswählen
journalctl -Stoday
Man kann auch nur die Meldungen seit dem letzten Boot anzeigen mit --boot (-b). Für die Meldungen seit dem letzten Hochfahren (Kurzform):
Code: Alles auswählen
journalctl -b
Code: Alles auswählen
journalctl -b-1
Ein Datumsformat z.B. mit Jahr bekommst du mit dem Format short-full und der Option --output (-o):
Code: Alles auswählen
journalctl -oshort-full
Selbst Schuld Wenn du die Meldungen durch grep schickst, müsstest du selbst noch einen Pager am Ende anhängen:dirk11 hat geschrieben:03.02.2024 11:43:17so kann ich in einer syslog z.B. im Editor/Viewer auch mal eben hochscrollen und mit den Meldungen vom Vortag vergleichen.
Code: Alles auswählen
journalctl | grep openvpn | less
Wenn du aber journalctl -g benutzt, kümmert sich journalctl um einen Pager, in dem du wie gewohnt Pfeiltasten, Bild auf/Bild ab, Strg+F/Strg+B, Strg+E/Strg+Y etc. zum Scrollen benutzen kannst.
Da konter ich mal: Wie würdest du denn ausm syslog mit nur 6 extra Zeichen (-S-24h) 5 extra Zeichen (-S-1d) die Meldungen der letzten 24h raussuchen?
Manchmal bekannt als Just (another) Terminal Hacker.
Re: Logs in Debian / journalctl ist unübersichtlich
Warum hat eigentlich noch keiner erwähnt, dass journal | grep foobar irgendwie suboptimal ist?
Wenn du von einem bestimmten Service (=Unit) die logs willst, geht das mit
Die nächsten meistgenutzten Parameter sind --since=yesterday, -e (zum Ende des Logs springen), -f (follow, wie less).
edit: JTH war schneller.
Wenn du von einem bestimmten Service (=Unit) die logs willst, geht das mit
Code: Alles auswählen
# journalctl -u sshd
edit: JTH war schneller.
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nicht • Don't break debian! • Wie man widerspricht
Windows ist doof, Linux funktioniert nicht • Don't break debian! • Wie man widerspricht
Re: Logs in Debian / journalctl ist unübersichtlich
Oh, sehr geil. Kann man auch beides gleichzeitig, also in alt und neu gleichzeitig loggen?MSfree hat geschrieben:03.02.2024 12:02:01Du kannst das alte Log wieder einrichten, indem du meinen Beitrag liest:
viewtopic.php?p=1337853#p1337853
So könnte ich mich langsam umstellen und an den "new way" gewöhnen.
Re: Logs in Debian / journalctl ist unübersichtlich
Ja, der Parameterdirk11 hat geschrieben:03.02.2024 12:26:02Oh, sehr geil. Kann man auch beides gleichzeitig, also in alt und neu gleichzeitig loggen?
Code: Alles auswählen
Storage=none
volatile, persistent, auto und none. Details, siehe
Code: Alles auswählen
man journald.conf
Doppelt loggen kostet Platz, zumal die Journals ohnehin schon deutlich größer sind als das alte syslog. Du solltest halt schauen, daß du Logs regelmässig mit logrotate rotierst und die maximale Größe des Journals begrenzt, sonst kann dir /var, wenn du es auch einer eigenen Partition haben solltest, verstopfen.So könnte ich mich langsam umstellen und an den "new way" gewöhnen.
Re: Logs in Debian / journalctl ist unübersichtlich
Platz ist bis jetzt kein Problem. ABER aus man journalctl.conf:MSfree hat geschrieben:03.02.2024 12:38:35Ja, der Parameterdirk11 hat geschrieben:03.02.2024 12:26:02Oh, sehr geil. Kann man auch beides gleichzeitig, also in alt und neu gleichzeitig loggen?schaltet die Speicherung in /var/log/journal komplett aus. Mögliche Werte für den Parameter sindCode: Alles auswählen
Storage=none
volatile, persistent, auto und none. Details, sieheCode: Alles auswählen
man journald.conf
Code: Alles auswählen
If forwarding to syslog is enabled but nothing reads messages from the socket, forwarding to syslog has no effect.
By default, only forwarding to syslog and wall is enabled.