温馨提示×

Ubuntu如何监控Tomcat日志

小樊
36
2026-08-05 14:56:56
栏目: 智能运维

在 Ubuntu 上监控 Tomcat 日志,常见做法有 实时查看、过滤、自动告警、图形化监控 等。下面给你一套从“最常用”到“进阶”的完整方案。


一、Tomcat 日志位置(先确认)

默认情况下(以 apt 或官方 tar.gz 安装为例):

# apt 安装
/var/log/tomcat9/

# 官方 tar.gz
$TOMCAT_HOME/logs/

常见日志文件:

  • catalina.out ✅(最常用,标准输出)
  • catalina.2026-01-21.log
  • localhost.log
  • manager.log
  • host-manager.log

二、实时查看日志(最常用)

1️⃣ tail -f(最基础)

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

退出:Ctrl + C


2️⃣ 查看最后 N 行

tail -n 200 /var/log/tomcat9/catalina.out

3️⃣ less(推荐,可搜索)

less /var/log/tomcat9/catalina.out

常用操作:

  • Shift + F:实时跟踪(类似 tail -f)
  • /error:搜索 error
  • q:退出

三、按关键字监控(错误 / 异常)

1️⃣ 实时过滤 ERROR / Exception

tail -f catalina.out | grep -i error
tail -f catalina.out | grep -i exception

2️⃣ 多关键字监控

tail -f catalina.out | grep -E "ERROR|Exception|NullPointer"

3️⃣ 高亮显示(非常实用)

tail -f catalina.out | grep --color=auto -i error

四、按时间范围查看日志

1️⃣ 查看今天日志

grep "2026-01-21" catalina.out

2️⃣ 查看某时间段异常

grep "2026-01-21 14:" catalina.out | grep ERROR

五、日志自动切割(防止 catalina.out 过大)

1️⃣ 使用 logrotate(推荐)

sudo nano /etc/logrotate.d/tomcat

示例配置:

/var/log/tomcat9/catalina.out {
    daily
    rotate 7
    missingok
    notifempty
    compress
    copytruncate
}

生效测试:

logrotate -d /etc/logrotate.d/tomcat

六、后台持续监控(生产环境)

1️⃣ 使用 screen / tmux

tmux
tail -f catalina.out

断开 SSH 也不会中断。


2️⃣ 使用 systemd 日志(apt 安装)

journalctl -u tomcat9 -f

查看错误:

journalctl -u tomcat9 -p err -f

七、图形化 / 集中式监控(进阶)

✅ ELK(企业级)

  • Elasticsearch
  • Logstash
  • Kibana

适合:

  • 多 Tomcat
  • 多服务器
  • 日志分析 + 告警

✅ Loki + Grafana(轻量推荐)

  • 比 ELK 轻
  • 非常适合 Ubuntu + Docker

✅ Prometheus + Alertmanager(偏指标)

适合监控:

  • JVM
  • 请求数
  • 响应时间

八、常见排错场景

Tomcat 启动失败

tail -n 100 catalina.out

重点看:

  • BindException(端口占用)
  • ClassNotFoundException
  • OutOfMemoryError

九、推荐组合(实用)

日常排查

tail -f catalina.out | grep -i error

生产环境

  • logrotate 切割
  • tmux 持续监控
  • journalctl 辅助

如果你愿意,我可以:

  • ✅ 帮你写 Tomcat 日志监控脚本
  • ✅ 给你 ELK / Loki 一键部署方案
  • ✅ 按 Docker / 非 Docker 场景详细讲

你现在用的是 apt 安装还是 tar.gz?单机还是多台?

0