自带的rsyslog版本是8.24的
vim /etc/rsyslog.d/tomcat.conf,按如下编辑,每一段是读取并发送一个tomcat的日志,这里*.txt是要配置发送local_access_logYYYY-MM-DD.txt,目前没有找到方法动态生成这种日期结尾的文件名
由于我的syslog服务器采用的是udp接收,因此用一个@即可,如果是tcp用两个@
无需对/etc/rsyslog.conf做任何调整
配置保存后执行systemctl restart rsyslog重启rsyslog服务
这时去syslog服务器查看,应该就可以接收到tomcat的log了。
(启动后也可以通过rsyslogd -d去看rsyslog的启动console内容)
以下是另外一个服务器的配置:
#$ModLoad imfile
#$InputFilePollInterval 1
#$InputFileName /home/apache-tomcat-7.0.109/logs/catalina.out
#$InputFileTag tomcat-www
#$InputFileStateFile stat-tomcat-www
#$InputFileServerity info
#$InputFileFacility local1
#$InputFilePersisStateInterval 20000
#$RepeatedMsgReduction off
#$InputRunFileMonitor
#local1.* @172.x.x.112:514
module(load="imfile" PollingInterval="5")
$InputFilePersistStateInterval 1
input(type="imfile"
#File="/home/apache-tomcat-7.0.109/logs/dlhitech_bylog4j.log"
File="/home/apache-tomcat-7.0.109/logs/*.txt"
Tag="tomcat_www"
PersistStateInterval="1"
reopenOnTruncate="on"
Severity="info"
Facility="local1")
local1.* @172.x.x.112:514
#local1.* @@172.x.x.112:514
注意,上面一段#注释掉的是旧版本的配置语法,放在这个版本是不能用的,也不影响启动,systemctl status rsyslog 都是正常的。