首页主机资讯如何监控Linux WebLogic服务器状态

如何监控Linux WebLogic服务器状态

时间2025-12-12 23:16:04发布访客分类主机资讯浏览1501
导读: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.shJAVA_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
Ubuntu上Golang打包有哪些实用技巧 如何优化Ubuntu Golang打包过程

游客 回复需填写必要信息