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

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

Ich bin etwas verwirrt bezüglich Syslog, Rsyslog und Syslog-ng.

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

Gibt es einen Unterschied zwischen rsyslog und rsyslogd?

Antwort1

Im Grunde sind sie alle gleich, da sie alle die Protokollierung von Daten aus unterschiedlichen Systemtypen in einem zentralen Repository ermöglichen.

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

Das SyslogProjekt war das allererste. Es begann 1980. Es ist das Stammprojekt des SyslogProtokolls. Zu dieser Zeit ist Syslog ein sehr einfaches Protokoll. Zu Beginn unterstützt es nur UDP für den Transport, sodass die Zustellung der Nachrichten nicht garantiert ist.

Das nächste kam syslog-ng1998. Es erweitert das Basisprotokoll syslogum neue Funktionen wie:

  • Inhaltsbasierte Filterung
  • Direktes Anmelden bei einer Datenbank
  • TCP für den Transport
  • TLS-Verschlüsselung

Das nächste kam Rsyslogim Jahr 2004. Es erweitert syslogdas Protokoll um neue Funktionen wie:

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

Nehmen wir an, dass es sich heute um drei parallel laufende Projekte handelt, die in Bezug auf die Versionen getrennt voneinander gewachsen sind, sich aber auch im Hinblick auf die Aktivitäten der Nachbarn parallel entwickelt haben.

Ich persönlich denke, dass die heutige Version syslog-ngin den meisten Fällen die Referenz darstellt, da es sich um das ausgereifteste Projekt handelt, das die wichtigsten Funktionen bietet, die Sie möglicherweise benötigen, sowie eine einfache und umfassende Einrichtung und Konfiguration.

Antwort2

Dies sind drei verschiedene Arten von Protokollmanagern: Sie ermöglichen Ihrem System, Protokolle zu sammeln, zu filtern und zu übertragen/speichern.

  • Syslog(Daemon, auch genannt sysklogd) ist der Standard-LM in gängigen Linux-Distributionen. Leicht, aber nicht sehr flexibel. Sie können den Protokollfluss sortiert nach Einrichtung und Schweregrad in Dateien und über das Netzwerk (TCP, UDP) umleiten.
  • rsyslogist eine „erweiterte“ Version, sysklogdbei der die Konfigurationsdatei gleich bleibt (Sie können eine syslog.confDatei direkt hineinkopieren rsyslog.confund es funktioniert); aber es kommen viele coole neue Sachen damit:

    • Sie können TCP/UDP/...-Verbindungen abhören, mit Einschränkungen (Ports, Quell-IPs)
    • Sie können viele Module laden
    • Sie können die Protokollfilterung nach Programm, Quelle, Nachricht, PID usw. unterscheiden (zum Beispiel wird jede Nachricht, die mit der Meldung „Verbindung geschlossen“ markiert ist, in die Datei „closed.log“ geschrieben).
    • Sie können Nachrichten nach einer oder mehreren Regeln verwerfen. Besuchenhttp://www.rsyslog.comwas wirklich sehr gut ist
  • Syslog-ng ist „Next-Gen“. Ich denke, es ist die beste Möglichkeit, Protokolle zu verwalten: alles ist Objekt (Quelle, Ziel, Filter und die Weiterleitungsregel selbst) und die Syntax ist klar. Ich bezweifle, dass es in Bezug auf die Funktionalität Unterschiede zwischen rsyslogund syslog-nggibt.

Antwort3

Woher bekomme ich den Quellcode für syslog()

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

Antwort4

Sie alle sind Syslog-Daemons, wobei rsyslog und syslog-ng schnellere und funktionsreichere Ersatzprogramme für das (meist nicht mehr gepflegte) traditionelle syslogd sind. syslog-ng begann von Grund auf (mit einem anderen Konfigurationsformat), während rsyslog ursprünglich ein Fork von syslogd war und dessen Syntax unterstützte und erweiterte. In den letzten Jahren begann rsyslog auch, ein neueres Konfigurationsformat zu unterstützen. Mittlerweile ist es wirklich schwierig, die beiden zu vergleichen, ohne in die Einzelheiten zu gehen und Flame-Wars auszulösen.

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

verwandte Informationen