Rsyslog 是基于 Unix 的操作系统的开源软件工具,用于从多个网络设备收集日志消息。它帮助系统管理员从中心点关注所有服务器。Rsyslog 工作在客户端/服务器模型中,它通过 TCP/UDP 协议在端口 514 上接收来自远程客户端的日志。
在 Ubuntu 20.04 LTS Focal Fossa 上设置 Rsyslog
步骤 1. 首先,通过apt
在终端中运行以下命令确保所有系统包都是最新的。
sudo apt update
sudo apt upgrade
步骤 2. 在 Ubuntu 20.04 上安装 Rsyslog。
默认情况下,Rsyslog 现在可在 Ubuntu 基础存储库中使用。现在我们运行以下命令在您的系统上安装 Rsyslog 服务器包:
sudo apt install rsyslog
安装完成后,启动并启用 Rsyslog 服务:
sudo systemctl start rsyslog
sudo systemctl enable rsyslog
sudo systemctl status rsyslog
步骤 3. 配置 Rsyslog。
现在是时候转到文件,取消注释并更改一些行以在服务器模式下运行 Rsyslog 服务:rsyslog.conf
nano /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")
之后,添加以下行以定义模板以存储来自客户端系统的传入日志:
$template remote-incoming-logs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log" *.* ?remote-incoming-logs
保存并关闭,然后重新启动 Rsyslog 服务以使更改生效:
sudo systemctl restart rsyslog
步骤 4. 配置防火墙。
如果防火墙正在运行,请通过它打开 Rsyslog:
ufw allow 514/tcp ufw allow 514/udp ufw reload
步骤 5. 将 Rsyslog 配置为客户端。
现在,您需要配置 Rsyslog 客户端以将 Syslog 消息发送到远程 Rsyslog 服务器:
nano /etc/rsyslog.conf
添加以下行:
#Enable sending system logs over UDP to rsyslog server *.* @rsyslog-server-ip:514 #Enable sending system logs over TCP to rsyslog server *.* @@rsyslog-server-ip:514
##Set disk queue when rsyslog server will be down: $ActionQueueFileName queue $ActionQueueMaxDiskSpace 1g $ActionQueueSaveOnShutdown on $ActionQueueType LinkedList $ActionResumeRetryCount -1
保存并关闭文件,然后重新启动 Rsyslog 服务以应用更改:
sudo systemctl restart rsyslog
所有客户端的日志文件都存储在服务器上的目录中。您应该会看到包含客户端计算机主机名的条目,包括几个日志文件:/var/log
ls -l /var/log/
感谢您使用本教程在 Ubuntu 20.04 LTS Focal Fossa 系统上安装 Rsyslog。如需其他帮助或有用信息,我们建议您查看官方 Rsyslog 网站。