我正在使用rsyslog客户端向rsyslog服务器发送freeradius日志。Freeradius日志存储在rsyslog客户端PC的/var/log/radius.log中。我想将其发送到rsyslog服务器PC。我正在使用以下设置,该设置是在/etc/rsyslog.d/Freeradius.conf文件夹中的一个单独的Freeradius.conf文件(手动创建(中创建的。所有日志发送到服务器的默认日志文件是/var/log/syslog,但我想将日志保存在一个单独的文件中。请帮我把这些日志保存在/var/log/";CLIENT_IP"/remote_freeradius.log。您可以在下面看到/etc/rsyslog.d/freeradius.conf文件的内容:
$ModLoad imfile
$InputFilePollInterval 10
$InputFileName /var/log/radius.log
$InputFileTag freeradius-access:
$InputFileStateFile stat-freeradius-access
$InputFileSeverity Info
$InputRunFileMonitor
$template freeradius_log, " %msg% "
if $programname == 'freeradius-access' then @192.168.10.207:514;freeradius_log
if $programname == 'freeradius-access' then stop
是的,在转发文件时可以修改文件名。
我不知道您是否可以使用遗留语法实现以下功能——据我所知,这是不可能的。但是您可以将传统语法和高级语法结合起来,所以这应该不是问题。
第一个-创建模板:
template (name="ForwardRadiusLogs" type="string"
string="<%PRI%>%TIMESTAMP:::date-rfc3339% %HOSTNAME% %syslogtag% %CLIENT_IP% %msg%")
第二次-将模板分配给转发日志的操作
action(type="omfwd" Target="10.100.100.1" Port="20514" Template="ForwardRadiusLogs")
这相当于(在高级语法中(配置中的以下行:
@192.168.10.207:514;freeradius_log