在 Debian 上监控 Tomcat 日志,常见做法分为 实时查看、日志收集分析、告警监控 三类。下面按实用程度给你一个完整方案。
Debian 上 Tomcat(通常 apt 安装或二进制安装)日志位置:
/var/log/tomcat9/
$CATALINA_HOME/logs/
常见日志文件:
catalina.out(最常用)catalina.yyyy-mm-dd.loglocalhost_access_log.*.txt(访问日志)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 停止滚动/ERROR 搜索journalctl -u tomcat9 -f
过滤错误:
journalctl -u tomcat9 | grep -i error
Debian 默认用 logrotate:
cat /etc/logrotate.d/tomcat9
示例:
/var/log/tomcat9/*.log {
daily
rotate 7
compress
missingok
notifempty
}
监控错误登录、异常访问:
apt install fail2ban
node_exporter 监控服务器tail_exporter / loki 监控日志示例(Prometheus + Loki):
scrape_configs:
- job_name: tomcat-logs
static_configs:
- targets: [localhost:9080]
适合:
#!/bin/bash
LOG=/var/log/tomcat9/catalina.out
tail -n 100 $LOG | grep ERROR && \
echo "Tomcat ERROR 出现" | mail -s "Tomcat 告警" admin@qq.com
加 crontab:
*/5 * * * * /opt/check_tomcat.sh
| 场景 | 方案 |
|---|---|
| 日常排查 | tail -f |
| 服务器级 | journalctl |
| 单台服务器 | logrotate + 脚本 |
| 多服务器 | Loki / ELK |
| 告警 | Prometheus + Alertmanager |
如果你愿意,我可以:
你现在是 开发环境还是生产环境?