我使用rsyslog配置集中式日志记录
我必须使用某种WildCard指定输入文件,但无法找到如何使其工作的任何示例,在官方文档的说明here中,具有确切描述的链接似乎已被破坏。
我尝试记录看起来像localhost_access_log.2015-07-15.txt
的tomcat7-logfiles
文件中的日期每天更新。
我想得到的是某种input(type="imfile" ...)
我尝试过:
input(type="imfile" tag="access_log" statefile="tomcat-access-log"
file="/var/log/tomcat7/localhost_access_log.*.txt")
但这不起作用,我不知道我做错了什么。
这是我的完整代码:
$ModLoad imfile
$PrivDropToGroup adm
$WorkDirectory /var/spool/rsyslog
# catalina.log
$InputFileName /var/log/tomcat7/catalina.log
$InputFileTag catalina-log
$InputFileStateFile stat-catalina-log
$InputFileSeverity info
$InputRunFileMonitor
# localhost_access_log.YYYY.MM.DD.txt
input(type="imfile" tag="access_log" statefile="tomcat-access-log" file="/var/log/tomcat7/localhost_access_log.*.txt")
catalina-logs正在按预期工作,但是我的输出中没有获得任何访问日志。
任何帮助将不胜感激,请提醒我,如果我做了一些完全错误的事情,或者是否有更好的方法来做到这一点。
答案 0 :(得分:0)
它仅适用于rsyslog v8.5或更高版本(不是7),并且只有在使用inotify时才会看到here以获取解释需求的演示文稿。 我强制inotify(虽然这是默认值):
module(load="imfile"
mode="inotify"
)
输入定义如下:
input(type="imfile"
File="/file/path/*.log"
Tag="taskproject:"
Facility="local3"
)
在此之后,它应该正常工作