特征 | rsyslog | syslog-ng的 | |
---|---|---|---|
输入源 | |||
UNIX域套接字 | 是 | ||
UDP | 是 | ||
TCP | 是 | ||
RELP | 是 | ||
RFC 3195 / BEEP | 是(通过im3195) | ||
内核日志 | 是 | ||
文件 | 是 | ||
将消息生成器标记为可选输入 | 是 | ||
Windows事件日志 | 通过Windows事件记录软件,例如 EventReporter 或MonitorWare Agent (都是商业软件,都是基于rsyslog开发的) | ||
网络(协议)支持 | |||
支持(普通)基于tcp的syslog | 是 | ||
支持GSS-API | 是 | ||
能够限制允许的网络发件人(系统日志ACL) | 是 | ||
在syslog / tcp连接上支持基于syslog-transport-tls的成帧 | 是 | ||
udp系统日志 | 是 | ||
syslog over RELP 真正可靠的消息传递(为什么普通的tcp syslog不可靠?) | 是 | ||
(zlib)消息压缩 | 是 | ||
支持通过可靠的RFC 3195传送接收消息 | 是 | ||
支持TLS / SSL保护的系统日志 | 本地(从3.19.0)通过stunnel | ||
支持IETF新的系统日志协议草案 | 是 | ||
支持IETF新的syslog-transport-tls草案 | 是(自3.19.0开始 - 世界首次实施) | ||
支持IPv6 | 是 | ||
本地能够发送SNMP陷阱 | 是 | ||
能够在NAT环境和中继链中保留原始主机名 | 是 | ||
消息过滤 | |||
过滤syslog设施和优先级 | 是 | ||
过滤主机名 | 是 | ||
筛选应用程序 | 是 | ||
过滤消息内容 | 是 | ||
过滤发送IP地址 | 是 | ||
能够过滤上面未提到的任何其他消息字段(包括子字符串等) | 是 | ||
支持复杂的过滤器,使用完整的布尔代数和/或/和运算符和括号 | 是 | ||
支持可重复使用的过滤器:指定一次过滤器并将其用于多个选择器行 | 没有 | ||
支持过滤器内的arbritrary复杂算术和字符串表达式 | 是 | ||
在过滤器中使用正则表达式的能力 | 是 | ||
支持丢弃基于过滤器的消息 | 是 | ||
能够根据出现的顺序过滤出消息 | 是(从3.21.3开始) | ||
功能强大的BSD风格的主机名和程序名称块,以方便多主机支持 | 是 | ||
支持的数据库输出 | |||
MySQL的 | yes (原生ommysql, omlibdbi) | ||
PostgreSQL的 | yes(native ompgsql, omlibdbi) | ||
神谕 | 是(omlibdbi) | ||
SQLite的 | 是(omlibdbi) | ||
Microsoft SQL(Open TDS) | 是(omlibdbi) | ||
Sybase(Open TDS) | 是(omlibdbi) | ||
火鸟/ Interbase的 | 是(omlibdbi) | ||
安格尔 | 是(omlibdbi) | ||
mSQL的 | 是(omlibdbi) | ||
企业功能 | |||
支持对消息进行按需磁盘后台处理 | 是 | ||
能够限制假脱机文件使用的磁盘空间 | 是 | ||
每个操作都可以使用自己独立的假脱机文件集 | 是 | ||
不同的假脱机文件集可以放在不同的磁盘上 | 是 | ||
仅在配置的时间范围内处理假脱机邮件的能力(例如,仅在非高峰时段处理邮件,在高峰时段仅处理邮件) | 是(可以独立配置主队列和每个操作队列) | ||
能够配置备份系统日志/数据库服务器 | 是 | ||
专业支持 | 是 | ||
配置文件 | |||
配置文件格式 | 兼容传统的syslogd,但很难看 | ||
能够从其他配置文件中包含配置文件 | 是 | ||
能够包含存在于特定目录中的所有配置文件 | 是 | ||
可扩展性 | |||
功能拆分在可单独加载的模块中 | 是 | ||
支持第三方输入插件 | 是 | ||
支持第三方输出插件 | 是 | ||
其他特性 | |||
能够动态生成文件名和目录(日志目标) | 是 | ||
控制日志输出格式,包括将通道和优先级显示为可见日志数据的能力 | 是 | ||
本地发送邮件的能力 | 是(ommail,在3.17.0中引入) | ||
良好的时间戳格式控制; 至少需要ISO 8601 / RFC 3339秒分辨率UTC区域 | 是 | ||
能够重新格式化消息内容并使用子字符串 | 是 | ||
支持大于2GB的日志文件 | 是 | ||
支持日志文件大小限制和自动翻转命令执行 | 是 | ||
支持在单台机器上运行多个syslogd实例 | 是 | ||
能够在收到的消息上执行shell脚本 | 是 | ||
将消息传递给连续运行的程序的能力 | |||
为未来的多核机器提供大规模多线程 | 是 | ||
能够在每个选择线的基础上控制重复行减少(“最后一条消息重复n次”) | 是 | ||
支持每个选择器/过滤条件的多个操作 | 是 | ||
网页界面 | phpLogCon[也适用于 php-syslog-ng ] | ||
使用文本文件作为输入源 | 是 | ||
限速输出动作 | 是 | ||
在系统压力下丢弃低优先级的消息 | 是 | ||
流量控制(当系统忙时减慢信息接收) | 是的(先进的,有多种方式根据个别输入功能,基于水印来减慢输入) | ||
重写消息 | 是 | ||
将数据输出为各种格式 | 是 | ||
控制“消息重复n次”生成的能力 | 是 | ||
执照 | GPLv3(GPLv2 for v2分支) | ||
支持的平台 | 在Solaris上看到的Linux,BSD,轶事; 编译和在HP UX上完成的基本测试 | ||
DNS缓存 |
rsyslog 项目于2004年启动,它基于主要作者(Rainer Gerhards)12年以上的日志记录经验。例如,Rainer 在1996年初也编写了第一个Windows系统日志服务器,并 于1997 年初发明了eventlog-to-syslog类应用程序。甚至在他编写这些产品之前,他也进行了自定义日志开发和咨询。Rsyslog吸取了丰富的经验,有时甚至在代码上。