簡體   English   中英

從 rsyslog 客戶端將日志發送到 rsyslog 服務器中的特定文件

[英]send logs to a specific file in rsyslog server from rsyslog client

我正在使用 rsyslog 客戶端將 freeradius 日志發送到 rsyslog 服務器。 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

是的,轉發時可以修改文件名。

我不知道您是否可以使用遺留語法實現以下目標——據我所知,這是不可能的。 但是您可以結合傳統語法和高級語法,所以這應該不是問題。


1st - 創建一個模板:

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 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM