syslog,rsyslog和syslog-ng

基本上,它们都是相同的,它们都允许在中央存储库中记录来自不同类型系统的数据。
但是它们是三个不同的项目,每个项目都试图通过更多的可靠性和功能性来改进前一个项目。

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

 

syslog-ng诞生于1998年。

由Balabit IT Security Ltd.维护的一套开源的Unix和类Unix系统的日志服务套件。它是一个灵活的、可伸缩的系统日志记录程序。对于服务器日志集中收集,使用它是一个不错的解决方案。

syslog通过新功能扩展了基本协议,例如:

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

 

Syslog-ng主要特性有:

  • 支持SSL/TLS协议
  • 支持将日志写入数据库中,支持的数据库有MySQL, Microsoft SQL (MSSQL),Oracle, PostgreSQL, and SQLite.
  • 支持标准的syslog协议
  • 支持filter、parse以及rewrite
  • 支持更多的平台
  • 更高的负载能力

 

Rsyslog诞生于2004年。它syslog通过以下新功能扩展了协议:

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

Rsyslog可以简单的理解为syslog的超集,在老版本的Linux系统中,Red Hat Enterprise Linux 3/4/5默认是使用的syslog作为系统的日志工具,从RHEL 6 开始系统默认使用了Rsyslog。
Rsyslog 是负责收集 syslog 的程序,可以用来取代 syslogd 或 syslog-ng。 在这些 syslog 处理程序中,个人认为 rsyslog 是功能最为强大的。 其特性包括:

    • 支持输出日志到各种数据库,如 MySQL,PostgreSQL,MongoDB,ElasticSearch,等等;
    • 通过 RELP + TCP 实现数据的可靠传输(基于此结合丰富的过滤条件可以建立一种 可靠的数据传输通道供其他应用来使用);
    • 精细的输出格式控制以及对消息的强大 过滤能力;
    • 高精度时间戳;队列操作(内存,磁盘以及混合模式等); 支持数据的加密和压缩传输等
原文地址:https://www.cnblogs.com/zhaoyong631/p/14441090.html