温馨提示×

debian如何监控tomcat日志

小樊
49
2026-09-28 11:19:57
栏目: 智能运维

在 Debian 上监控 Tomcat 日志,常见做法分为实时查看、日志轮转管理、集中监控与告警三个层次。下面按实用程度给你一个完整方案。


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

Debian 上 Tomcat 通常安装在:

  • 包安装:/var/lib/tomcat9/(版本不同路径不同)
  • 二进制安装:/opt/tomcat/

日志目录一般在:

/var/log/tomcat9/

或

$TOMCAT_HOME/logs/

常见日志文件:

  • catalina.out:最常用,标准输出和错误
  • catalina.YYYY-MM-DD.log
  • localhost.YYYY-MM-DD.log
  • access_log(访问日志)

二、实时查看日志(基础)

1️⃣ tail 实时查看

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

只看 ERROR:

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

2️⃣ less 动态监控

less +F /var/log/tomcat9/catalina.out

按 Ctrl+C 暂停,F 继续


三、日志轮转(防止磁盘爆)

使用 logrotate(推荐)

Debian 默认带 logrotate

示例配置:/etc/logrotate.d/tomcat

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

测试:

logrotate -d /etc/logrotate.d/tomcat

四、系统级监控(进程 + 日志异常)

1️⃣ systemd 查看

journalctl -u tomcat9 -f

2️⃣ 监控报错并告警(脚本示例)

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

五、专业日志监控方案(生产推荐)

✅ 方案 1:Prometheus + Node Exporter(轻量)

  • 不适合直接读日志
  • 适合监控 CPU / 内存 / 磁盘

✅ 方案 2:ELK / Grafana Loki(企业级)

  • Filebeat 收集 Tomcat 日志
  • Elasticsearch 存储
  • Kibana 可视化 & 告警

✅ 方案 3:Grafana Loki(更简单)

scrape_configs:
  - job_name: tomcat
    static_configs:
      - targets: [localhost]
        labels:
          job: tomcat
          __path__: /var/log/tomcat9/*.log

六、常见问题排查

❌ catalina.out 不更新?

  • 检查 logging.properties
  • 确认不是被 logrotate 截断

❌ 磁盘满了?

du -sh /var/log/tomcat9/*

七、推荐组合(实用)

✅ 开发/测试:

tail -f catalina.out + logrotate

✅ 生产环境:

logrotate + journalctl + Loki/ELK

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

  • Tomcat 安装方式(apt / 二进制)
  • 是否生产环境
  • 是否需要自动告警

我可以帮你写一套可直接用的监控脚本或配置。

0 踩