AIX 服务器的 rsyslog(imfile 模块)不会从特定文件夹转发自定义应用程序日志,该文件夹每天都会生成多个日志文件。日志文件的名称模式不同。我需要帮助转发这些文件和将来生成的文件的日志。到目前为止,在配置中,我已给出通配符(in $InputFileName
)以根据文件名的模式读取文件.log.
。
文件名如下:
abcd0000.log.190610
sdef0001.log.190611
asdfghjklas0000.log.190612
qwerty0004.log.190613
imfile模块配置部分如下:
$ModLoad imfile
$InputFileName /usr/bada/custom/application/*.log.*
$InputFileTag application1:
$InputFileSeverity info
$InputFileFacility local6
$InputFileMonitor
rsyslog的版本是:
rsyslogd 8.4.2, compiled with:
FEATURE_REGEXP: yes
GSSAPI kerberos 5 support: No
FEATURE_DEBUG (debug build, slow code): No
32bit Atomic operations supported: Yes
64bit Atomic operations supported: No
memory allocator: system default
Runtime Instrumentation (slow code): No
uuid support: No
Number of Bits in RainerScript integers: 64
此 rsyslog 在操作系统上运行,
AIX 7.2
7200-02-02-1806
答案1
我知道这已经很旧了,但我相信问题在于您正在使用旧的 $ModLoad 语法,我认为它不喜欢文件名中的通配符。
尝试切换到“module(load =“imfile”)”并使用更新的语法,例如
input(type="imfile"
File="/usr/bada/custom/applicaiton/*.log.*"
Tag="application1:"
Severity="info"
Facility="local6")
还发现了有关通配符的信息https://www.rsyslog.com/doc/v8-stable/configuration/modules/imfile.html#wildcards
之前版本:8.25.0
通配符仅支持在文件名部分使用,不支持在目录名中使用。
/var/log/*.log 有效。
/var/log/*/syslog.log 不起作用。
自版本:8.25.0
文件名和路径支持通配符,这意味着这些示例将起作用:
/var/log/*.log 有效。*
/var/log/*/syslog.log 有效。*
/var/日志//.log 有效。*
所有匹配子文件夹中的所有匹配文件都将起作用。请注意,这可能会降低 imfile 的性能,具体取决于正在动态监视的目录和文件的数量。