CentOS配置syslog服务器
Syslog(System Logging Protocol)是一种标准化的日志记录工具,用于收集和存储系统日志信息。配置Syslog服务器可以集中管理多个设备和应用程序的日志,以便于监控、分析和故障排查。
安装 rsyslog
rsyslog 是 syslog 的增强版,支持多种输入和输出模块,功能强大且性能优异。
一般 CentOS 系统会预装 rsyslog,可以检查一下是否安装:
rpm -qa | grep rsyslog
若未安装则需要手动安装:
yum install rsyslog -y
配置 rsyslog
默认情况下,rsyslog 仅在本地记录日志。要使其能够接收远程日志,需要编辑配置文件并启用相应的模块。
/etc/rsyslog.conf 文件中找到如下配置取消注释(删除#):
# Provides UDP syslog reception
module(load="imudp")
input(type="imudp" port="514")
# Provides TCP syslog reception
module(load="imtcp")
input(type="imtcp" port="514")
注:imudp 和 imtcp 模块分别用于接收 UDP 和 TCP 协议的 syslog 消息。port="514" 指定 syslog 的默认端口号为 514。
可以根据日志的来源、级别等信息将日志存储到不同的文件中。继续编辑 /etc/rsyslog.conf,添加如下配置:
$template RemoteLogs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?RemoteLogs
注:$template 定义了日志文件的存储路径模板,%HOSTNAME% 和 %PROGRAMNAME% 分别表示日志来源的主机名和程序名。*.* ?RemoteLogs 表示将所有级别的日志按模板存储。
配置完成后,重启 rsyslog 服务
systemctl restart rsyslog
如果服务器开启了防火墙的话,需要开放514端口。
然后客户端就可以发送日志消息到 syslog 服务器了,检查 /var/log/ 目录下是否有来自客户端的日志文件。

浙公网安备 33010602011771号