1. 系统自带工具
systemctl status tomcat查看运行状态,journalctl -u tomcat -f实时查看日志,快速判断服务是否正常。ps -ef | grep tomcat确认Tomcat进程是否存在;netstat -tulnp | grep 8080或ss -tulnp | grep 8080检查Tomcat监听端口(默认8080),确保服务已启动。curl http://localhost:8080/发送HTTP请求,验证Tomcat是否响应,适合快速测试服务可用性。top -p $(pgrep -f tomcat)或htop -p $(pgrep -f tomcat)实时监控Tomcat进程的CPU、内存占用,直观了解资源消耗情况。2. Tomcat自带工具
conf/tomcat-users.xml中配置manager-gui角色(如<user username="admin" password="admin" roles="manager-gui"/>),然后通过浏览器访问http://server-ip:8080/manager/html,可查看应用状态、会话数、内存使用等基础指标,无需额外安装。catalina.sh添加-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false启用远程监控,再用JConsole、VisualVM等JDK工具连接localhost:9090,可深度监控线程、内存(堆/非堆)、类加载、GC等详细指标,适合开发人员排查性能问题。3. 第三方监控工具
prometheus.yml,添加Tomcat的JMX Exporter配置(scrape_configs: - job_name: 'tomcat' static_configs: - targets: ['localhost:9090']),负责收集Tomcat指标。check_tomcat插件监控Tomcat的运行状态、响应时间、JVM内存使用,配置简单,适合中小规模环境,支持分布式监控。webapps目录,无需修改代码,可监控Tomcat的性能(CPU、内存、线程、SQL执行时间)、会话数、请求响应时间,提供详细的统计报表,适合快速定位性能瓶颈。4. 脚本自动化监控
monitor.sh),用curl检查Tomcat状态,用ps检查进程是否存在,用tail监控日志中的关键字(如“ERROR”),将结果写入日志文件(如/var/log/tomcat_monitor.log),并通过cron定时执行(如*/5 * * * * /path/to/monitor.sh)。若检测到异常(如Tomcat停止),可通过邮件、Slack等方式发送报警,适合定制化监控需求。