温馨提示×

Ubuntu syslog如何开启远程

小樊
33
2026-08-27 06:22:03
栏目: 智能运维

在 Ubuntu 上开启 rsyslog 远程日志(Remote Syslog) 通常有两种常见方式:

  • UDP(默认 514):简单、快,但不加密、不可靠
  • TCP(默认 514/6514):更可靠,常用于生产环境

下面以 rsyslog 为例,分别说明 发送端(客户端)接收端(服务器) 的配置。


一、接收端(日志服务器)配置

1. 安装 rsyslog(一般已安装)

sudo apt update
sudo apt install rsyslog

2. 启用 UDP / TCP 接收模块

编辑配置文件:

sudo vim /etc/rsyslog.conf

取消以下行的注释(或添加):

启用 UDP 接收

module(load="imudp")
input(type="imudp" port="514")

启用 TCP 接收

module(load="imtcp")
input(type="imtcp" port="514")

建议生产环境使用 TCP


3. 允许防火墙端口(如有 UFW)

UDP

sudo ufw allow 514/udp

TCP

sudo ufw allow 514/tcp

4. 重启 rsyslog

sudo systemctl restart rsyslog

5. 验证监听端口

ss -lntup | grep 514

二、发送端(客户端)配置

1. 编辑 rsyslog 配置

sudo vim /etc/rsyslog.d/remote.conf

2. 添加远程日志服务器

使用 UDP

*.* @192.168.1.10:514

使用 TCP(推荐)

*.* @@192.168.1.10:514

说明:

  • @ = UDP
  • @@ = TCP

3. 重启 rsyslog

sudo systemctl restart rsyslog

三、验证远程日志是否生效

在服务器上查看日志

tail -f /var/log/syslog

在客户端发送测试日志

logger "test remote syslog message"

四、按主机或程序分离日志(可选)

服务器端示例

$template RemoteLogs,"/var/log/remote/%HOSTNAME%.log"
*.* ?RemoteLogs
& stop

创建目录:

sudo mkdir -p /var/log/remote
sudo chown syslog:adm /var/log/remote

五、常见问题排查

1. 日志没到服务器

  • 检查端口是否监听
  • 检查防火墙
  • 确认客户端使用的是 @@@
  • 使用 tcpdump 抓包

2. SELinux(Ubuntu 一般不用)

Ubuntu 默认不启用 SELinux,可忽略。


六、安全建议(生产环境)

✅ 使用 TCP + TLS(6514)
✅ 限制来源 IP
✅ 使用日志服务器(ELK / Graylog / Loki)
✅ 不直接暴露 UDP 514 到公网


如果你需要:

  • rsyslog over TLS
  • Ubuntu 22.04 / 24.04 特定配置
  • 与 systemd-journald 配合
  • 对接 ELK / Graylog

可以直接告诉我你的使用场景。

0