在 CentOS 上监控 WebLogic,一般从 系统层 + WebLogic 本身 + 应用层 三个维度来做。下面给你一套常用且实战可行的监控方案,从简单到进阶。
top
htop
vmstat 2
iostat -x 2
free -h
df -h
重点关注:
ps -ef | grep java
jps -l
WebLogic 是 Java 应用,JVM 是重点。
jstat -gc <pid> 1000
关注:
jstack <pid> > stack.txt
用于分析:
jmap -heap <pid>
jmap -histo <pid> | head -50
访问:
http://IP:7001/console
监控内容:
✅ 最直观、最常用
适合自动化监控。
$WL_HOME/common/bin/wlst.sh
示例:
connect('weblogic','password','t3://localhost:7001')
serverRuntime()
state()
可监控:
✅ 适合写脚本、定时任务
$DOMAIN_HOME/servers/AdminServer/logs
$DOMAIN_HOME/servers/<ManagedServer>/logs
关键日志:
server.logaccess.logdiagnostic.logtail -f server.log
grep -i "error\|exception\|oom\|deadlock" server.log
✅ 企业级、可视化、可告警
| 分类 | 指标 |
|---|---|
| JVM | Heap 使用率、GC 次数 |
| 线程 | 活跃线程数、阻塞线程 |
| JDBC | 连接池使用率、等待数 |
| 请求 | 吞吐量、响应时间 |
| 系统 | CPU、内存、文件句柄 |
| 应用 | 部署状态、异常日志 |
#!/bin/bash
PID=$(ps -ef | grep weblogic | grep -v grep | awk '{print $2}')
echo "WebLogic PID: $PID"
jstat -gc $PID
✅ 日常运维
✅ 生产环境
✅ 问题排查
如果你愿意,我可以:
你现在用的是 Admin Server + Managed Server 吗?单节点还是集群?