温馨提示×

如何在Ubuntu上监控WebLogic

小樊
44
2025-12-20 16:07:28
栏目: 智能运维

在Ubuntu上监控WebLogic的可落地方案

一 监控总览与分层

  • 建议采用分层监控:
    1. 主机层:CPU、内存、I/O、网络、文件句柄等;
    2. JVM层:堆内存、GC、类加载、线程;
    3. WebLogic层:Server状态、线程池、JDBC连接池、请求队列、应用部署与健康;
    4. 日志层:server.log、access.log 等;
    5. 可视化告警层:集中展示与阈值告警。
  • 常用工具组合:
    • 主机与JVM:top/htop、vmstat、iostat、netstat、free、df、uptime
    • WebLogic自带:Administration Console、WLST、JMX
    • 第三方:Zabbix、Prometheus+Grafana、HertzBeat
    • 日志:tail -f、grep、awk 等文本处理。

二 快速上手 内置工具与WLST

  • 管理控制台查看
    • 访问 http://<管理地址>:7001/console,在 Servers -> -> Monitoring 下查看:
      • 常规:运行状态、版本、JDK/OS信息;
      • 性能:空闲线程数、等待队列长度、JVM堆使用 等。
  • WLST 在线查看运行时指标
    • 进入域目录的 bin,执行:
      • ./wlst.sh
      • connect(“weblogic”,“password”,“t3://localhost:7001”)
      • serverRuntime()
      • 可进一步获取 HealthState、线程、JVM 等运行时MBean信息。
  • JMX 直连
    • 使用 JConsole/VisualVM 通过 JMX 连接 WebLogic(T3 协议),浏览 ServerRuntimeMBean、ThreadPoolRuntime、JDBCConnectionPoolRuntime 等,观察健康、线程、连接池等关键指标。

三 主机与JVM层监控命令

  • 进程与资源:
    • 查看进程:ps -ef | grep weblogic;实时资源:top/htop;
    • 内存/磁盘:free -h、df -h;系统负载:uptime;
    • 虚拟内存与CPU/IO:vmstat 1 5;磁盘IO:iostat(需安装 sysstat:sudo apt install sysstat);
    • 网络连接:netstat -tulnp。
  • 日志实时查看:
    • 跟踪运行日志:tail -f $DOMAIN_HOME/servers//logs/server.log
    • 访问日志:tail -f $DOMAIN_HOME/servers//logs/access.log
  • 后台运行与保活:
    • 启动:nohup ./startWebLogic.sh > out.log 2>&1 &;
    • 停止:./stopWebLogic.sh;必要时用 kill -9 (谨慎)。

四 集中监控与告警方案

  • Zabbix
    • 在 Ubuntu 上部署 Zabbix Server + Agent,创建 HostItem/Trigger,采集系统指标并对接告警;
    • 通过 JMX 接口WLST 脚本 获取 WebLogic 指标,作为自定义监控项入库与可视化。
  • Prometheus + Grafana
    • 使用 weblogic-monitoring-exporter 暴露 WebLogic 指标(JMX/REST),Prometheus 抓取并存储,Grafana 配置 JVM/线程池/连接池 等面板;
    • 适合云原生与容器化环境的时序分析与容量规划。
  • HertzBeat
    • 开箱即用的 WebLogic 监控模板,支持 JMX 与自定义采集,快速接入与告警。

五 关键指标与告警阈值示例

  • 建议重点监控与阈值(按业务调整):
    • Server 健康:HealthState != HEALTH_OK 即告警;
    • 线程池:ExecuteThreadIdleCount 过低、PendingUserRequestCount 持续升高 触发告警;
    • JDBC 连接池:ActiveConnectionsCurrentCount 接近 MaxCapacityWaitSecondsHighCount > 0;
    • JVM 堆:HeapUsedPercent 持续 > 80% 告警,结合 GC 时间与次数观察是否存在泄漏;
    • 主机资源:CPU > 80% 持续 5 分钟、可用内存 < 10%、磁盘 > 85%、I/O 等待高;
    • 日志异常:server.log 出现 OutOfMemoryError、StuckThread、Unavailable 等关键字立即告警。

0