1. 使用WebLogic自帶管理工具
WebLogic自帶的管理控制臺和腳本工具是最基礎的監控方式,無需額外安裝軟件。
http://<weblogic-server>:7001/console,使用管理員賬戶登錄。導航至“Monitoring”部分,選擇目標服務器(如“myServer”),即可查看JVM堆使用率、線程池活躍線程數、連接池等待隊列長度、響應時間等核心指標。若需設置報警,可在“Alerts”選項卡中創建規則(如“當活躍線程數超過100時觸發郵件通知”)。ServerRuntimeMBean的健康狀態(getHealthState())和線程池指標(getExecuteThreadsCurrentThreadsHighThreshold()),并將結果寫入日志或發送告警。示例腳本:connect('weblogic', 'welcome1', 't3://localhost:7001')
serverRuntime = cmo.getServerRuntime()
print("Health State:", serverRuntime.getHealthState())
print("Active Threads:", serverRuntime.getExecuteThreadsCurrentThreads())
disconnect()
2. 基于JMX的監控
JMX是Java應用的標準監控接口,WebLogic通過JMX暴露了大量性能指標,可通過以下方式利用:
setDomainEnv.sh中啟用JMX(添加-Dcom.sun.management.jmxremote.port=9000 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false),然后啟動JConsole,選擇“遠程”選項卡,輸入WebLogic服務器IP和JMX端口(如localhost:9000)即可查看內存、線程、類加載等指標。weblogic-monitoring-exporter jar包,配置config.yml文件(指定WebLogic服務器地址和端口),啟動exporter(java -jar weblogic-monitoring-exporter.jar config.yml)。Prometheus可通過http://<exporter-server>:9001/metrics抓取指標。3. 第三方監控工具集成
第三方工具提供更強大的可視化、報警和歷史數據分析功能,適合生產環境:
sudo apt install prometheus),編輯prometheus.yml配置文件,添加WebLogic exporter任務(scrape_configs中指定exporter地址);sudo apt install grafana),添加Prometheus作為數據源,導入WebLogic監控面板(如社區提供的“WebLogic Server Monitoring”面板),即可查看JVM內存趨勢、線程池使用率、請求響應時間等可視化圖表,并設置報警規則(如“當JVM堆使用率超過80%時發送Slack通知”)。apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-agent),配置Zabbix代理連接到服務器,添加WebLogic監控模板(可通過Zabbix前端手動添加或使用自動發現功能),監控進程狀態、CPU使用率、磁盤I/O、WebLogic服務可用性等指標,并設置觸發器(如“當進程停止時觸發郵件告警”)。4. 日志分析與自定義腳本
server.log(位于DOMAIN_HOME/servers/<server-name>/logs/)和access.log,通過grep、awk等命令提取錯誤信息(如“ERROR”、“Exception”)或性能相關日志(如請求處理時間),判斷服務器運行狀態。例如:grep "ERROR" /path/to/server.log | tail -n 50 # 查看最近50條錯誤日志
#!/bin/bash
if ps -ef | grep "weblogic.Server" | grep -v grep; then
echo "WebLogic is running."
else
echo "WebLogic is down!" | mail -s "WebLogic Alert" admin@example.com
fi
或Python腳本通過WLST獲取JVM內存使用率并發送告警(需安裝weblogic-management庫)。