如何在 Debian 11 上设置 Rsyslog 服务器如何在 Debian 11 上设置 Rsyslog 服务器如何在 Debian 11 上设置 Rsyslog 服务器如何在 Debian 11 上设置 Rsyslog 服务器
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

如何在 Debian 11 上设置 Rsyslog 服务器

发表 admin at 2025年2月28日
类别
  • 未分类
标签

本教程适用于这些操作系统版本

  • Debian 11(Bullseye)
  • Debian 9(Stretch)

在此页

  1. 先决条件
  2. 安装 Rsyslog
  3. 配置 Rsyslog
  4. 为 Rsyslog 配置防火墙
  5. 配置 Rsyslog 客户端
  6. 验证客户端日志文件
  7. 结论

Rsyslog 是一个免费开源的日志记录软件,它通过 IP 网络将所有日志文件转发到集中式日志服务器。它可以帮助系统管理员从中心点关注所有服务器。 Rsyslog 在客户端/服务器模型中工作,它通过 TCP/UDP 协议在端口 514 上从远程客户端接收日志。

在本文中,我们将向您展示如何在 Debian 11 上设置 Rsyslog 服务器。

先决条件

  • 两台运行 Debian 11 的服务器。
  • 在服务器上配置了根密码。

安装 Rsyslog

首先,您需要在服务器计算机上安装 Rsyslog 服务器包。您可以使用以下命令安装它:

apt-get install rsyslog -y

安装后,使用以下命令验证 Rsyslog 状态:

systemctl status rsyslog

您应该看到以下输出:

? rsyslog.service - System Logging Service
     Loaded: loaded (/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2021-10-03 13:35:32 UTC; 1h 44min ago
TriggeredBy: ? syslog.socket
       Docs: man:rsyslogd(8)
             man:rsyslog.conf(5)
             https://www.rsyslog.com/doc/
   Main PID: 283 (rsyslogd)
      Tasks: 4 (limit: 2341)
     Memory: 5.0M
        CPU: 90ms
     CGroup: /system.slice/rsyslog.service
             ??283 /usr/sbin/rsyslogd -n -iNONE

Oct 03 13:35:32 debian11 systemd[1]: Starting System Logging Service...
Oct 03 13:35:32 debian11 rsyslogd[283]: imuxsock: Acquired UNIX socket '/run/systemd/journal/syslog' (fd 3) from systemd.  [v8.2102.0]
Oct 03 13:35:32 debian11 rsyslogd[283]: [origin software="rsyslogd" swVersion="8.2102.0" x-pid="283" x-info="https://www.rsyslog.com"] start
Oct 03 13:35:32 debian11 systemd[1]: Started System Logging Service.
Oct 03 13:35:34 debian11 systemd[1]: rsyslog.service: Sent signal SIGHUP to main process 283 (rsyslogd) on client request.
Oct 03 13:45:33 debian11 rsyslogd[283]: [origin software="rsyslogd" swVersion="8.2102.0" x-pid="283" x-info="https://www.rsyslog.com"] rsyslog>

配置 Rsyslog

接下来,您需要将 Rsyslog 配置为在服务器模式下运行。您可以通过编辑 Rsyslog 主配置文件来完成此操作:

nano /etc/rsyslog.conf

取消注释以下行:

# provides UDP syslog reception
module(load="imudp")
input(type="imudp" port="514")

# provides TCP syslog reception
module(load="imtcp")
input(type="imtcp" port="514")

接下来,添加以下行来定义模板以存储来自客户端系统的传入日志:

$template remote-incoming-logs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?remote-incoming-logs

保存并关闭文件,然后重新启动 Rsyslog 服务以应用更改:

systemctl restart rsyslog

此时Rsyslog启动,监听514端口,可以使用以下命令查看:

ss -tunlp | grep 514

您应该看到以下输出:

udp   UNCONN 0      0                              0.0.0.0:514       0.0.0.0:*    users:(("rsyslogd",pid=26276,fd=6))                                                                                                                                                                                                                                                                             
udp   UNCONN 0      0                                 [::]:514          [::]:*    users:(("rsyslogd",pid=26276,fd=7))                                                                                                                                                                                                                                                                             
tcp   LISTEN 0      25                             0.0.0.0:514       0.0.0.0:*    users:(("rsyslogd",pid=26276,fd=8))                                                                                                                                                                                                                                                                             
tcp   LISTEN 0      25                                [::]:514          [::]:*    users:(("rsyslogd",pid=26276,fd=9))                                                                                                                                                                                                                                                                             

为 Rsyslog 配置防火墙

接下来,您需要允许端口 514 通过 UFW 防火墙。您可以使用以下命令允许它:

ufw allow 514/tcp
ufw allow 514/udp

接下来,重新加载防火墙以应用更改:

ufw reload

配置 Rsyslog 客户端

接下来,您需要配置 Rsyslog 客户端以将日志文件发送到 Rsyslog 服务器。您可以通过编辑 Rsyslog 主配置文件来完成。

nano /etc/rsyslog.conf

在文件末尾添加以下行:

#Enable sending system logs over UDP to rsyslog server
*.* @rsyslog-server-ip:514

#Enable sending system logs over TCP to rsyslog server
*.* @@rsyslog-server-ip:514

此外,添加以下行以在 rsyslog 服务器关闭时设置磁盘队列:

$ActionQueueFileName queue
$ActionQueueMaxDiskSpace 1g
$ActionQueueSaveOnShutdown on
$ActionQueueType LinkedList
$ActionResumeRetryCount -1

保存并关闭文件,然后重新启动 Rsyslog 服务以应用更改:

systemctl restart rsyslog

验证客户端日志文件

所有客户端日志文件都存储在服务器计算机上的 /var/log 目录中。

您可以使用以下命令检查它:

ls -l /var/log/

您应该看到与客户端系统的主机名相对应的客户端日志文件:

alternatives.log    auth.log.2.gz  daemon.log	    debian11	dpkg.log    kern.log.1	   messages.1	  private      syslog.3.gz
clientpc            auth.log.3.gz  daemon.log.1     debug	dpkg.log.1  kern.log.2.gz  messages.2.gz  runit        syslog.4.gz
apt		    btmp	   daemon.log.3.gz  debug.2.gz	icinga2     kern.log.4.gz  messages.4.gz  syslog
auth.log.1	    csm.log	   dbconfig-common  debug.4.gz	kern.log    messages	   ntpstats	  syslog.2.gz

可以看到,clientpc是clients系统的日志目录。

结论

在上面的指南中,我们解释了如何在 Debian 11 上设置 Rsyslog 服务器和客户端。您现在可以从中央位置监控您的客户端。如果您有任何问题,请随时问我。

©2015-2025 Norria support@alaica.com