服务器配置
备份 rsyslog 文件配置
jack@onitroad:~$cp /etc/rsyslog.conf /etc/rsyslog.conf.orig
打开rsyslog文件配置
jack@onitroad:~$vi /etc/rsyslog.conf
查找并取消注释以下行,使服务器侦听 udp 和 tcp 端口。
[...] # provides UDP syslog reception module(load="imudp") input(type="imudp" port="514") [...] # provides TCP syslog reception module(load="imtcp") input(type="imtcp" port="514") [...]
创建一个模板文件,我们将在 /etc/rsyslog.d/目录下创建一个新的自定义日志格式
[jack@onitroad ~]# vi /etc/rsyslog.d/tmpl.conf
添加以下几行:
$template TmplAuth, "/var/log/client_logs/%HOSTNAME%/%PROGRAMNAME%.log" $template TmplMsg, "/var/log/client_logs/%HOSTNAME%/%PROGRAMNAME%.log" authpriv.* ?TmplAuth *.info;mail.none;authpriv.none;cron.none ?TmplMsg
保存并关闭文件。
在防火墙上允许 Rsyslog 默认端口 514.
以下命令将通过 UFW 打开此端口。
[jack@onitroad ~]# sudo ufw allow 514/tcp [jack@onitroad ~]# sudo ufw allow 514/udp
重新启动 UFW 服务以使更改生效。
[jack@onitroad ~]# sudo ufw reload
最后使用以下命令重新加载 Rsyslog 服务
[jack@onitroad ~]# systemctl restart rsyslog
客户端配置
备份 rsyslog 文件配置
[jack@onitroad ~]# cp /etc/rsyslog.conf /etc/rsyslog.conf.orig
打开rsyslog文件配置
[jack@onitroad ~]# vi /etc/rsyslog.conf
在 ##RULES## 指令部分下,添加以下行:
[...] ##RULES## *.* @192.168.1.200:514 [...]
最后使用以下命令重新加载 Rsyslog 服务
[jack@onitroad ~]# systemctl restart rsyslog
让我们使用以下命令将消息记录到标准错误(屏幕)以及系统日志中:
[jack@onitroad ~]# logger -s " This is my Rsyslog client "
现在转到目录 /var/log/Client_logs 下的 Rsyslog 服务器,我们应该会看到一个以 Rsyslog 客户端主机名命名的新文件夹:
[jack@onitroad ~]# ls -l /var/log/client_logs/server01/ total 12 -rw-r----- 1 syslog adm 43 Jun 13 20:39 root.log -rw-r----- 1 syslog adm 307 Jun 13 20:34 su.log -rw-r----- 1 syslog adm 82 Jun 13 20:34 unix_chkpwd.log
环境:
我们将使用 2 台 Ubuntu 16.04 服务器,一台作为 rsyslog 服务器,另一台作为客户端。
Rsyslog 服务器:
操作系统:Ubuntu 16.04 LTS
IP 地址:192.168.1.200
主机名:logserver.onitroad.com
客户端服务器:
操作系统:Ubuntu 16.04 LTS
IP 地址:192.168.1.201
主机名:server01.onitroad.com
今天,我们将解释如何在 Ubuntu 16.04 LTS 上使用 Rsyslog 设置集中式日志服务器,以从公共位置管理客户端系统的日志。
当我们要检查客户端系统的日志文件时,我们不必访问客户端系统。
如果网络上有大量系统并希望从集中式专用日志服务器进行日志管理,这将非常有用。