5.6. 配置服务器以通过 UDP 接收远程日志信息


Rsyslog 应用程序可让您将系统配置为从远程系统接收日志信息。要通过 UDP 使用远程日志记录,请同时配置服务器和客户端。接收服务器收集并分析一个或多个客户端系统发送的日志。默认情况下,rsyslog 使用端口 514 上的 UDP 从远程系统接收日志信息。

按照以下步骤配置服务器,以通过 UDP 协议收集和分析一个或多个客户端系统发送的日志。

先决条件

  • rsyslog 已安装在服务器系统上。
  • 您以 root 身份登录到服务器中。
  • 为使用 semanage 命令的可选步骤安装了 policycoreutils-python-utils 软件包。
  • firewalld 服务在运行。

流程

  1. 可选:要将不同的端口用于 rsyslog 流量,而不是默认端口 514

    1. syslogd_port_t SELinux 类型添加到 SELinux 策略配置中,使用您要 rsyslog 的端口号替换 portno

      # semanage port -a -t syslogd_port_t -p udp portno
      Copy to Clipboard Toggle word wrap
    2. 配置 firewalld 以允许传入的 rsyslog 流量,使用您要 rsyslog 使用的端口替换 portno,区替换 zone

      # firewall-cmd --zone=zone --permanent --add-port=portno/udp
      success
      # firewall-cmd --reload
      Copy to Clipboard Toggle word wrap
    3. 重新载入防火墙规则:

      # firewall-cmd --reload
      Copy to Clipboard Toggle word wrap
  2. /etc/rsyslog.d/ 目录中创建一个新的 .conf 文件,如 remotelogserv.conf,并插入以下内容:

    # Define templates before the rules that use them
    # Per-Host templates for remote systems
    template(name="TmplAuthpriv" type="list") {
        constant(value="/var/log/remote/auth/")
        property(name="hostname")
        constant(value="/")
        property(name="programname" SecurePath="replace")
        constant(value=".log")
        }
    
    template(name="TmplMsg" type="list") {
        constant(value="/var/log/remote/msg/")
        property(name="hostname")
        constant(value="/")
        property(name="programname" SecurePath="replace")
        constant(value=".log")
        }
    
    # Provides UDP syslog reception
    module(load="imudp")
    
    # This ruleset processes remote messages
    ruleset(name="remote1"){
         authpriv.*   action(type="omfile" DynaFile="TmplAuthpriv")
          *.info;mail.none;authpriv.none;cron.none
    action(type="omfile" DynaFile="TmplMsg")
    }
    
    input(type="imudp" port="514" ruleset="remote1")
    Copy to Clipboard Toggle word wrap

    其中 514rsyslog 默认使用的端口号。您可以指定不同的端口。

  3. 验证 /etc/rsyslog.conf 文件以及 /etc/rsyslog.d/ 目录中的所有 .conf 文件的语法:

    # rsyslogd -N 1
    rsyslogd: version 8.1911.0-2.el8, config validation run...
    Copy to Clipboard Toggle word wrap
  4. 重新启动 rsyslog 服务。

    # systemctl restart rsyslog
    Copy to Clipboard Toggle word wrap
  5. 可选: 如果没有启用 rsyslog,请确保 rsyslog 服务在重启后自动启动:

    # systemctl enable rsyslog
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat