it-swarm.com.de

Was ist der Unterschied zwischen syslog, rsyslog und syslog-ng?

Ich bin ein bisschen verwirrt in Syslog, Rsyslog und Syslog-ng.

Woher bekomme ich den Quellcode für syslog()?

Gibt es einen Unterschied zwischen rsyslog und rsyslogd?

67
StackUser

Grundsätzlich sind sie alle gleich, so wie sie alle die Protokollierung von Daten aus verschiedenen Systemtypen in einem zentralen Repository ermöglichen.

Es handelt sich jedoch um drei verschiedene Projekte, wobei jedes Projekt versucht, das vorherige mit mehr Zuverlässigkeit und Funktionalität zu verbessern.

Das Syslog Projekt war das allererste Projekt. Es begann 1980. Es ist das Stammprojekt zum Protokoll Syslog. Derzeit ist Syslog ein sehr einfaches Protokoll. Zu Beginn unterstützt es nur UDP für den Transport, so dass die Zustellung der Nachrichten nicht garantiert wird.

Als nächstes kam syslog-ng im Jahr 1998. Es erweitert das grundlegende syslog Protokoll mit neuen Funktionen wie:

  • inhaltsbasierte Filterung
  • Direkte Anmeldung bei einer Datenbank
  • TCP für den Transport
  • TLS-Verschlüsselung

Als nächstes kam Rsyslog im Jahr 2004. Es erweitert das Protokoll syslog um neue Funktionen wie:

  • Unterstützung des RELP-Protokolls
  • Unterstützung für gepufferte Operationen

Nehmen wir an, es handelt sich heute um drei gleichzeitige Projekte, die nach Versionen getrennt gewachsen sind, aber auch parallel zu den Aktivitäten der Nachbarn gewachsen sind.

Ich persönlich denke, dass heute syslog-ng ist in den meisten Fällen die Referenz, da es sich um das ausgereifteste Projekt handelt, das neben einer einfachen und umfassenden Einrichtung und Konfiguration die wichtigsten Funktionen bietet, die Sie möglicherweise benötigen.

55
krisFR

hierbei handelt es sich um drei verschiedene Arten von Protokollmanagern: Ihr System kann Filter sammeln und Protokolle übertragen/speichern.

  • Syslog (Daemon auch sysklogd genannt) ist der Standard-LM in gängigen Linux-Distributionen. Leicht, aber nicht sehr flexibel. Sie können den Protokollfluss nach Einrichtung und Schweregrad sortiert in Dateien und über das Netzwerk (TCP, UDP) umleiten.
  • rsyslog ist eine "erweiterte" Version von sysklogd, bei der die Konfigurationsdatei dieselbe bleibt (Sie können eine syslog.conf - Datei direkt in rsyslog.conf kopieren und sie funktioniert). ;; Aber du hast eine Menge neuer cooler Sachen dabei:

    • Sie können TCP/UDP/... -Verbindungen mit Einschränkungen (Ports, Quell-IPs) abhören.
    • Sie können viele Module laden
    • Sie können die Protokollfilterung nach Programm, Quelle, Nachricht, PID usw. unterscheiden (z. B. jede Nachricht, die mit der Nachricht "Verbindung geschlossen" zur Datei "Closed.log" gekennzeichnet ist).
    • Sie können Nachrichten nach einer oder mehreren Regeln verwerfen. Besuchen Sie http://www.rsyslog.com , was in der Tat sehr gut ist
  • Syslog-ng ist "Next-Gen". Ich denke, es ist der beste Weg, um Protokolle zu verwalten: Alles ist Objekt (Quelle, Ziel, Filter und die Weiterleitungsregel) und die Syntax ist klar. Ich bezweifle in Bezug auf die Funktionalität, dass rsyslog und syslog-ng Unterschiedlich sind.

33
moutonjr

Woher bekomme ich den Quellcode für syslog ()

Dies wird durch glibc oder die libc-Implementierungen auf anderen Unix-Varianten bereitgestellt. Dieser Aufruf sendet Ihre Nachricht grundsätzlich an den Syslog-Unix-Domain-Socket/dev/log. Dieser Socket wird normalerweise vom Systemlogger erstellt (z. B. rsyslog, syslog-ng, nxlog usw.).

9
b0ti

Es sind alles Syslog-Daemons, bei denen rsyslog und syslog-ng schneller und funktionsreicher als das (meist nicht gewartete) traditionelle Syslogd sind. syslog-ng wurde von Grund auf neu gestartet (mit einem anderen Konfigurationsformat), während rsyslog ursprünglich eine Abzweigung von syslogd war, die seine Syntax unterstützte und erweiterte. In den letzten Jahren hat rsyslog begonnen, auch ein neueres Konfigurationsformat zu unterstützen. Inzwischen ist es wirklich schwierig, die beiden zu vergleichen, ohne auf die Einzelheiten einzugehen und Flammenkriege zu beginnen.

Syslog ist im Allgemeinen ziemlich verwirrend, da es mehrere Dinge sein kann. Ich habe versucht, hier zu unterscheiden: https://sematext.com/blog/2017/01/30/what-is-syslog-daemons-message-formats-and-protocols/

3
Radu Gheorghe