在CentOS 7上设置集中式rsyslog服务器

时间:2020-03-21 11:47:03  来源:igfitidea点击:

本教程介绍了如何在CentOS 7上设置集中式rsyslog服务器以管理客户端系统的日志从公共场所。
我们不必在要检查客户端系统的日志文件时访问客户端系统。
如果我们在网络上有大量系统并且希望从集中式专用日志服务器执行日志管理,这可能很有用。

出于本教程的目的,我将使用两个系统,一个系统作为rsyslog服务器,以及其他充当客户端。
以下是我的测试盒的详细信息。

rsyslog服务器:

  • OS:CentOS 7最小版本
  • IP地址:192.168.43.150/24
  • hostname:logserver.theitroad.local.local.

客户系统:

  • OS:CentOS 7最小版本
  • IP地址:192.168.43.151

首先,让我们设置Ryslog服务器。

在CentOS 7上设置集中式rsyslog服务器

使用CentOS 7 Minimal Server Edition测试本教程。
但是,它应该适用于Rhel,Fedora,科学Linux等所有RPM的分布。

下面给出的所有命令都应该以root用户身份运行。

如果未安装,则安装rsyslog包。

# yum install rsyslog

然后,编辑rsyslog配置文件:

# vi /etc/rsyslog.conf

查找并取消注释以下内容以使服务器侦听UDP和TCP端口。

[...]
$ModLoad imudp
$UDPServerRun 514
[...]
$ModLoad imtcp
$InputTCPServerRun 514
[...]

点击ESC键并键入:WQ以保存和关闭文件。

允许防火墙/路由器上的rsyslog默认端口514.
以下命令将通过防火墙打开此端口。

# firewall-cmd --permanent --add-port=514/udp
# firewall-cmd --permanent --add-port=514/tcp

重新启动防火墙服务以生效更改。

# firewall-cmd --reload

最后,启用并启动rsyslog服务:

# systemctl enable rsyslog
# systemctl start rsyslog

检查Resyslog服务是否正在运行或者不使用命令:

# systemctl status rsyslog

如果你看到一个物品喜欢下面,恭喜! rsyslog服务器已启动和工作!

● rsyslog.service - System Logging Service
 Loaded: loaded (/usr/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled)
 Active: active (running) since Thu 2016-03-23 16:30:11 IST; 17min ago
 Main PID: 2490 (rsyslogd)
 CGroup: /system.slice/rsyslog.service
 └─2490 /usr/sbin/rsyslogd -n
Mar 23 16:30:11 logserver.theitroad.local systemd[1]: Starting System Logging...
Mar 23 16:30:11 logserver.theitroad.local systemd[1]: Started System Logging ...
Hint: Some lines were ellipsized, use -l to show in full

我们可以使用命令查看服务器本身的日志详细信息:

# tail -10 /var/log/messages

此命令将显示日志消息的最后十行。

客户端配置

使用命令将rsyslog安装为root用户:

# yum install rsyslog

然后,编辑rsyslog配置文件:

# vi /etc/rsyslog.conf

在##规则#指令部分下,添加以下行:

*.* @192.168.43.150:514

或者,只需将此线放在最后。
这将记录所有内容并将日志文件发送到rsyslog服务器。

我们还可以记录特定项目。
例如,要登录Cron填充,请添加以下行:

cron.* @192.168.43.150:514

要记录所有邮件,请添加:

mail.* @192.168.43.150:514

我想记录一切,所以我添加了以下行。

*.* @192.168.43.150:514

我们还可以提及rsyslog服务器的FQDN而不是IP地址。

保存并关闭rsyslog配置文件。

最后,启用并启动rsyslog服务:

# systemctl enable rsyslog
# systemctl start rsyslog

同样,我们可以配置我们想要的客户端。
监视日志。

下载 - 免费电子书:"GNU/Linux高级管理"

测试日志消息

在客户端系统上运行任何内容。

我将使用Logger命令手动向系统日志文件添加一个条目。

# logger -i -t theitroad "This is our first log test."

现在,转到rsyslog服务器计算机并检查此日志是否已找到。

# tail -l /var/log/messages

现在,我们将从服务器中记录客户端系统。

Mar 23 17:30:29 client rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="2953" x-info="http://www.rsyslog.com"] start
Mar 23 17:30:29 client systemd: Stopping System Logging Service...
Mar 23 17:30:29 client systemd: Starting System Logging Service...
Mar 23 17:30:29 client systemd: Started System Logging Service.
Mar 23 17:30:34 logserver rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="2520" x-info="http://www.rsyslog.com"] exiting on signal 15.
Mar 23 17:30:34 logserver rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="2542" x-info="http://www.rsyslog.com"] start
Mar 23 17:30:34 logserver systemd: Stopping System Logging Service...
Mar 23 17:30:34 logserver systemd: Starting System Logging Service...
Mar 23 17:30:34 logserver systemd: Started System Logging Service.
Mar 23 17:31:35 client theitroad[2959]: This is our first log test.

rsyslog服务器和客户端配置完成。
正如我们在本教程中所看到的,设置基本rsyslog服务器非常容易。