以下是在Ubuntu上监控WebLogic运行状态的方法及工具:
一、原生工具与配置
-
WebLogic管理控制台
通过浏览器访问 http://<服务器IP>:7001/console,登录后进入 Servers → 监控 → Performance 查看内存、线程、JMS等状态。
- 需启用JMX远程访问:修改
setDomainEnv.sh,添加 -Dcom.sun.management.jmxremote.port=9000 等参数。
-
JMX远程监控
- 使用 JConsole:安装JDK后运行
jconsole,连接 service:jmx:rmi:///jndi/rmi://<IP>:<端口>/jmxrmi,查看堆内存、线程池等指标。
- 使用 WLST脚本:通过命令行执行脚本获取服务器状态,如
connect('用户名','密码','t3://<IP>:7001') 后调用 getHealthState()。
二、第三方工具
- Prometheus + Grafana
- 部署Prometheus并配置JMX Exporter抓取WebLogic指标,通过Grafana可视化展示内存、CPU、线程等数据。
- Zabbix/Nagios
- 配置Zabbix Agent或Nagios插件,监控服务器基础指标(CPU、内存、磁盘)及WebLogic特定指标(如JDBC连接池、请求队列)。
- 系统监控工具
- htop/top:实时查看进程资源占用(CPU、内存)。
- Netdata:实时监控系统指标,支持自定义WebLogic监控项。
三、关键监控指标
- 内存:堆内存使用率(避免超过80%)、GC频率。
- 线程:空闲线程数、活动线程数、队列长度(避免积压导致阻塞)。
- JMS/连接池:活跃连接数、待处理消息数、事务状态。
- 日志:定期检查
logs/server.log,关注异常错误(如连接超时、线程死锁)。
四、自动化与告警
- 通过 cron定时任务 定期执行监控脚本,将结果发送至邮件或集成到监控系统。
- 结合Prometheus Alertmanager或Zabbix告警规则,对异常指标(如CPU负载>80%、线程阻塞)触发告警。
参考来源: