配置环境

我们有两台服务器,一台作为 rsyslog 服务器,另一台作为 rsyslog 客户端。

rsyslog 服务器rsyslog 客户端
主机名:rsyslog-server.onitroad.comrsyslog-client.onitroad.com
IP 地址:192.168.113.10/24192.168.113.11/24
操作系统:CentOS 7.6CentOS 7.6
之路教程 https://onitr oad .com

在 CentOS 7 上配置 rsyslog 服务器

rsyslog 默认安装在包括 CentOS 7 在内的大多数 Linux 发行版上。

检查 rsyslog.service 的状态。

[root@rsyslog-server ~]# systemctl status rsyslog.service
rsyslog.service - System Logging Service
   Loaded: loaded (/usr/lib/systemd/system/rsyslog.service; enabled)
   Active: active (running) since Sat 2018-08-11 21:15:52 PDT; 27min ago
 Main PID: 759 (rsyslogd)
   CGroup: /system.slice/rsyslog.service
           ->->759 /usr/sbin/rsyslogd -n
Aug 11 21:15:52 rsyslog-server.onitroad.com systemd[1]: Started System Logging Serv...
Hint: Some lines were ellipsized, use -l to show in full.

我们的 CentOS 7 服务器上已经安装了 rsyslog,并且它的服务已经启动。

现在我们正在配置 rsyslog 设置以接受来自其他机器的输入。

[root@rsyslog-server ~]# vi /etc/rsyslog.conf

查找并取消注释以下两个指令。

$ModLoad imtcp
$InputTCPServerRun 514

保存设置并重新启动 rsyslog.service 。

[root@rsyslog-server ~]# systemctl restart rsyslog.service

在 Linux 防火墙中允许 rsyslog 服务端口。

[root@rsyslog-server ~]# firewall-cmd --permanent --add-port=514/tcp
success
[root@rsyslog-server ~]# firewall-cmd --reload
success
在 RHEL/CentOS 7 中配置集中式 Syslog 服务器

rsyslog 负责 CentOS 7 中的日志处理。
rsyslog 是“Rocket Fast System for Log processing”的缩写。
rsyslog 提供高性能、强大的安全功能和模块化设计。
它可以接受来自各种来源的输入,对其进行转换并将结果输出到不同的目的地。

在本文中,我们将在 CentOS 7 上使用 rsyslog 配置一个中央日志服务器,然后我们将配置 CentOS 7 客户端将其本地日志提交到这个基于 rsyslog 的中央日志服务器。

在 CentOS 7 上配置 rsyslog 客户端

检查 rsyslog.service 的状态。

[root@rsyslog-client ~]# systemctl status rsyslog.service
rsyslog.service - System Logging Service
   Loaded: loaded (/usr/lib/systemd/system/rsyslog.service; enabled)
   Active: active (running) since Sun 2018-08-12 02:16:31 PDT; 4h 6min left
 Main PID: 742 (rsyslogd)
   CGroup: /system.slice/rsyslog.service
           ->->742 /usr/sbin/rsyslogd -n
Aug 12 02:16:31 rsyslog-client.onitroad.com systemd[1]: Started System Logging Service.
Hint: Some lines were ellipsized, use -l to show in full.

rsyslog 服务已经安装并运行在我们基于 CentOS 7 的客户端机器上。

现在通过在 /etc/rsyslog.conf 中添加以下指令来配置 rsyslog 客户端以将其日志传输到我们的 rsyslog 服务器

[root@rsyslog-client ~]# echo "*.* @@rsyslog-server.onitroad.com:514" >> /etc/rsyslog.conf

重新启动 rsyslog.service 使更改生效。

[root@rsyslog-client ~]# systemctl restart rsyslog.service

现在连接到我们的 rsyslog 服务器并检查 /var/log/messages

[root@rsyslog-server ~]# tail /var/log/messages
Aug 11 22:31:28 rsyslog-server systemd: Closed ipa-otpd socket.
Aug 11 22:31:28 rsyslog-server systemd: Stopping 389 Directory Server EXAMPLE-COM....
Aug 11 22:31:29 rsyslog-server systemd: Stopped 389 Directory Server EXAMPLE-COM..
Aug 11 22:31:29 rsyslog-server systemd: Stopping 389 Directory Server.
Aug 11 22:31:29 rsyslog-server systemd: Stopped target 389 Directory Server.
Aug 11 22:33:32 rsyslog-client rsyslogd: [oroirn software="rsyslogd" swVersion="7.4.7" x-pid="3063" x-info="http://www.rsyslog.com"] start
Aug 11 22:33:32 rsyslog-client systemd: Stopping System Logging Service...
Aug 11 22:33:32 rsyslog-client systemd: Starting System Logging Service...
Aug 11 22:33:32 rsyslog-client systemd: Started System Logging Service.
Aug 11 22:33:56 rsyslog-client systemd-logind: Removed session 16.
[root@rsyslog-server ~]#

我们可以看到 rsyslog-client.onitroad.com 正在将其日志转发到 rsyslog-server.onitroad.com 。

日期:2020-09-17 00:12:51 来源:oir作者:oir