如何在Linux中配置具体的日志远程同步转发
作者:WarmHope
时间:2026-08-11
浏览:0
大多数情况下,rsyslog 日志发不出去,根子都在这几类问题上:默认没有启用 UDP/TCP 模块,或者被防火墙、SELinux 直接拦住了。更稳妥的做法是,先执行 rsyslogd -N1,确认 imudp、imtcp 是否已经加载;如果没加载,就在配置文件开头补上 module(load="i
大多数情况下,rsyslog 日志发不出去,根子都在这几类问题上:默认没有启用 UDP/TCP 模块,或者被防火墙、SELinux 直接拦住了。更稳妥的做法是,先执行 rsyslogd -N1,确认 imudp、imtcp 是否已经加载;如果没加载,就在配置文件开头补上 module(load="imudp") 和 module(load="imtcp"),同时把对应的 input 规则一并配好。

rsyslog 配置远程转发时,为什么日志发不出去?
绝大多数情况是 rsyslog 默认没启用 UDP/TCP 网络模块,或防火墙/SELinux 拦截了连接。确认配置前先检查模块是否加载:
- 运行
rsyslogd -N1,若报错imudp或imtcpnot found,说明对应模块未加载 - 在
/etc/rsyslog.conf或/etc/rsyslog.d/50-default.conf开头添加:module(load="imudp")
input(type="imudp" port="514")
module(load="imtcp")
input(type="imtcp" port="514") - UDP 转发不保证可靠,生产环境建议用 TCP(加
@@前缀),但需确保接收端也监听 TCP
如何把特定 facility 的日志单独发到远程服务器?
不能只靠全局 *.* @@remote:514,否则所有日志混在一起。要用规则匹配 + 模板 + 动作分离:
- 定义模板避免时间戳/主机名格式不一致:
template(name="RemoteFormat" type="string" string="%protocol-version% %timestamp:::date-rfc3339% %hostname% %app-name% %procid% %msg%n")
- 按 facility 过滤并绑定模板:
if $syslogfacility-text == 'auth' then {
action(type="omfwd" target="192.168.10.20" port="514" protocol="tcp" template="RemoteFormat")
} $syslogfacility-text是字符串值(如auth、daemon),不是数字;用==比较,不要用=~正则除非必要
journalctl 日志能否直接远程转发?
不能直接转发,systemd-journald 不提供原生网络输出。必须通过 rsyslog 或 syslog-ng 接入:
- 确保
/etc/rsyslog.conf中有$ModLoad imjournal(rsyslog v8+) - 重启
rsyslog后,journal 日志会自动注入 rsyslog 流程,再按前述规则转发 - 若发现 journal 日志缺失,检查
imjournal是否启用,以及/run/systemd/journal/dev-log权限是否为srw-rw---- systemd-journal - 注意:journal 的
_HOSTNAME和SYSLOG_IDENTIFIER字段会被映射为 rsyslog 的$hostname和$programname,可用于过滤
远程转发失败时,怎么快速定位是哪一环断了?
别只盯着 rsyslog 配置,分层验证更省时间:
- 本地测试:用
logger -p auth.info "test msg"发一条日志,然后tail -f /var/log/syslog看是否生成 → 排除应用层问题 - 本地收发测试:在本机启动临时接收端
nc -u -l -p 514(UDP)或nc -l -p 514(TCP),再发日志看能否收到 → 判断 rsyslog 输出是否生效 - 网络连通性:用
telnet 192.168.10.20 514(TCP)或nc -u 192.168.10.20 514(UDP)测端口 → 确认防火墙和路由 - 接收端检查:远程服务器上运行
ss -tuln | grep :514,确认监听的是0.0.0.0:514而非127.0.0.1:514
最容易被忽略的是接收端的 bind 地址和 SELinux 的 syslogd_port_t 上下文——哪怕端口开着,SELinux 也可能静默丢包。
作者最新文章
思源笔记
2026-09-16 17:42
在线PDF转TXT操作步骤与乱码排查指南
2026-09-04 13:02
PDF加水印后如何检查显示效果?在线工具操作步骤与避坑指南
2026-09-03 13:02
Xshell保持连接不断开及会话文件本地存储路径详解
2026-09-03 06:02
两个PDF怎么合并成一个?在线合并后怎么检查顺序?
2026-09-02 20:00
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多

































