动态文件名在 rsyslog 中不起作用

动态文件名在 rsyslog 中不起作用

rsyslog 中的文件名可以是静态的或动态的。如果您要根据某些消息条件自动将消息拆分到不同的文件中,则后者很有用。我需要根据 IP 拆分日志 - 例如:10.10.10.10.log 为什么它不起作用?我可以使用不同的东西来创建它吗?也许是 python/bash 脚本?

我的配置文件如下所示:[rsyslog v5]

#### RULES ####

local6,local5.*                              /var/log/systems/device-all.log

<=15.info;mail.none;authpriv.none;cron.none                /var/log/messages

authpriv.*                                              /var/log/secure

mail.*                                                  -/var/log/maillog

cron.*                                                  /var/log/cron

*.emerg                                                 *

uucp,news.crit                                          /var/log/spooler

local7.*                                                /var/log/boot.log

$template DynamicFile,"/var/log/systems/host-%HOSTNAME%.log"

*.*    -?DynamicFile

local6,local5.*                               /var/log/systems/device-all.log

答案1

我认为首先你必须将模板设置为

$template DynamicFile,"/var/log/systems/host-%fromhost-ip%.log"

因为你要根据ip进行分离。接下来我认为日志记录的正确值是

*.*    ?DynamicFile

相关内容