温馨提示×

怎样监控debian tomcat日志

小樊
50
2026-09-19 10:51:47
栏目: 智能运维

在 Debian 上监控 Tomcat 日志,常见做法有实时查看、日志轮转管理、集中监控与告警。下面按“由浅入深”的方式说明。


一、Tomcat 日志在哪里(Debian)

Tomcat 日志通常在:

/var/log/tomcat9/        # Debian 默认(版本可能不同)

常见日志文件:

  • catalina.out:主输出日志(最常用)
  • catalina.YYYY-MM-DD.log
  • localhost.YYYY-MM-DD.log
  • host-manager / manager 日志

如果你是用 apt 安装的 Tomcat:

dpkg -L tomcat9 | grep log

二、最基础的实时监控(推荐)

1. 实时查看日志

tail -f /var/log/tomcat9/catalina.out

只看 ERROR:

tail -f /var/log/tomcat9/catalina.out | grep ERROR

2. 多日志同时监控

multitail /var/log/tomcat9/catalina.out /var/log/tomcat9/localhost.*.log

安装:

apt install multitail

三、用 systemd 看 Tomcat 日志(apt 安装)

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

五、关键词监控 + 告警(生产推荐)

1. 简单脚本监控

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

2. 用 fail2ban(防异常刷日志)

apt install fail2ban

六、专业监控方案(企业级)

1. ELK / EFK

  • Filebeat 收集 Tomcat 日志
  • Elasticsearch 存储
  • Kibana 展示

适合:

  • 多台服务器
  • 需要检索、统计、图表

2. Prometheus + Grafana

  • node_exporter 看系统
  • tomcat_exporter 看 JVM
  • 不直接读日志,但能监控状态

3. Loki + Promtail(轻量日志方案)

非常推荐:

Promtail → Loki → Grafana

比 ELK 轻很多。


七、常见监控指标建议

重点关注:

  • ERROR / Exception
  • OutOfMemoryError
  • GC overhead limit exceeded
  • Connection refused
  • Timeout
  • 日志突然不刷新(进程假死)

八、小结(选哪个?)

场景 推荐方式
本地调试 tail -f
单台服务器 journalctl -u tomcat9 -f
生产基础 logrotate + 关键字告警
多服务器 Loki / ELK
JVM 监控 Prometheus + Grafana

如果你愿意,可以告诉我:

  • Tomcat 版本(8 / 9 / 10)
  • 是否 apt 安装
  • 单机还是集群
  • 是否需要微信 / 邮件 / 钉钉告警

我可以直接给你一套可复制的配置。

0 踩