1. 通过WebLogic自带管理工具监控
WebLogic Server提供了图形化与管理命令行工具,可直接查看运行状态:
http://<WebLogic服务器IP>:7001/console(默认管理端口7001),使用管理员账号登录。导航至“Servers”→“MyServer”→“Monitoring”→“Performance”,可实时查看CPU、内存、线程池、JDBC连接池等性能指标;切换至“Health”标签页,可监控服务器健康状态(如“Running”“Warning”“Failed”)。ServerRuntimeMBean的健康状态与子系统指标(如线程、JDBC连接),适用于自动化监控场景。示例脚本:connect('weblogic', 'welcome1', 't3://localhost:7001') serverRuntime = cmo.getServerRuntime() print("Server Health State:", serverRuntime.getHealthState()) subsystemHealth = serverRuntime.getSubsystemHealthStates() for subsystem in subsystemHealth: print(f"Subsystem: {subsystem.getName()}, Health: {subsystem.getHealthState()}") disconnect() ```。 2. 使用JMX工具实时监控
WebLogic基于JMX(Java Management Extensions)暴露性能指标,可通过以下工具连接监控:
snap install visualvm安装,启动后添加远程JMX连接(输入WebLogic服务器IP、JMX端口,默认9000)。连接后,在“监控”标签页查看CPU、内存使用率;“线程”标签页查看线程状态与CPU占用;“MBeans”标签页可深入监控WebLogic特定指标(如线程池的“ExecuteThreadTotalCPUUsage”、JDBC连接的“ActiveConnectionsCurrentCount”)。jconsole命令),操作流程与JVisualVM类似,支持实时查看JVM内存(堆内存、非堆内存)、线程、类加载等信息。3. 日志分析与故障排查
WebLogic日志记录了服务器运行详情,是监控的重要补充:
$DOMAIN_HOME/logs目录($DOMAIN_HOME为域主目录,可通过echo $DOMAIN_HOME确认),主要日志文件为server.log(服务器运行日志)和access.log(HTTP访问日志)。tail -f server.log动态查看最新日志;grep '关键字' server.log查找特定错误(如“Exception”“ERROR”);也可使用vi或nano编辑器打开日志文件详细分析。4. 第三方监控工具集成
对于企业级需求,可使用第三方工具实现自动化、可视化监控:
weblogic_exporter(WebLogic专用导出器)采集性能指标(如JVM堆使用率、线程数、请求响应时间),推送至Prometheus存储。再通过Grafana创建可视化面板,展示WebLogic运行状态,支持告警规则配置(如CPU使用率超过80%触发邮件告警)。5. 自定义脚本监控
编写Shell/Bash脚本,结合WebLogic命令行工具(如status.sh)监控服务器状态:
check_weblogic.sh):#!/bin/bash DOMAIN_PATH=/Oracle/Middleware/user_projects/domains/base_domain SERVER_NAME=AServer ADMIN_URL="t3://localhost:7001" # 检查WebLogic进程是否存在 if pgrep -f "java.*${SERVER_NAME}" > /dev/null; then echo "WebLogic Server ${SERVER_NAME} is running." else echo "WebLogic Server ${SERVER_NAME} is not running!" # 可在此处添加重启逻辑(需谨慎) # $DOMAIN_PATH/bin/startWebLogic.sh & fi 赋予执行权限(chmod +x check_weblogic.sh),通过cron定时任务(如每5分钟执行一次)定期检查,确保服务器正常运行。