14.6. 配置服务器以通过 UDP 接收远程日志信息
Rsyslog 应用程序可让您将系统配置为从远程系统接收日志信息。要通过 UDP 使用远程日志记录,请同时配置服务器和客户端。接收服务器收集并分析一个或多个客户端系统发送的日志。默认情况下,rsyslog 使用端口 514 上的 UDP 从远程系统接收日志信息。
按照以下步骤配置服务器,以通过 UDP 协议收集和分析一个或多个客户端系统发送的日志。
先决条件
- rsyslog 已安装在服务器系统上。
-
您以
root身份登录到服务器中。 -
使用
semanage命令,为可选步骤安装policycoreutils-python-utils软件包。 -
firewalld服务在运行。
流程
可选:对于与默认端口
514不同的rsyslog流量,请使用其他端口:将
syslogd_port_tSELinux 类型添加到 SELinux 策略配置中,使用您要rsyslog的端口号替换portno:# semanage port -a -t syslogd_port_t -p udp portno配置
firewalld以允许传入的rsyslog流量,使用您要rsyslog使用的端口替换portno,区替换zone:# firewall-cmd --zone=zone --permanent --add-port=portno/udp success # firewall-cmd --reload重新载入防火墙规则:
# firewall-cmd --reload
在
/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")其中
514是rsyslog默认使用的端口号。您可以指定不同的端口。验证
/etc/rsyslog.conf文件以及/etc/rsyslog.d/目录中的所有.conf文件的语法:# rsyslogd -N 1 rsyslogd: version 8.1911.0-2.el8, config validation run...重新启动
rsyslog服务。# systemctl restart rsyslog可选:如果没有启用
rsyslog,请确保rsyslog服务在重启后自动启动:# systemctl enable rsyslog