在CentOS上搭建一个syslog服务器,可以使用rsyslog服务
- 安装rsyslog:
sudo yum install rsyslog
-
编辑配置文件
/etc/rsyslog.conf
,确保以下设置:确保服务器监听在UDP 514端口上:
$ModLoad imudp
$UDPServerRun 514
禁止本地日志记录,只接受远程日志,配置日志文件的存储位置:
所有的日志事件都会按照RSYSLOG_TraditionalFileFormat指定的格式输出到/var/log/rsyslog/
下的指定文件
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$template Remote,"/var/log/syslog/%HOSTNAME%/%PROGRAM%.log"
# 所有日志发送到Remote定义的文件中
*.* ?Remote
~
# 需要引入的自定义配置文件的路径
$IncludeConfig /etc/rsyslog.d/*.conf
- 重启rssyslog服务以应用更改:
sudo systemctl restart rsyslog
- 如果有防火墙(如firewalld),允许514端口的UDP流量:
sudo firewall-cmd --permanent --add-port=514/udp
sudo firewall-cmd --reload
现在,客户端应该开始将日志转发到syslog服务器。服务器将接收到的日志保存在/var/log/syslog/目录下,按不同的客户端和服务分类。
rsyslog官网:https://www.rsyslog.com/doc/index.html