首页/系统/Linux 运维命令速查/rsyslog 远程日志集中收集

rsyslog 远程日志集中收集

多机日志集中到日志服务器:服务端开 514/tcp(现代更推荐 RELP/TLS),客户端配 *.* @@host:514 转发;集中后才能做关联分析。

Linux 运维命令速查系统更新于 2026-10-13

远程日志集中是怎么搭的

rsyslog 把多台机器的日志汇到一台日志服务器:客户端用 omfwd 转发(UDP 写单个 @,TCP 写 @@),服务端用 imtcp/imudp 接收并按主机名或程序名分文件落盘。集中之后才有条件做跨机关联分析。514 是 syslog 的标准端口,但传统 syslog 是明文传输,可能携带用户名、命令等敏感信息,跨公网必须加 TLS 或走内网专线。

基本信息

适用平台Linux(rsyslog 多为默认组件,注意与 syslog-ng 互斥)
服务端模块imtcp、imudp、imrelp
客户端模块omfwd(转发)、omrelp(可靠传输)
配置位置/etc/rsyslog.conf 与 /etc/rsyslog.d/*.conf
端口514/udp 与 514/tcp;RELP 常用 20514
推荐TCP(@@) 优于 UDP(@),跨公网加 TLS

典型使用场景

  • 多台 Web 服务器日志集中留存,便于排查跨机请求链路
  • 合规要求日志集中存储与保留期限管理
  • 临时排障时集中观察所有节点日志(本地与远程双写)
  • 作为采集层把日志统一转发到 ELK/SIEM 等平台
  • 单机磁盘较小,把日志实时外送到大容量日志机

服务端与客户端

服务端与客户端
# 服务端 /etc/rsyslog.d/10-collect.conf
module(load="imtcp")                 # 加载 TCP 接收模块
input(type="imtcp" port="514")       # 监听 514;生产务必限制来源网段
$template PerHost,"/var/log/remote/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?PerHost                         # 按主机名与程序名分目录落盘
firewall-cmd --permanent --add-port=514/tcp && firewall-cmd --reload

# 客户端 /etc/rsyslog.d/90-remote.conf
*.* @@10.0.0.20:514                  # @@ 表示 TCP;单个 @ 是 UDP
# 只发指定设施:*.info;mail.none;authpriv.none  @@10.0.0.20:514
sudo systemctl restart rsyslog
logger -p user.info 'remote test'    # 在服务端 tail 验证端到端链路

传输方式对照

写法/方式协议取舍
@host:514UDP开销小但会静默丢日志(接收忙或网络拥塞时)
@@host:514TCP可靠有序、断线可重连,建议作为默认选择
omrelp / imrelpRELP带确认的可靠传输,更稳;服务端也要配对且用非标准端口
StreamDriver(TLS)TLS跨公网必须启用;需要管理证书,配置复杂度上升
本地文件 + 远程双写本地与转发并行远程链路故障时仍有本地副本,排查更安心
服务端接收量与磁盘要单独规划:所有主机日志合流后写入量是单机的多倍,写满会同时影响全部节点的排查能力,建议配 logrotate 与独立分区(或专门的日志存储)。
明文 syslog 里可能包含用户名、命令行与邮箱地址。跨不可信网络必须启用 TLS,至少也要限制来源 IP 并走内网专线。

易错点

  • 把 @@ 写成 @ 或相反:UDP 丢日志且没有任何告警,表现为“某些日志就是查不到”
  • 只改客户端不验证:服务端没开 imtcp 或防火墙没放行时配置看着都对,却一条都收不到,要用 logger 做端到端验证
  • 模板路径里主机名为空或含异常字符:落盘失败,日志写不进去;必要时改用 %FROMHOST-IP% 兜底
  • 集中日志服务器与业务共用同一块小盘:写满后所有节点同时失去集中排查能力,还可能拖累业务

数据来源与参考

  • rsyslog 官方文档(imtcp/omfwd)
  • man 5 rsyslog.conf

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌