监控方案总览
在 CentOS 上监控 WebLogic 性能,建议采用“控制台 + WLST + JMX + 系统命令 + 第三方平台”的组合:控制台用于快速查看,WLST 做自动化巡检与健康检查,JMX 暴露细粒度指标,系统命令覆盖 OS 层资源,第三方平台实现集中可视化与告警(如 Prometheus + Grafana、Zabbix、Nagios、Applications Manager)。
内置与脚本化监控
- 管理控制台:访问 http://:7001/console,在 Servers → → Monitoring → Performance 查看 堆内存使用率(HeapFreePercent)、线程池(空闲/活跃线程、等待队列)、JDBC 连接池(活动/等待连接) 等关键指标。
- WLST 健康检查示例:
connect(‘weblogic’,‘welcome1’,‘t3://localhost:7001’)
serverRuntime = cmo.getServerRuntime()
print(“Health:”, serverRuntime.getHealthState())
for s in serverRuntime.getSubsystemHealthStates():
print(“Subsystem:”, s.getName(), “Health:”, s.getHealthState())
disconnect()
可将脚本加入定时任务,输出到日志或对接告警通道,用于日常巡检与阈值报警。
JMX 远程监控
- 启用与配置:编辑域目录 Domain_HOME/bin/setDomainEnv.sh,在 JAVA_OPTIONS 增加(示例端口 9000,生产环境请开启认证与 SSL):
-Dcom.sun.management.jmxremote.port=9000
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
重启后使用 JConsole 选择“远程”,连接 :9000 查看 JVM 堆、线程、类加载、MBean 等指标。
- 安全建议:为 JMX 创建专用 Monitor 用户并加入 Monitors 组,启用 Platform MBean Server、必要时开启 IIOP/SSL,避免开放到公网。
系统层面巡检命令
- 资源与连通性快速检查:
- 负载:uptime(1/5/15 分钟平均负载)
- 内存:free -h
- 磁盘 I/O:iostat -x 1
- 网络与端口:ss -tulnp | grep 7001 或 netstat -tulnp | grep 7001
- 进程:ps -ef | grep weblogic
这些命令用于定位 OS 瓶颈(CPU、内存、I/O、网络)与端口监听状态,配合应用层指标排查根因。
第三方监控与可视化
- Prometheus + Grafana:部署 weblogic-monitoring-exporter(WAR 部署到 WebLogic),在 Prometheus 配置抓取 /metrics,Grafana 导入 WebLogic 仪表盘 展示 JVM 堆、线程池、JDBC、响应时间 等;适合大规模与长期趋势分析。
- Zabbix / Nagios:通过 WLST/Shell 脚本采集 存活状态、线程数、连接池 等,配置触发器实现 邮件/短信 告警,适合已有监控体系的统一接入。
- APM 与商用工具:如 Applications Manager、AppDynamics、Dynatrace、Site24x7,提供 深度调用链、事务追踪、主动告警 与历史分析,适合企业级观测。
关键指标与告警阈值建议
| 维度 |
核心指标 |
建议阈值 |
说明 |
| JVM |
HeapFreePercent |
< 20% 持续 5 分钟 |
可能内存紧张,结合 GC 日志与 Full GC 频率 |
| 线程池 |
ExecuteThreadIdleCount / ThreadPoolQueueLength |
空闲 < 10% 且队列持续增长 |
请求堆积风险,需扩容或优化慢请求 |
| JDBC |
ActiveConnectionsCurrentCount / WaitingForConnectionCurrentCount |
等待连接 > 0 持续 3 分钟 |
连接池不足或泄漏,检查语句/超时/最大连接 |
| 请求 |
请求处理时间 P95/P99 |
P95 > 2–3 s |
结合慢事务与后端依赖排查 |
| OS |
Load / CPU / Memory / I/O |
Load > CPU 核数、Swap 使用 > 0、await 高 |
先排除 OS 层瓶颈再调 WebLogic 参数 |
| 阈值需结合基线调优,避免误报与漏报。 |
|
|
|