Viele Fragen sich oft, was man verwenden soll: systemd's journald, rsyslog oder syslog-ng ?
Es hängt davon ab, wie Sie Ihre Computer verwenden. Wenn Sie eine einzelne eigenständige Maschine haben, ist Journald wahrscheinlich genug. Es gibt sogar eine nette Desktop-Anwendung, mit der Sie die Protokolle im Journal anzeigen können. Sobald Sie jedoch mehrere Computer verwalten müssen, hat die Verwendung von rsyslog oder syslog-ng viele Vorteile.
Je nach Distribution wird standardmäßig schon rsyslog oder syslog-ng mitgeliefert und installiert.
Selbst wenn Sie rsyslog oder syslog-ng verwenden, werden lokale Systemprotokolle auf aktuellen Linux Distributionen meistens von journald erfasst. Es ist ein integraler Bestandteil von systemd und kann nicht deinstalliert werden. Glücklicherweise kann syslog-ng Protokollnachrichten aus dem Journal lesen. Wenn Journald zusätzliche Name-Wert-Paare zu einem Ereignis speichert, kann rsyslog oder syslog-ng diese ebenfalls lesen.
Warum also rsyslog oder syslog-ng verwenden? Die kurze Antwort lautet: Zentrale Protokollierung.
Warum ist die zentrale Sammlung von Protokollen so wichtig? Ein Grund ist die Benutzerfreundlichkeit, da durch die zentrale Protokollierung anstelle von Zehntausenden oder Tausenden von Geräten ein einziger Ort zum Überprüfen von Protokollen erstellt wird. Ein weiterer Grund ist die Verfügbarkeit. Sie können die Protokollmeldungen eines Geräts überprüfen, auch wenn das Gerät selbst aus irgendeinem Grund nicht verfügbar ist. Ein dritter Grund ist die Sicherheit; Wenn Ihr Gerät gehackt wird, können durch Überprüfen der Protokolle Spuren des Hacks aufgedeckt werden.
journald verfügt auch über einige zentrale Protokollierungsfunktionen, aber rsyslog und syslog-ng bieten viel mehr Funktionen und eine bessere Leistung:
- journald wurde ursprünglich für lokale Protokolle auf Desktops entwickelt - wo es nicht so viele Protokolle gibt. Auf der anderen Seite wurde syslog-ng von Grund auf für eine leistungsstarke zentrale Protokollsammlung entwickelt.
- rsyslog/syslog-ng kann Protokolle aus vielen weiteren Quellen erfassen, einschließlich Pipes, Sockets und Dateien. Dateiquellen sind besonders wichtig, da sich viele Anwendungen - wie Webserver - bei Dateien anmelden und dies mit einer Geschwindigkeit tun, die Journald nicht verarbeiten kann.
- rsyslog/syslog-ng bietet mehr als nur einfache Protokollspeicherung. Es kann Protokollnachrichten auf viele Arten verarbeiten: Analysieren Sie sie, um Name-Wert-Paare für einfachere Warnungen und Berichte zu erstellen, erweitern Sie die Logs mit geografischen Informationen (GeoIP) oder zum Anonymisieren um PCI-DSS / DSGVO konform zu arbeiten.
- Das Filtern ermöglicht eine sehr präzises Protokollierung und stellt sicher, dass alle Protokolle das richtige Ziel erreichen.
- Zudem können Sie beispielsweise Protokolle in eine SQL-Datenbanken speichern, Logs zur weiteren Analyse über HTTP an Splunk senden, Name-Wert-Paare speichern, die aus Protokollen in MongoDB analysiert wurden, oder eine E-Mail-Benachrichtigung senden.
Um ein Zentrales Logging einzurichten finden sich viele Tutorials dazu im Internet. Alternativ kann ich Ihnen anbieten die Einrichtung für Sie zu übernehmen, oder in einer Einzelschulung Ihnen das nötige Know-How zeigen.
In meinem Linux System Administration I - RH124 Zertifizierungs Kurs habe ich mehrere Videos zu SystemD - JournalD und RsysLog wo ich teilweise in die Funktionsweisen und Details der einzelnen Services eingehe.