rsyslog是linux系统中用来实现日志功能的服务。默认已经安装,并且自动启用。
作用:主要用来采集日志,不生产日志
它提供了一种从客户端节点到单个中央服务器的“集中日志”的简单有效的方法。日志集中化有两个好处。首先,它简化了日志查看,因为系统管理员可以在一个中心节点查看远程服务器的所有日志,而无需登录每个客户端系统来检查日志。如果需要监视多台服务器,这将非常有用,其次,如果远程客户端崩溃,你不用担心丢失日志,因为所有日志都将保存在中心的 Rsyslog 服务器上。rsyslog 取代了仅支持 UDP 协议的 syslog。它以优异的功能扩展了基本的 syslog 协议,例如在传输日志时支持 UDP 和 TCP 协议,增强的过滤功能以及灵活的配置选项。
server端:
[root@master ~]# vim /etc/rsyslog.conf
# Provides UDP syslog reception(如果允许采用 UDP 协议接收日志,则打开如下注释)
$ModLoad imudp
$UDPServerRun 514
# Provides TCP syslog reception(允许允许采用TCP 协议接收日志,则打开如下注释)
$ModLoad imtcp
$InputTCPServerRun 514
client端:
*.* @192.168.59.139:514 (对应udp采集,ip为server端ip)
*.* @@192.168.59.139:514 (对应tcp采集,ip为server端ip)
注意:
1.客户端和服务端修改配置后都需要重启服务:
systemctl restart rsyslog
2.客户端可通过logger 打印日志,然后到服务端查看是否收集成功:
左边为server,右边为client:
日志打印内容为: 客户端时间+客户端主机名+日志内容