通過Linux系統命令可快速確認Tomcat的基本運行狀態,適用于日??焖倥挪椋?/p>
ps
命令過濾Tomcat進程,確認是否在運行。ps -ef | grep tomcat
netstat
或ss
命令驗證端口是否處于監聽狀態。sudo netstat -tulnp | grep 8080 # 或使用 ss -tulnp | grep 8080
curl
命令發送HTTP請求,驗證Tomcat是否響應。curl -v http://localhost:8080/
若返回Tomcat默認頁面(如“Welcome to Tomcat”),則說明服務正常。top
或htop
命令監控Tomcat進程的CPU、內存占用情況(需替換為實際PID)。top -p $(pgrep -f tomcat) # 或 htop -p $(pgrep -f tomcat)
tail
命令實時查看catalina.out
日志(默認路徑為$TOMCAT_HOME/logs/
),獲取運行中的錯誤或警告信息。tail -f /opt/tomcat/logs/catalina.out
Tomcat內置了Manager應用和JMX,可實現更詳細的運行狀態監控:
$TOMCAT_HOME/conf/tomcat-users.xml
,添加具有manager-gui
角色的用戶(需設置強密碼)。<role rolename="manager-gui"/>
<user username="admin" password="your_password" roles="manager-gui"/>
http://<服務器IP>:8080/manager/html
,使用上述賬號登錄即可查看監控頁面。$TOMCAT_HOME/bin/catalina.sh
,添加JMX配置(替換為實際端口,如9090)。export 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"
jconsole
或VisualVM
工具,選擇“遠程進程”,輸入localhost:9090
即可連接并查看指標。第三方工具可實現自動化監控、告警、可視化,適合大規?;蛏a環境:
JMX Exporter
收集Tomcat的JMX指標,Grafana將指標可視化成儀表盤。jmx_prometheus_javaagent
(如jmx_prometheus_javaagent-0.3.1.jar
)并創建配置文件(如jmx-exporter.yaml
),定義需要收集的指標(如線程池、請求計數、內存使用)。catalina.sh
,添加JMX Exporter代理參數(替換為實際路徑和端口)。export JAVA_OPTS="$JAVA_OPTS -javaagent:/path/to/jmx_prometheus_javaagent-0.3.1.jar=9010:/path/to/jmx-exporter.yaml"
prometheus.yml
),添加Tomcat抓取任務(指向JMX Exporter端口)。check_tomcat
插件監控Tomcat狀態(如進程是否存在、端口是否可達),配置告警規則(如進程掛掉時發送郵件)。通過Shell腳本可實現定時檢查與自動恢復,適合簡單場景:
#!/bin/bash
TOMCAT_PID=$(ps -ef | grep java | grep tomcat | grep -v 'grep' | awk '{print $2}')
if [ -z "$TOMCAT_PID" ]; then
echo "$(date): Tomcat進程未運行,正在重啟..." >> /var/log/tomcat_monitor.log
/opt/tomcat/bin/startup.sh # 替換為實際Tomcat啟動腳本路徑
else
echo "$(date): Tomcat進程運行正常,PID: $TOMCAT_PID" >> /var/log/tomcat_monitor.log
fi
crontab -e
添加定時任務(每分鐘執行一次)。* * * * * /path/to/monitor.sh
以上方法覆蓋了從基礎到高級的Tomcat監控需求,可根據實際場景選擇合適的方式(如個人開發用系統命令或Tomcat Manager,生產環境用Prometheus+Grafana或Zabbix)。