syslog,rsyslog和syslog-ng有什么区别?


61

我对syslog,rsyslog和syslog-ng有点困惑。

从哪里可以获得源代码syslog()

rsyslog和rsyslogd之间有什么区别吗?


带D字母的rsyslogd是rsyslogd守护程序
c4f4t0r 2015年

3
为了完整起见,我将添加一个可能会或可能不会影响您的差异。syslog-ng使用fopen,而rsyslog使用fappend。如果您chattr +a的系统日志文件很重要。大多数人不这样做,我只是有一个特殊的用例,这就是我的发现方式。我只是让很多人畏缩。
亚伦

Answers:


52

基本上,它们都是相同的,它们都允许在中央存储库中记录来自不同类型系统的数据。

但是它们是三个不同的项目,每个项目都试图通过更多的可靠性和功能性来改进前一个项目。

Syslog项目是第一个项目。它始于1980年。它是Syslog协议的基础项目。目前,Syslog是一个非常简单的协议。在开始时,它仅支持UDP传输,因此不保证消息的传递。

接下来的是syslog-ng1998年。它syslog通过以下新功能扩展了基本协议:

  • 基于内容的过滤
  • 直接登录到数据库
  • TCP传输
  • TLS加密

接下来是Rsyslog2004年。它syslog通过以下新功能扩展了协议:

  • RELP协议支持
  • 缓冲操作支持

假设今天是三个并发项目,它们在版本上分别增长,但在邻居所做的事情上也并行增长。

我个人认为,目前syslog-ng在大多数情况下的参考,因为它是最成熟的项目提供可能需要的主要特点,除了一个简单而全面的设置和配置。


1
作为记录,OpenBSD的系统日志可以执行TCP和TLS(以及UDP)
Neil McGuigan

32

这是3种不同的日志管理器:它使您的系统可以收集过滤器,以及传输/存储日志。

  • Syslog(守护程序也称为sysklogd)是常见Linux发行版中的默认LM。轻巧但不太灵活,您可以将按功能和严重性排序的日志流量重定向到文件,并通过网络(TCP,UDP)。
  • rsyslogsysklogd配置文件保持不变的“高级”版本(您可以将syslog.conf文件直接复制到该文件中rsyslog.conf并且可以使用);但是,随之而来的却是很多新奇的东西:

    • 您可以监听TCP / UDP / ...连接,但有限制(端口,源IP)
    • 您可以加载很多模块
    • 您可以通过程序,源代码,消息,PID等来区分日志过滤(例如,每个标记为“ connexion close”的消息标记为closed.log文件)
    • 您可以在一个或多个规则之后丢弃消息。访问http://www.rsyslog.com确实非常好
  • Syslog-ng是“下一代”。我认为这是管理日志的最佳方法:一切都是对象(源,目标,过滤器和非常转发的规则),语法清晰。我在功能方面怀疑rsyslogsyslog-ng不同。


8
我认为syslog-ng和rsyslog都是“下一代”,或者至少是较旧syslog的较新替代品。两者在功能上是可比的,但是两者的语法非常不同。syslog-ng拥有自己独特的语法,而rsyslog的语法更像旧的syslog语法。
Stefan Lasiewski,2015年

9
然后是journalctl/journald
Mausy5043 '16

9

从哪里可以获取syslog()的源代码

这是由glibc或其他Unix风格的libc实现提供的。此调用基本上将您的消息提交到syslog Unix域套接字/ dev / log。此套接字通常由系统记录器创建(例如rsyslog,syslog-ng,nxlog等)。


3

它们都是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/

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.