Linux环境下监控Tomcat状态的常用方法
ps或jps命令快速确认Tomcat是否在运行。例如:ps -ef | grep '[c]atalina'(避免grep自身进程干扰)或jps -l(列出所有Java进程,找到org.apache.catalina.startup.Bootstrap进程)。netstat或ss命令验证Tomcat是否监听默认端口(8080/8005):sudo netstat -tulnp | grep java或sudo ss -tulnp | grep java(需替换为实际端口)。top或htop命令监控Tomcat进程的CPU、内存使用情况(top -p $(pgrep -f tomcat)可过滤Tomcat进程)。curl命令发送HTTP请求,检查Tomcat是否正常响应:curl -I http://localhost:8080(返回200/302状态码表示正常)。tail -f命令跟踪Tomcat日志(如catalina.out),及时发现错误信息:tail -f /path/to/tomcat/logs/catalina.out。http://yourserver:port/manager/html(需提前在conf/tomcat-users.xml中配置管理用户),可查看连接器状态、线程池使用率、内存占用、会话数等详细指标。catalina.sh中添加JVM参数:CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"(生产环境建议开启SSL和认证),重启Tomcat后用JConsole连接service:jmx:rmi:///jndi/rmi://localhost:9090/jmxrmi即可查看指标。#!/bin/bash
if pgrep -f tomcat > /dev/null; then
  echo "Tomcat is running."
else
  echo "Tomcat is not running. Attempting to restart..."
  systemctl start tomcat
fi
将脚本添加到cron(如每5分钟执行一次)或systemd服务中,实现自动监控与重启。grep、awk等工具分析catalina.out日志,统计错误次数(如ERROR关键字),例如:grep -c "ERROR" /path/to/tomcat/logs/catalina.out,若错误数超过阈值则触发告警。systemctl命令检查Tomcat服务状态:sudo systemctl status tomcat(显示运行状态、最近日志)。journalctl命令查看Tomcat的详细日志:sudo journalctl -u tomcat -f(实时跟踪日志输出)。systemctl启动/停止/重启Tomcat:sudo systemctl start tomcat、sudo systemctl stop tomcat、sudo systemctl restart tomcat。