在 Debian 上监控 Tomcat 日志,常见做法分为实时查看、日志轮转管理、集中监控与告警三个层次。下面按实用程度给你一个完整方案。
Debian 上 Tomcat 通常安装在:
/var/lib/tomcat9/(版本不同路径不同)/opt/tomcat/日志目录一般在:
/var/log/tomcat9/
或
$TOMCAT_HOME/logs/
常见日志文件:
catalina.out:最常用,标准输出和错误catalina.YYYY-MM-DD.loglocalhost.YYYY-MM-DD.logaccess_log(访问日志)tail -f /var/log/tomcat9/catalina.out
只看 ERROR:
tail -f /var/log/tomcat9/catalina.out | grep ERROR
less +F /var/log/tomcat9/catalina.out
按 Ctrl+C 暂停,F 继续
Debian 默认带 logrotate
示例配置:/etc/logrotate.d/tomcat
/var/log/tomcat9/catalina.out {
daily
missingok
rotate 7
compress
copytruncate
notifempty
}
测试:
logrotate -d /etc/logrotate.d/tomcat
journalctl -u tomcat9 -f
tail -F /var/log/tomcat9/catalina.out | \
while read line; do
echo "$line" | grep -q "OutOfMemoryError" && \
echo "Tomcat OOM!" | mail -s "Tomcat Alert" admin@xxx.com
done
scrape_configs:
- job_name: tomcat
static_configs:
- targets: [localhost]
labels:
job: tomcat
__path__: /var/log/tomcat9/*.log
❌ catalina.out 不更新?
logging.properties❌ 磁盘满了?
du -sh /var/log/tomcat9/*
✅ 开发/测试:
tail -f catalina.out + logrotate
✅ 生产环境:
logrotate + journalctl + Loki/ELK
如果你愿意,可以告诉我:
我可以帮你写一套可直接用的监控脚本或配置。