监控 Tomcat 运行日志通常可以从实时查看日志、日志分析、告警监控、集中化管理几个层面来做。下面按常见场景给你一个比较系统的方案。
Tomcat 默认日志一般在:
$TOMCAT_HOME/logs/
常见日志文件:
catalina.out:标准输出和错误(最重要)catalina.YYYY-MM-DD.log:按天滚动localhost.YYYY-MM-DD.loglocalhost_access_log.YYYY-MM-DD.txt:访问日志manager / host-manager 日志(较少用)tail -f $TOMCAT_HOME/logs/catalina.out
查看最近 500 行并实时跟踪:
tail -500f catalina.out
过滤 ERROR:
tail -f catalina.out | grep ERROR
tail -f catalina.out localhost_access_log.*
org.apache.catalina.level = INFO
常见级别:
生产环境不建议开 FINE
Tomcat 自身日志 ≠ 业务日志
业务日志应单独配置:
定时检查 ERROR:
grep -c "ERROR" catalina.out
示例告警脚本:
if grep -q "OutOfMemoryError" catalina.out; then
echo "Tomcat OOM!" | mail -s "Tomcat Alert" admin@xx.com
fi
/opt/tomcat/logs/catalina.out {
daily
rotate 7
missingok
notifempty
copytruncate
}
流程:
Tomcat → Filebeat → Kafka → Logstash → ES → Kibana
功能:
可监控:
OutOfMemoryError
StackOverflowError
Exception
ERROR
Timeout
Connection refused
503 / 500
GC overhead limit exceeded
| 场景 | 推荐方案 |
|---|---|
| 本地 / 测试 | tail -f |
| 单台服务器 | tail + logrotate |
| 中小公司 | Filebeat + ES |
| 大型系统 | ELK + Prometheus |
如果你愿意,可以告诉我:
我可以直接给你一套可落地的配置示例。