Rsyslog
可以简单的理解为syslog的超集 在老版本的Linux中 Red Hat Enterprise Linux3/4/5默认是使用的syslog作为系统的日志工具 从RHEL 6开始系统默认使用Rsyslog
ryslog是一个快速处理收集系统日志的程序 支持C/S架构 可通过UDP/TCP协议提供日志集中管理服务
为什么要使用Rsyslog
WEB服务器多的时候检查日志是一件痛苦的事情
准备弄一台统一的日志服务 将登录认证 系统日志等全部发送到这台日志服务器上
可以做监控分析 也能即时获取最新日志
rsyslog和syslog-ng都可以 系统一般默认安装前者
Rsyslog的特性
多线程的服务 并发性能好
可以使用udp tcp ssl tls relp 等协议完成信息收集
将日志可以存储在mysql pgsql oracle 等数据库管理系统中
强大的自定义过滤器 实现过滤日志信息中任何部分内容
自定义输出格式
Rsyslog日志集中管理
C/S架构 客户端将其日志上传到服务器端 通过对服务器端日志的查询 来实现对其他 客户端的日志进行集中管理
在服务器端配置
编辑配置文件vim /etc/rsyslog.conf
日志传输方式:UDP、TCP、RELP
UDP传输 但信息有损耗
基于TCP明文的传输 只在特定情况下丢失信息 并被广泛使用
RELP传输 不会丢失信息 但只在rsyslogd 3.15.0及以上版本中可用
UDP 传输协议
基于传统UDP协议进行远程日志传输 也是传统syslog使用的传输协议
可靠性比较低 但性能损耗最少
在网络情况比较差 或者接收服务器压力比较高情况下 可能存在丢日志情况
TCP传输协议
基于传统TCP协议明文传输 需要回传进行确认 可靠性比较高
但在接收服务器宕机或者两者之间网络出问题的情况下 会出现丢日志情况
RELP传输协议
RELP(Reliable Event Logging Protocol)是基于TCP封装的可靠日志消息传输协议是为了解决TCP与UDP协议的缺点而在应用层实现的传输协议 也是三者之中最可靠的对于线上服务器 为了日志安全起见 建议