1. 通过WebLogic管理控制台监控
WebLogic自带图形化管理控制台,是最基础的监控方式。登录控制台后,导航至Servers → 目标服务器 → Monitoring → Performance,可实时查看服务器的关键性能指标,包括:线程池状态(当前活动线程数、空闲线程数、最大线程数)、内存使用情况(堆内存/非堆内存的使用量、GC次数及耗时)、JDBC连接池(活跃连接数、等待连接数、连接池大小)、请求处理时间(平均响应时间、吞吐量)等。这些指标能快速反映服务器的运行状态,帮助定位基础性能问题。
2. 使用JMX远程监控(JConsole/VisualVM)
JMX(Java Management Extensions)是Java标准的监控接口,通过配置可远程监控WebLogic的详细性能数据。
bin/setDomainEnv.sh文件,在JAVA_OPTIONS中添加以下参数(生产环境需开启认证和SSL):JAVA_OPTIONS="$JAVA_OPTIONS -Dcom.sun.management.jmxremote.port=9000
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false"
保存后重启WebLogic使配置生效。bin目录下启动jconsole,选择“远程”选项卡,输入WebLogic服务器的IP地址和JMX端口(如192.168.1.100:9000),连接后可查看内存、线程、类加载器、MBeans等详细指标,还能生成堆转储文件分析内存泄漏。3. 利用WLST脚本监控
WLST(WebLogic Scripting Tool)是Oracle提供的命令行脚本工具,可通过脚本自动化监控WebLogic状态。例如,以下脚本可获取服务器的健康状态和子组件状态:
# 连接到WebLogic服务器
connect('weblogic', 'welcome1', 't3://localhost:7001')
# 获取ServerRuntimeMBean
serverRuntime = cmo.getServerRuntime()
# 获取健康状态
healthState = serverRuntime.getHealthState()
print("Server Health State:", healthState)
# 获取子组件健康状态(如JDBC、线程池)
subsystemHealthStates = serverRuntime.getSubsystemHealthStates()
for subsystem in subsystemHealthStates:
print("Subsystem:", subsystem.getName(), "Health State:", subsystem.getHealthState())
# 断开连接
disconnect()
将脚本保存为.py文件并执行,可批量获取监控数据,适合集成到自动化运维流程中。
4. 第三方监控工具集成
weblogic-monitoring-exporter(WebLogic官方提供的REST端点)暴露性能指标,Prometheus定时拉取数据,Grafana配置可视化 dashboard,实现实时监控和告警。这种方式支持自定义指标和大规模集群监控。5. 系统层面监控辅助
使用Linux系统工具监控WebLogic所在主机的资源使用情况,辅助定位性能瓶颈:
注意事项
-Dcom.sun.management.jmxremote.authenticate=true)和SSL加密(-Dcom.sun.management.jmxremote.ssl=true),避免未授权访问;