Kann ich das Versenden kritischer Fehler per E-Mail mit dem Systemd-Journal automatisieren?

Kann ich das Versenden kritischer Fehler per E-Mail mit dem Systemd-Journal automatisieren?

Fedora OS führt journalctleine neue Möglichkeit zum Protokollieren von Fehlermeldungen ein. Ich habe kürzlich davon erfahren, als ich ein Upgrade durchgeführt habe. var/log/messagesund viele andere Protokolldateien werden jetzt in einer .journalDatei innerhalb des var/log/journalVerzeichnisses kombiniert.

Ich habe ein benutzerdefiniertes Protokoll, das speziell zum Protokollieren kritischer Fehler mit dem alten erstellt wurde rsyslog:

*.crit  /var/log/critical/log

Diese Datei wird mir per E-Mail zugeschickt und stündlich per Cron-Job rotiert, solange ein Fehler auftritt. Wie würde das nun mit gemacht journalctl? Die Optionen in journald.confscheinen ziemlichbegrenzt. Muss ich rsyslogdas immer noch tun?

Antwort1

Dieser Befehl erzeugt eine ähnliche Ausgabe

journalctl --since="$(date '+%Y-%m-%d %H:%M:%S' -d '1 hour ago')" --priority=crit --quiet

Antwort2

FWIW: Ich habe ein kleines Programm namens „journal-brief“ geschrieben, um einen Überblick über die Journalmeldungen seit seiner letzten Ausführung zu geben.

https://github.com/twaugh/journal-brief

Wenn Sie es von cron aus ausführen (z. B. journal-brief -p err), wird Ihnen die Ausgabe per E-Mail zugeschickt.

Es speichert den Journalcursor und merkt sich so die zuletzt gelesenen Einträge, sodass keine doppelten Protokolleinträge gesendet werden.

verwandte Informationen