如何监控Linux WebLogic服务器状态
导读:Linux 上监控 WebLogic 的实用方案 一 快速检查与日志定位 进程与端口:确认进程存活与监听端口,例如查看包含 weblogic 的进程并过滤端口 7001。 命令示例: ps -ef | grep weblogic ss...
Linux 上监控 WebLogic 的实用方案
一 快速检查与日志定位
- 进程与端口:确认进程存活与监听端口,例如查看包含 weblogic 的进程并过滤端口 7001。
- 命令示例:
- ps -ef | grep weblogic
- ss -lntp | grep 7001 或 netstat -anp | grep 7001
- 命令示例:
- 管理控制台:登录 http://:7001/console,在“Servers -> -> Monitoring”查看运行状态、线程、JVM、数据源等。
- 实时日志:跟踪服务器标准输出与服务器日志,快速发现异常与告警。
- 命令示例:tail -f $DOMAIN_HOME/servers/< server_name> /logs/< server_name> .out
- 命令示例:tail -f $DOMAIN_HOME/servers/< server_name> /logs/server.log
- 说明:控制台与日志路径为 WebLogic 常用默认位置,适用于日常巡检与问题初判。
二 内置工具 WLST 脚本化监控
- 连接与查询示例(进入 $WEBLOGIC_HOME/bin,执行 ./wlst.sh):
- 连接管理服务器
- connect(‘weblogic’,‘password’,‘t3://localhost:7001’)
- 查看运行时服务器状态
- serverRuntime()
- 查看健康状态(HealthState)
- serverRuntime = cmo.getServerRuntime()
- print(“Health:”, serverRuntime.getHealthState())
- 查看线程与队列
- cd(‘ServerRuntimes/’ + serverRuntime.getName() + ‘/ThreadPoolRuntime/’ + serverRuntime.getName())
- print(‘ExecuteThreadsCurrentIdleCount:’, cmo.getExecuteThreadsCurrentIdleCount())
- print(‘PendingRequestCurrentCount:’, cmo.getPendingRequestCurrentCount())
- 查看 JDBC 连接池
- cd(‘/JDBCServiceRuntime/’ + serverRuntime.getName() + ‘/JDBCDataSourceRuntimeMBeans/’)
- print(‘ActiveConnectionsCurrentCount:’, cmo.getActiveConnectionsCurrentCount())
- print(‘WaitingForConnectionCurrentCount:’, cmo.getWaitingForConnectionCurrentCount())
- print(‘WaitSecondsHighCount:’, cmo.getWaitSecondsHighCount())
- 退出
- disconnect()
- 连接管理服务器
- 建议:将上述 WLST 片段放入巡检脚本,定时执行并输出到监控日志或对接告警系统。
三 JMX 远程监控
- 开启 JMX(示例在 $DOMAIN_HOME/bin/setDomainEnv.sh 的 JAVA_OPTIONS 追加,生产环境请启用认证与 SSL):
- -Dcom.sun.management.jmxremote.port=9000
- -Dcom.sun.management.jmxremote.authenticate=false
- -Dcom.sun.management.jmxremote.ssl=false
- 重启后生效
- 本地或远程连接:在 JDK 的 bin 目录执行 jconsole,选择“远程”,输入 :9000 连接并查看 MBeans(JVM、线程、连接池等)。
- 说明:JMX 适合细粒度指标采集与可视化,配合脚本可实现自动化巡检与阈值告警。
四 第三方监控与可视化
- Zabbix:通过 JMX 或自定义脚本采集 WebLogic 指标,配置触发器实现告警;同时监控主机 CPU/内存/磁盘 IO 与应用可用性。
- Prometheus + Grafana:使用 weblogic-monitoring-exporter 暴露 WebLogic 指标,Prometheus 拉取,Grafana 展示与告警。
- Nagios:编写 Shell/Python 脚本(基于 WLST/JMX)检查健康状态、线程、连接池等,纳入服务检查与告警策略。
- 商业 APM:如 Applications Manager 提供 WebLogic 专项监控、拓扑、事务追踪与告警能力。
- 选型建议:中小规模可优先 Zabbix + JMX;云原生与可视化优先 Prometheus + Grafana;需要深度事务追踪引入 APM。
五 关键监控指标与告警阈值建议
| 领域 | 关键指标 | 告警或关注建议 |
|---|---|---|
| JVM | Heap/Non-Heap、GC 次数与耗时 | 堆持续增长、Full GC 频繁或单次耗时过长需排查内存泄漏或调优 |
| 线程池/执行队列 | 空闲线程、当前线程、队列长度、等待最久请求 | 队列持续增长、空闲线程趋零、等待时间飙升提示过载或阻塞 |
| WorkManager 与卡住线程 | 卡住线程数、Stuck Thread Max Time | 出现卡住线程或 Health 告警时立刻抓取 thread dump 分析 |
| JDBC 连接池 | 当前/最大活动连接、等待连接数、等待最长时间、泄漏检测 | 等待连接数高或等待时间长需扩容或排查连接泄漏(启用 Profile Connection Leak) |
| JMS | 队列/主题消息积压、发送/接收速率 | 积压持续增长可能导致 OOM 或 GC 压力,需扩容消费者或优化处理 |
| JTA 事务 | 活动/提交/回滚事务数 | 回滚率高、事务长时间未决需排查锁竞争与慢 SQL |
| Servlet/JSP | 请求数、平均响应时间 | 响应时间异常升高定位慢方法/外部依赖/慢 SQL |
| 主机与网络 | CPU、内存、磁盘 IO、网络连通性 | CPU/内存异常、磁盘 IO 高、与数据库/其他节点连通性异常均需联动排查 |
- 说明:以上为 WebLogic 运维中高频且有效的观测面,建议结合基线设置动态阈值与趋势告警。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何监控Linux WebLogic服务器状态
本文地址: https://pptw.com/jishu/771045.html
