Answers:
基本上,它们都是相同的,它们都允许在中央存储库中记录来自不同类型系统的数据。
但是它们是三个不同的项目,每个项目都试图通过更多的可靠性和功能性来改进前一个项目。
该Syslog
项目是第一个项目。它始于1980年。它是Syslog
协议的基础项目。目前,Syslog是一个非常简单的协议。在开始时,它仅支持UDP传输,因此不保证消息的传递。
接下来的是syslog-ng
1998年。它syslog
通过以下新功能扩展了基本协议:
接下来是Rsyslog
2004年。它syslog
通过以下新功能扩展了协议:
假设今天是三个并发项目,它们在版本上分别增长,但在邻居所做的事情上也并行增长。
我个人认为,目前syslog-ng
在大多数情况下的参考,因为它是最成熟的项目提供可能需要的主要特点,除了一个简单而全面的设置和配置。
这是3种不同的日志管理器:它使您的系统可以收集过滤器,以及传输/存储日志。
Syslog
(守护程序也称为sysklogd
)是常见Linux发行版中的默认LM。轻巧但不太灵活,您可以将按功能和严重性排序的日志流量重定向到文件,并通过网络(TCP,UDP)。rsyslog
是sysklogd
配置文件保持不变的“高级”版本(您可以将syslog.conf
文件直接复制到该文件中rsyslog.conf
并且可以使用);但是,随之而来的却是很多新奇的东西:
Syslog-ng是“下一代”。我认为这是管理日志的最佳方法:一切都是对象(源,目标,过滤器和非常转发的规则),语法清晰。我在功能方面怀疑rsyslog
和syslog-ng
不同。
journalctl
/journald
它们都是syslog守护程序,其中rsyslog和syslog-ng是(大多数未维护的)传统syslogd的更快,功能更丰富的替代品。syslog-ng从头开始(具有不同的配置格式),而rsyslog最初是syslogd的分支,支持并扩展了其语法。近年来,rsyslog也开始支持更新的配置格式。到现在为止,如果不深入细节并开始进行火焰之战,很难将两者进行比较。
总的来说,Syslog非常令人困惑,因为它可能有很多问题。我在这里消除歧义:https://sematext.com/blog/2017/01/30/what-is-syslog-daemons-message-formats-and-protocols/