如何通过日志监控CentOS Tomcat状态
一、Tomcat日志文件定位
在CentOS系统中,Tomcat的日志文件默认存储在**$CATALINA_HOME/logs**目录下($CATALINA_HOME为Tomcat安装目录,如/opt/tomcat
或/usr/share/tomcat
)。主要日志文件及作用如下:
- catalina.out:Tomcat的主日志文件,记录启动/停止过程、运行时错误、应用部署信息等关键内容;
- localhost..log:记录本地主机活动(如Servlet初始化、JDBC连接池状态);
- manager..log:Tomcat Manager应用的日志(部署、卸载应用的操作记录);
- host-manager..log:Tomcat Host Manager应用的日志(虚拟主机管理操作记录);
- localhost_access_log..txt:HTTP访问日志,记录请求时间、方法、路径、响应状态码(如200、404、500)及客户端IP等信息。
二、实时监控Tomcat状态(核心日志:catalina.out)
1. 实时查看最新日志
使用tail -f
命令可实时输出catalina.out
的新内容,帮助快速发现异常(如应用崩溃、端口冲突):
tail -f /opt/tomcat/logs/catalina.out
按Ctrl+C
停止监控。若需调整显示行数(如最后100行),可使用tail -n 100 -f catalina.out
。
2. 过滤关键错误信息
结合grep
命令过滤ERROR
、Exception
等关键字,快速定位问题:
tail -f /opt/tomcat/logs/catalina.out | grep -i "error\|exception"
示例输出:
ERROR [main] org.apache.catalina.core.StandardService.initInternal Failed to initialize connector [Connector[HTTP/1.1-8080]]
java.net.BindException: Address already in use
上述输出表明8080端口已被占用,需修改Tomcat端口(如server.xml
中的<
Connector port="8081">
)。
三、查看历史日志(定位过往问题)
1. 查看特定时间段日志
使用sed
命令截取指定时间范围的日志(如2025-10-16 14:00至15:00):
sed -n '/2025-10-16 14:00/,/2025-10-16 15:00/p' /opt/tomcat/logs/catalina.out >
/tmp/tomcat_error_20251016.txt
将结果保存到/tmp
目录,便于后续分析。
2. 使用journalctl查看系统日志
若Tomcat以systemd
服务运行(默认方式),可通过journalctl
查看服务日志:
journalctl -u tomcat -f
-u tomcat
:指定Tomcat服务(需与systemctl status tomcat
中的服务名一致);-f
:实时监控日志更新。
示例输出:
Oct 17 10:30:01 centos systemd[1]: Started Apache Tomcat Web Application Container.
Oct 17 10:30:05 centos tomcat[12345]: INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [1200] milliseconds
该方式可整合系统级日志与服务日志,便于排查系统资源不足(如内存溢出)导致的问题。
四、日志轮转配置(避免日志过大)
Tomcat默认使用logrotate
工具自动轮转日志(每日切割),配置文件位于/etc/logrotate.d/tomcat
。示例配置:
/opt/tomcat/logs/catalina.out {
daily
rotate 7
compress
missingok
notifempty
copytruncate
}
daily
:每日切割;rotate 7
:保留最近7天的日志;compress
:压缩旧日志(节省空间);copytruncate
:复制原日志后清空,避免重启Tomcat。
五、日志级别调整(优化日志输出)
若需调整日志详细程度(如减少DEBUG
日志以降低磁盘占用),可修改logging.properties
文件(位于$CATALINA_HOME/conf
目录):
handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler
.level = WARN # 设置根日志级别为WARN(仅输出警告及以上级别日志)
# 配置catalina日志处理器
1catalina.org.apache.juli.FileHandler.level = WARN
1catalina.org.apache.juli.FileHandler.directory = ${
catalina.base}
/logs
1catalina.org.apache.juli.FileHandler.prefix = catalina.
# 配置localhost日志处理器
2localhost.org.apache.juli.FileHandler.level = INFO
2localhost.org.apache.juli.FileHandler.directory = ${
catalina.base}
/logs
2localhost.org.apache.juli.FileHandler.prefix = localhost.
修改后重启Tomcat使配置生效:
systemctl restart tomcat
常见日志级别从低到高:FINEST
<
FINER
<
FINE
<
CONFIG
<
INFO
<
WARNING
<
SEVERE
。<
5,7>
(@ref)
通过以上方法,可全面监控Tomcat的运行状态(启动/停止、错误异常、请求处理),快速定位并解决问题,保障服务稳定性。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何通过日志监控CentOS Tomcat状态
本文地址: https://pptw.com/jishu/729647.html