如何在 CentOS8/RHEL8 中配置 Rsyslog 服务器
创始人
2024-03-02 03:43:45
0

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 登录并运行以下命令:

$ systemctl status rsyslog

示例输出:

rsyslog-service-status-centos8

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

$ sudo yum install rsyslog

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

$ sudo vim /etc/rsyslog.conf

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

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

rsyslog-conf-centos8-rhel8

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

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

rsyslog-conf-tcp-centos8-rhel8

保存并退出配置文件。

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

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

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

# sudo firewall-cmd --reload

示例输出:

firewall-ports-rsyslog-centos8

接下来,重启 Rsyslog 服务器:

$ sudo systemctl restart rsyslog

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

$ sudo systemctl enable rsyslog

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

$ sudo netstat -pnltu

示例输出:

netstat-rsyslog-port-centos8

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

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

$ tail -f /var/log/messages

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

在 RHEL 8 上配置客户端系统

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

$ sudo systemctl status rsyslog

示例输出:

client-rsyslog-service-rhel8

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

$ sudo vim /etc/rsyslog.conf

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

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

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

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

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

$ sudo firewall-cmd --reload

接下来,重启 rsyslog 服务:

$ sudo systemctl restart rsyslog

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

$ sudo systemctl enable rsyslog

测试日志记录操作

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

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

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

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

# tail -f /var/log/messages

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

centralize-logs-rsyslogs-centos8

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


via: https://www.linuxtechi.com/configure-rsyslog-server-centos-8-rhel-8/

作者:James Kiarie 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

AI竟会「自己认错」?破解...
新智元报道 编辑:定慧 好困 【新智元导读】 在多智能体AI系统...
2025-06-02 21:12:04
SQL Server跟踪(...
写在前面的话: 该文章内容是参考   https:/...
2025-06-01 15:33:40
Jenkins--邮件通知...
1为啥要配置邮件通知配置邮件通知的目的是为了给用户发送构建结果的状...
2025-05-31 22:24:25
CentOS系统下wc命令...
CentOS中的文本统计利器:命令详解与应用 在CentOS系统的...
2025-05-29 06:11:07
如何在CentOS系统上部...
作为Linux系统中广泛使用的DNS服务软件,BIND(Berke...
2025-05-25 13:47:28
CentOS系统安装Had...
Hadoop在CentOS系统上的安装与配置流程 对于需要处理海量...
2025-04-23 19:47:33

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
从 Yum 更新中排除特定/某... 作为系统更新的一部分,你也许需要在基于 Red Hat 系统中由于应用依赖排除一些软件包。如果是,如...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...