rsyslog是Linux系统中用来实现日志功能的服务,默认已经安装,并且自动启用。它主要用来采集日志。
1.接收日志配置/etc/rsyslog.conf
- 使用UDP协议接收日志,找到相应配置去掉注释即可
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
- 使用TCP协议接收日志,找到相应配置去掉注释即可
# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
2.转发日志配置/etc/rsyslog.conf
- 使用TCP协议转发
# remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional
*.* @@192.168.0.1:514
#配置解析:
#*.*: 这是一个过滤表达式,用于匹配要发送的日志消息。
#第一个*表示匹配所有日志级别(如debug、info、warning等),第二个*表示匹配所有设施(如auth、authpriv、cron等)。因此,这个过滤表达式会匹配所有的日志消息。
#@@表示使用TCP协议。
#192.168.0.1:514为日志转发的目标服务器,可根据自身需要进行修改
- 使用UDP协议转发
# remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional
*.* @192.168.0.1:514
- 如果需要对转发日志进行筛选,比如发送包含’FortiGate’的日志消息到192.168.0.1的514端口,可按以下格式进行配置
# remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional
if $msg contains 'FortiGate' then @192.168.0.1:514
3.修改任何配置都需要重启rsyslog服务才会生效
service rsyslog restart
或者
systemctl restart rsyslog