企业级中央日志服务器需通过rsyslog实现稳定接收、结构化存储、高效检索与合规保留,涵盖udp/tcp双协议监听、按源ip自动分类归档、logrotate轮转与磁盘保护、多平台客户端统一接入。

构建企业级中央日志服务器,核心在于让 rsyslog 服务端稳定接收、结构化存储、便于检索和长期合规保留。它不是简单打开 514 端口,而是需要兼顾协议选择、目录组织、资源控制和基础防护。
服务端监听配置:UDP 和 TCP 的取舍
UDP 轻量、低延迟,适合日志量大但允许少量丢失的场景(如网络设备常规状态日志);TCP 可靠、有序,适合关键系统日志(如安全审计、支付交易类),能避免丢包和乱序。生产环境建议两者都启用,按日志类型分流:
- 取消
/etc/rsyslog.conf中这两行注释:$ModLoad imudp$UDPServerRun 514$ModLoad imtcp$InputTCPServerRun 514 - 防火墙需放行 UDP/TCP 514 端口(如 firewalld 执行:
firewall-cmd --permanent --add-port=514/udp和--add-port=514/tcp) - 若启用 TLS 加密传输(推荐用于跨公网或高安全要求场景),需额外加载
imtcp的 TLS 模块并配置证书路径
日志分类存储:按来源自动归档
避免所有日志混在同一个文件里,应按客户端 IP 或主机名自动分离,方便定位与审计。推荐使用模板 + 条件过滤方式:
- 在
/etc/rsyslog.d/10-remote.conf中添加: $template RemoteLogs,"/var/log/rsyslog/%fromhost-ip%/%$YEAR%-%$MONTH%-%$DAY%.log"*.* ?RemoteLogs-
:fromhost-ip, !isequal, "127.0.0.1" ~(排除本机日志,只处理远程) - 提前创建父目录并设置权限:
mkdir -p /var/log/rsyslog && chown syslog:adm /var/log/rsyslog - 注意:
%fromhost-ip%可能被伪造,内网环境更建议配合%hostname%或结合 TLS 客户端证书做身份校验
日志轮转与磁盘保护:防止撑爆存储
集中日志增长极快,必须配置自动轮转和空间限制,否则服务可能因磁盘满而中断:
- 使用 logrotate 管理
/var/log/rsyslog/**/*,示例配置存于/etc/logrotate.d/rsyslog-remote: /var/log/rsyslog/*/*.log {<br> daily<br> rotate 30<br> compress<br> missingok<br> notifempty<br> create 644 syslog adm<br>}- 在 rsyslog 主配置中加入磁盘保护机制:
$SystemMaxFileSize 2g(单文件上限)、$SystemMaxFiles 100(最多保留文件数) - 对高频日志源(如数据库、中间件),可单独设置限速:
$RateLimit.Interval 60和$RateLimit.Burst 1000
客户端对接:Linux、网络设备、Windows 统一接入
不同设备发送日志的方式略有差异,但目标一致:把日志可靠推送到中央服务器 IP 和端口:
- Linux 客户端:在
/etc/rsyslog.conf末尾加一行,如*.* @@192.168.10.100:514(TCP)或*.* @192.168.10.100:514(UDP) - 华为/思科交换机:命令类似
info-center loghost 192.168.10.100,确认使用 UDP/TCP 并设好日志级别(如 debugging 或 informational) - Windows:需安装第三方工具(如 NXLog、Snare)或启用 Windows Event Forwarding(WEF)+ syslog 转发器,不原生支持标准 syslog 协议
- 所有客户端配置后,执行
systemctl restart rsyslog(Linux)或对应服务重启命令











