我已经将 rsyslog 配置为将消息记录到集中式服务器,它工作正常,并且我已将日志记录到服务器的 /var/log 目录中,其中所有客户端的目录均基于其 IP 地址(例如:/var/log/ip-address/syslog.log)。它会生成一个名为 syslog.log 的文件,并将日志存储在其中。我的问题是,我是否可以将 rsyslog 配置为在不同的文件中生成所有流量,例如 httpd.log 中的 http、mail.log 中的邮件等。
答案1
在您的配置文件中,您定义了模板:$template FILENAME,“/var/log/%fromhost-ip%/syslog.log”
当将所有设施记录到该模板时,您明确告诉 rsyslog 将所有内容记录到文件 syslog.log。您需要为每个所需的应用程序设置单独的设施名称,即在 localhost 上,将 http 输出定义为 local7,然后在 loghost 上定义一个模板,如下所示:
$template http,"/var/log/$fromhost-ip%/http.log"
local7.* ?http