【发布时间】:2020-05-08 17:03:56
【问题描述】:
我有一个用例,我需要将多个日志文件转发到远程服务器。
//Log Files
1. /var/log/boot.log
2. /path/to/tomcat/tomcat.log
3. /path/to/app/app.log
我在/etc/rsyslog.d/添加了3个conf文件
#/etc/rsyslog.d/boot.conf
$ModLoad imfile
$InputFilePollInterval 10
$InputFileName /var/log/boot.log
$InputFileTag boot-log
$InputRunFileMonitor
$InputFilePersistStateInterval 100
#/etc/rsyslog.d/tomcat.conf
$ModLoad imfile
$InputFilePollInterval 10
$InputFileName /path/to/tomcat.log
$InputFileTag tomcat-log
$InputRunFileMonitor
$InputFilePersistStateInterval 100
#/etc/rsyslog.d/app.conf
$ModLoad imfile
$InputFilePollInterval 10
$InputFileName /path/to/app.log
$InputFileTag app-log
$InputRunFileMonitor
$InputFilePersistStateInterval 100
为了包含这些文件,我添加了这一行 $IncludeConfig /etc/rsyslog.d/*.conf。
但是在/var/log/syslog 中,只是启动日志加起来,其余的配置被忽略了。
RsysLog 版本:8.1907.0(又名 2019.07)
【问题讨论】:
-
如果您在标签上匹配(例如
tomcat-log),您可能需要在设置中添加一个冒号,例如$InputFileTag tomcat-log:。此外,确保 rsyslogd 具有读取文件路径的权限。尝试rsyslogd -dn获得大量调试输出,这可能会提供一些错误消息,说明为什么忽略行以及读取了哪些配置文件。