监控Linux WebLogic服务器可通过以下方式实现:
一、图形化管理工具
- WebLogic管理控制台
通过浏览器访问 http://<服务器IP>:7001/console
,使用管理员账号登录,可监控服务器状态、JVM、线程池、JDBC等核心指标,适合手动查看和配置。
- JConsole/JVisualVM
基于JMX协议,通过配置JMX远程参数(如setDomainEnv.sh
中设置-Dcom.sun.management.jmxremote.port
等),连接服务器实时查看内存、线程、GC等指标。
二、命令行工具
- WLST脚本
使用WebLogic Scripting Tool编写Python脚本,定期采集JMX指标(如服务器状态、线程数、JDBC连接数等),支持自动化监控和告警。
示例脚本:获取服务器状态、JVM堆内存、线程数等信息。
- 系统命令行工具
通过top
、vmstat
、iostat
等命令监控服务器基础资源(CPU、内存、磁盘IO等)。
三、第三方监控工具
- Prometheus + Grafana
通过JMX Exporter采集WebLogic JMX指标,Prometheus存储并告警,Grafana展示可视化仪表盘,支持自定义监控项和智能告警。
- Zabbix/Nagios
配置监控项(如CPU、内存、线程池状态、JDBC连接数等),支持分布式监控和告警规则设置。
- 商业APM工具
如Dynatrace、AppDynamics,提供端到端事务追踪、代码级性能分析,适合复杂应用场景。
四、关键监控指标
- JVM层面:堆内存使用率、GC频率与时长、Stuck线程数。
- 线程池:活动线程数、空闲线程数、排队请求数、吞吐量。
- JDBC连接池:活跃连接数、等待连接数、泄露连接数。
- 服务性能:HTTP请求响应时间、JMS队列积压量、事务成功率。
- 系统资源:CPU利用率、磁盘IO、网络流量。
五、最佳实践
- 启用JMX远程监控:在
setDomainEnv.sh
中配置JMX参数,确保安全的前提下开放必要端口。
- 设置告警规则:对关键指标(如Stuck线程、Full GC频繁、连接池耗尽等)配置阈值告警,及时发现异常。
- 日志分析:定期查看
server.log
、GC日志,结合ELK等工具分析错误和性能瓶颈。