配置环境
我们有两台服务器,一台作为 rsyslog 服务器,另一台作为 rsyslog 客户端。
rsyslog 服务器 | rsyslog 客户端 | |
---|---|---|
主机名: | rsyslog-server.onitroad.com | rsyslog-client.onitroad.com |
IP 地址: | 192.168.113.10/24 | 192.168.113.11/24 |
操作系统: | CentOS 7.6 | CentOS 7.6 |
在 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
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 。