我正在努力解决"发送"使用Rsyslog中的imfile将目录和子目录中的文件记录到中央日志服务器。
操作系统是CentOS 7
CentOS Linux release 7.3.1611 (Core)
Rsyslog是来自官方回购的v8。
rsyslogd 8.26.0, compiled with:
PLATFORM: x86_64-redhat-linux-gnu
PLATFORM (lsb_release -d):
FEATURE_REGEXP: Yes
GSSAPI Kerberos 5 support: No
FEATURE_DEBUG (debug build, slow code): No
32bit Atomic operations supported: Yes
64bit Atomic operations supported: Yes
memory allocator: system default
Runtime Instrumentation (slow code): No
uuid support: Yes
Number of Bits in RainerScript integers: 6
此Rsyslog版本支持目录级别的通配符。但看起来它不支持带有imfile的目录通配符。
https://www.slideshare.net/rainergerhards1/using-wildcards-with-rsyslogs-file-monitor-imfile/4
问题是在我的情况下有很多目录(并且动态创建了新的)所以我无法为每个目录创建配置。
我注意到Rsyslog在重新启动时会将所有目录(包括所有通配符子目录)中的所有新文件发送到中央日志服务器。但是在重新启动后创建新文件时Rsyslog没有启动"发送"这个文件到中央日志服务器。
解决方法可以每X分钟重启一次Rsyslog,但我不认为这是个好主意。
您能否帮我找一些解决方法或其他配置来解决这个问题(可能是较新版本的Rsyslog支持它)?
祝你好运, cr4wen
答案 0 :(得分:0)
根据我对rsyslog的了解,这个版本应该支持文件名和文件夹中的通配符,但我知道有一个错误,它没有获取新创建的文件。也许对CentOS 7的最新版本进行更新会有所帮助。
但最重要的是确保你在inotify模式下使用imfile,如果没有启用该模式,通配符就不能正常工作。