在CentOS上监控Tomcat性能有多种方法,以下是一些常用的监控方法:
catalina.sh
),添加以下JMX相关的配置: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"
$TOMCAT_HOME/conf/tomcat-users.xml
文件,添加一个具有manager-gui
角色的用户:<role rolename="manager-gui"/>
<user username="admin" password="admin" roles="manager-gui"/>
http://<your-tomcat-server>:8080/manager/html
,使用配置的用户名和密码登录即可。Prometheus + Grafana:
prometheus.yml
文件以抓取Tomcat的JMX指标。Application Manager:这是一个功能强大的Tomcat监控工具,可以提供深入的性能监控和警报功能。按照官方文档进行安装和配置。
ps -ef | grep tomcat
命令来检查Tomcat进程是否正在运行。tail -f $TOMCAT_HOME/logs/catalina.out
命令来查看Tomcat的日志文件。netstat -tuln | grep 8080
命令来查看Tomcat使用的端口。可以编写一个Shell脚本来监控Tomcat进程,并在进程挂掉时自动重启:
#!/bin/sh
JAVA_HOME=/usr/local/jdk1.8.0_161
PATH=$JAVA_HOME/bin:$PATH
while true; do
PID=$(ps -ef | grep java | grep tomcat | grep -w 'apache-tomcat-8.5.29_2' | grep -v 'grep' | awk '{print $2}')
if [ -z "$PID" ]; then
echo "[error] Tomcat process not found. Restarting..."
/usr/local/apache-tomcat-8.5.29_2/bin/startup.sh
else
echo "[info] Tomcat process is running with PID $PID."
fi
sleep 10
done
将脚本保存为monitor.sh
,并赋予执行权限:
chmod +x monitor.sh
使用crontab -e
定时执行该脚本。
通过上述方法,你可以有效地监控CentOS上Tomcat的运行状态。选择适合你需求的方法进行实施。