在 AIX Server 7.2 上运行的 rsyslog 中的 Imfile

在 AIX Server 7.2 上运行的 rsyslog 中的 Imfile

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 的性能,具体取决于正在动态监视的目录和文件的数量。

相关内容