Ubuntu WebLogic出现故障如何快速排查
导读:Ubuntu上WebLogic故障的快速排查清单 一 定位范围与优先动作 先看控制台是否能打开:默认管理端口为7001(HTTPS 常为7002),若访问失败,优先确认服务是否真正启动、端口是否正确。 立刻查看关键日志: 域日志:$DO...
Ubuntu上WebLogic故障的快速排查清单
一 定位范围与优先动作
- 先看控制台是否能打开:默认管理端口为7001(HTTPS 常为7002),若访问失败,优先确认服务是否真正启动、端口是否正确。
- 立刻查看关键日志:
- 域日志:$DOMAIN_HOME/logs/server.log(启动失败、异常堆栈、致命错误)
- 控制台/节点管理器日志:$DOMAIN_HOME/servers//logs/*.log
- 启动输出:$DOMAIN_HOME/servers//logs/stdout.log、stderr.log
- 快速自检命令:
- 进程与端口:ps -ef | grep weblogic;ss -ltnp | egrep ‘:(7001|7002|5556)’
- 连通性:curl -Iv http://localhost:7001/console;nc -vz 127.0.0.1 7001
- 资源:top/vmstat 1 5、iostat -x 1 5(看 CPU、内存、IO 是否瓶颈)
以上动作能在数分钟内明确“服务未起/端口问题/资源瓶颈/应用异常”的大方向。
二 常见故障与一键处置
| 症状 | 快速定位 | 立即修复 |
|---|---|---|
| 访问 http://IP:7001/console 失败 | ss/ps 确认监听;查看 server.log 启动异常 | 端口被占用则 kill 占用进程或修改 config.xml 的 ListenPort;必要时开放防火墙(见下节) |
| 启动极慢或卡在初始化 | 观察启动日志与 CPU 占用 | 在 $JAVA_HOME/jre/lib/security/java.security 将 securerandom.source 改为 file:/dev/./urandom(加快熵源) |
| 受管服务器无法启动 | 查看受管服务器日志与 Node Manager 日志 | 清理诊断存储:删除 servers//data/store/diagnostics/WLS_DIAGNOSTICS.DAT* 后重启 |
| Node Manager 启动失败或报 “Invalid state file format” | 查看 nodemanager.log 与 servername.state | 删除 Domain_HOME/servers//data/nodemanager/.state 后重启 NM |
| 节点可本机启动、远程启动失败 | 检查 nodemanager.properties 与网络 | 确认 ListenPort=5556、必要时设 SecureListener=false;开放 5556 防火墙;核对 -Dweblogic.management.server=http://管理IP:7001 指向正确管理地址 |
| 启动后立即 FORCE_SHUTTING_DOWN | 查 server.log 安全/权限报错 | 目录权限不一致时执行:chown -R weblogic:weblogic < WebLogic安装目录> 后重启 |
| 以上条目覆盖了端口冲突、启动慢、诊断文件损坏、节点管理器异常、权限问题等高发场景。 |
三 深入诊断与性能问题
- 线程耗尽/应用挂起
- 判定:新请求超时、处理时间飙升;用 java weblogic.Admin t3://server:port PING 探测连通性(能 ping 多为应用线程问题)。
- 采集:连续抓取 3–5 次 Thread Dump,间隔 3–5 秒(kill -3 或 jstack),观察执行线程(如 weblogic.kernel.Default(self-tuning))是否大量 STUCK/WAITING,是否缺少 ListenThread/Socket Reader。
- 常见根因:JDBC 连接池耗尽、锁竞争/同步阻塞、外部依赖慢/不可用。
- 内存与 GC 异常
- 采集:jstat -gcutil 1s;必要时 jmap -heap/dump 做离线分析。
- 处置:结合 GC 日志与 heap dump 判断是否存在泄漏或配置不足,再调整堆大小与 GC 策略。
- 数据库与应用配置
- 核对连接池最大连接数、超时、验证查询;检查应用线程池与同步调用路径。
以上方法能在挂起、性能骤降时快速聚焦到线程、内存、连接池等根因。
- 核对连接池最大连接数、超时、验证查询;检查应用线程池与同步调用路径。
四 Ubuntu网络与权限要点
- 防火墙放行(UFW/iptables)
- UFW:sudo ufw allow 7001,7002,5556/tcp;sudo ufw reload
- firewalld:sudo firewall-cmd --permanent --add-port={ 7001,7002,5556} /tcp & & sudo firewall-cmd --reload
- 监听地址与主机名解析
- 管理/节点地址尽量使用 服务器内网 IP 或 FQDN,避免仅 localhost 导致远程不可达。
- 文件与目录权限
- 启动用户与 DOMAIN_HOME、BEA_HOME 目录属主保持一致,避免因权限导致无法写日志/创建文件。
- 节点管理器连通性
- 远程启动受管服务器时,确认 Node Manager 已启动、5556 端口可达,且 nodemanager.properties 的监听与加密设置正确。
这些网络与权限项在 Ubuntu 上尤为常见,直接影响控制台访问、节点管理与远程启停。
- 远程启动受管服务器时,确认 Node Manager 已启动、5556 端口可达,且 nodemanager.properties 的监听与加密设置正确。
五 5分钟应急脚本示例
- 一键健康检查(保存为 check_wls.sh,chmod +x 后执行)
#!/usr/bin/env bash
set -e
export DOMAIN_HOME=/home/weblogic/user_projects/domains/base_domain
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
echo "=== 进程与端口 ==="
ps -ef | grep -E 'weblogic\.Server' | grep -v grep
ss -ltnp | egrep ':(7001|7002|5556)'
echo "=== 本地连通性 ==="
curl -m 5 -Iv http://localhost:7001/console || true
echo "=== 资源使用 ==="
top -b -d 1 -n 5 | head -20
vmstat 1 5
iostat -x 1 5
echo "=== 最近错误日志(server.log 尾部 50 行)==="
tail -n 50 "$DOMAIN_HOME/logs/server.log" | egrep -i 'error|exception|fail|shut'
echo "=== Node Manager 端口 ==="
ss -ltnp | grep :5556 || echo "Node Manager 5556 未监听"
- 使用提示
- 若端口不通或进程不存在,优先检查日志与端口占用。
- 若 Node Manager 端口未监听,按第二节修复 NM 后再试。
- 若 server.log 出现安全/权限类报错,按第二节权限修复后重启。
该脚本覆盖了进程、端口、连通性、资源与日志的关键检查点,适合作为值守与应急的“第一响应”。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu WebLogic出现故障如何快速排查
本文地址: https://pptw.com/jishu/751047.html
