如何在CentOS8/RHEL8中配置Rsyslog服务器

开源
Rsyslog 是一个自由开源的日志记录程序,在 CentOS 8 和 RHEL 8 系统上默认可用。让我们来探讨如何在 CentOS 8 / RHEL 8 系统中配置 Rsyslog 服务器。

[[280503]]

Rsyslog 是一个自由开源的日志记录程序,在 CentOS 8 和 RHEL 8 系统上默认可用。它提供了一种从客户端节点到单个中央服务器的“集中日志”的简单有效的方法。日志集中化有两个好处。首先,它简化了日志查看,因为系统管理员可以在一个中心节点查看远程服务器的所有日志,而无需登录每个客户端系统来检查日志。如果需要监视多台服务器,这将非常有用,其次,如果远程客户端崩溃,你不用担心丢失日志,因为所有日志都将保存在中心的 Rsyslog 服务器上。rsyslog 取代了仅支持 UDP 协议的 syslog。它以优异的功能扩展了基本的 syslog 协议,例如在传输日志时支持 UDP 和 TCP 协议,增强的过滤功能以及灵活的配置选项。让我们来探讨如何在 CentOS 8 / RHEL 8 系统中配置 Rsyslog 服务器。

configure-rsyslog-centos8-rhel8

预先条件

我们将搭建以下实验环境来测试集中式日志记录过程:

  • Rsyslog 服务器       CentOS 8 Minimal    IP 地址: 10.128.0.47
  • 客户端系统          RHEL 8 Minimal      IP 地址: 10.128.0.48

通过上面的设置,我们将演示如何设置 Rsyslog 服务器,然后配置客户端系统以将日志发送到 Rsyslog 服务器进行监视。

让我们开始!

在 CentOS 8 上配置 Rsyslog 服务器

默认情况下,Rsyslog 已安装在 CentOS 8 / RHEL 8 服务器上。要验证 Rsyslog 的状态,请通过 SSH 登录并运行以下命令:

  1. $ systemctl status rsyslog

示例输出:

rsyslog-service-status-centos8

如果由于某种原因 Rsyslog 不存在,那么可以使用以下命令进行安装:

  1. $ sudo yum install rsyslog

接下来,你需要修改 Rsyslog 配置文件中的一些设置。打开配置文件:

  1. $ sudo vim /etc/rsyslog.conf

滚动并取消注释下面的行,以允许通过 UDP 协议接收日志:

  1. module(load="imudp") # needs to be done just once
  2. input(type="imudp" port="514")

rsyslog-conf-centos8-rhel8

同样,如果你希望启用 TCP rsyslog 接收,请取消注释下面的行:

  1. module(load="imtcp") # needs to be done just once
  2. input(type="imtcp" port="514")

rsyslog-conf-tcp-centos8-rhel8

保存并退出配置文件。

要从客户端系统接收日志,我们需要在防火墙上打开 Rsyslog 默认端口 514。为此,请运行:

  1. # sudo firewall-cmd --add-port=514/tcp --zone=public --permanent

接下来,重新加载防火墙保存更改:

  1. # sudo firewall-cmd --reload

示例输出:

firewall-ports-rsyslog-centos8

接下来,重启 Rsyslog 服务器:

  1. $ sudo systemctl restart rsyslog

要在启动时运行 Rsyslog,运行以下命令:

  1. $ sudo systemctl enable rsyslog

要确认 Rsyslog 服务器正在监听 514 端口,请使用 netstat 命令,如下所示:

  1. $ sudo netstat -pnltu

示例输出:

netstat-rsyslog-port-centos8

我们已经成功配置了 Rsyslog 服务器来从客户端系统接收日志。

要实时查看日志消息,请运行以下命令:

  1. $ tail -f /var/log/messages

现在开始配置客户端系统。

在 RHEL 8 上配置客户端系统

与 Rsyslog 服务器一样,登录并通过以下命令检查 rsyslog 守护进程是否正在运行:

  1. $ sudo systemctl status rsyslog

示例输出:

client-rsyslog-service-rhel8

接下来,打开 rsyslog 配置文件:

  1. $ sudo vim /etc/rsyslog.conf

在文件末尾,添加以下行:

  1. *.* @10.128.0.47:514 # Use @ for UDP protocol
  2. *.* @@10.128.0.47:514 # Use @@ for TCP protocol

保存并退出配置文件。就像 Rsyslog 服务器一样,打开 514 端口,这是防火墙上的默认 Rsyslog 端口:

  1. $ sudo firewall-cmd --add-port=514/tcp --zone=public --permanent

接下来,重新加载防火墙以保存更改:

  1. $ sudo firewall-cmd --reload

接下来,重启 rsyslog 服务:

  1. $ sudo systemctl restart rsyslog

要在启动时运行 Rsyslog,请运行以下命令:

  1. $ sudo systemctl enable rsyslog

测试日志记录操作

已经成功安装并配置 Rsyslog 服务器和客户端后,就该验证你的配置是否按预期运行了。

在客户端系统上,运行以下命令:

  1. # logger "Hello guys! This is our first log"

现在进入 Rsyslog 服务器并运行以下命令来实时查看日志消息:

  1. # tail -f /var/log/messages

客户端系统上命令运行的输出显示在了 Rsyslog 服务器的日志中,这意味着 Rsyslog 服务器正在接收来自客户端系统的日志:

centralize-logs-rsyslogs-centos8

 

就是这些了!我们成功设置了 Rsyslog 服务器来接收来自客户端系统的日志信息。

 

责任编辑:庞桂玉 来源: Linux中国
相关推荐

2019-09-27 08:52:12

RHELCentOSElastic sta

2019-10-14 15:00:12

Centos 8 RHEL 8VNC

2019-11-05 11:20:36

CentOS 8RHEL 8Linux

2019-12-02 15:45:53

CentOS 8AnsibleLinux

2019-10-12 10:24:06

CentOSRHELCockpit

2023-05-05 16:20:15

2019-11-14 09:20:15

CentOS 8RHEL 8Nagios Core

2020-03-02 14:06:54

CentOS 8FFmpegLinux

2019-11-21 08:50:54

CentOS 8Postfix邮件服务器

2019-12-02 11:50:09

CentOS 8VirtualBoxLinux

2023-05-24 11:56:06

RHEL 9DHCP服务器

2021-07-07 07:09:51

Centos8 RescueSSH

2022-02-21 08:31:49

Centos8Caddy Web服务器

2017-04-24 18:10:27

DrupalCentOSFedora

2015-05-25 09:13:31

NTP网络时间协议NTP服务器

2022-04-30 09:41:14

LinuxNTP服务器

2020-10-29 09:40:21

PostgreSQLpgAdmin数据库

2019-09-26 08:07:06

RHEL8命令Linux

2023-03-16 08:55:51

RHEL 8MiniKube开源

2022-04-15 07:51:36

Centos8迁移逻辑卷
点赞
收藏

51CTO技术栈公众号