在 Debian 上监控 Tomcat 日志,常见做法有实时查看、日志轮转管理、集中监控与告警。下面按“由浅入深”的方式说明。
Tomcat 日志通常在:
/var/log/tomcat9/ # Debian 默认(版本可能不同)
常见日志文件:
catalina.out:主输出日志(最常用)catalina.YYYY-MM-DD.loglocalhost.YYYY-MM-DD.loghost-manager / manager 日志如果你是用 apt 安装的 Tomcat:
dpkg -L tomcat9 | grep log
tail -f /var/log/tomcat9/catalina.out
只看 ERROR:
tail -f /var/log/tomcat9/catalina.out | grep ERROR
multitail /var/log/tomcat9/catalina.out /var/log/tomcat9/localhost.*.log
安装:
apt install multitail
Debian 用 systemd 管理 Tomcat:
journalctl -u tomcat9 -f
查看最近 100 行:
journalctl -u tomcat9 -n 100
按时间:
journalctl -u tomcat9 --since "10 min ago"
Debian 默认用 logrotate:
/etc/logrotate.d/tomcat9
示例配置:
/var/log/tomcat9/catalina.out {
daily
missingok
rotate 7
compress
copytruncate
}
测试:
logrotate -d /etc/logrotate.d/tomcat9
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
apt install fail2ban
适合:
node_exporter 看系统tomcat_exporter 看 JVM非常推荐:
Promtail → Loki → Grafana
比 ELK 轻很多。
重点关注:
ERROR / ExceptionOutOfMemoryErrorGC overhead limit exceededConnection refusedTimeout| 场景 | 推荐方式 |
|---|---|
| 本地调试 | tail -f |
| 单台服务器 | journalctl -u tomcat9 -f |
| 生产基础 | logrotate + 关键字告警 |
| 多服务器 | Loki / ELK |
| JVM 监控 | Prometheus + Grafana |
如果你愿意,可以告诉我:
我可以直接给你一套可复制的配置。