rsyslog 变量不工作

rsyslog Variables Not Workiing

我是 运行 CentOS 7.5。我目前已经安装并运行了 rsyslog。唯一的问题是它无法识别我的文件路径中的 %HOSTNAME% 变量。它不是将日志写入每个主机的单独文件,而是创建一个名为“%HOSTNAME%”的文件并在其中写入日志。

这是我目前在 /etc/rsyslog.conf 文件中的内容。

if $fromhost-ip startswith "10." then /var/log/Client_Logs/%HOSTNAME%.log
& ~

除为每个设备创建单独的文件外,一切正常。我不确定客户端设备是否无法提供此信息。到目前为止,我有几个客户端设备,它们都是 Cisco 交换机。

我也尝试过使用其他变量,例如“%FROMHOST-IP%”,但它们也不起作用。

感谢任何帮助。谢谢。

对于动态文件,您必须先在模板中单独定义它们。例如

$template DynFile,"/var/log/Client_Logs/%HOSTNAME%.log"
if $fromhost-ip startswith "10." then ?DynFile

actions