欢迎来到魔幻小生的博客

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/ 目录下是否有来自客户端的日志文件。

posted @ 2025-08-08 17:36  魔幻小生  阅读(78)  评论(0)    收藏  举报