WebLogic在Ubuntu上的故障排查步骤
导读:Ubuntu上WebLogic故障排查步骤 一 快速定位与日志检查 确认服务状态与监听端口:查看进程 ps -ef | grep weblogic;检查端口 ss -ltnp | grep 7001(默认管理端口),必要时用 kill -...
Ubuntu上WebLogic故障排查步骤
一 快速定位与日志检查
- 确认服务状态与监听端口:查看进程 ps -ef | grep weblogic;检查端口 ss -ltnp | grep 7001(默认管理端口),必要时用 kill -9 PID 释放占用。
- 优先查看关键日志:
- 域日志:$DOMAIN_HOME/servers/AdminServer/logs/< domain_name> .log
- 服务器日志:$DOMAIN_HOME/servers/< SERVER_NAME> /logs/< SERVER_NAME> .log
- 启动输出:$DOMAIN_HOME/servers/AdminServer/logs/startWebLogic.log
- HTTP访问日志:$DOMAIN_HOME/servers/< SERVER_NAME> /logs/access.log
- 常用命令:tail -f server.log;grep -n “ERROR|Exception” server.log;grep -C 10 “关键字” server.log。
- 控制台不可达时,先核对监听端口与进程,再回到日志定位根因。
二 启动失败与运行异常通用排查
- 端口与连通性:ss -ltnp | grep 7001;如冲突,释放或调整 config.xml 的 ListenPort;防火墙放行 sudo ufw allow 7001/tcp,云主机同步安全组。
- 资源与JVM:top/vmstat/iostat 观察 CPU/内存/磁盘IO;在 startWebLogic.sh 中按需调整 -Xms/-Xmx,并开启 -verbose:class -XX:+PrintGCDetails -XX:+PrintGCDateStamps 获取类加载与GC细节。
- 启动缓慢(熵不足):编辑 $JAVA_HOME/jre/lib/security/java.security,将 securerandom.source=file:/dev/urandom 改为 securerandom.source=file:/dev/./urandom。
- 配置与权限:核对 config.xml 关键配置;确保启动用户对 $DOMAIN_HOME 及子目录拥有读写权限。
- 数据库连接:校验 JDBC URL、驱动版本、账号口令;检查数据库与监听可达性;连接池参数(初始/最大连接、超时)是否合理。
三 常见故障对照与修复
| 症状 | 快速检查 | 修复建议 |
|---|---|---|
| 访问控制台 http://IP:7001/console 失败 | ss -ltnp | grep 7001;netstat -an |
| 启动极慢或卡在初始化 | dmesg/日志无进展 | 将 securerandom.source 改为 file:/dev/./urandom |
| 启动报错 “Could not obtain the localhost address” | hostname 解析 | 检查 /etc/hosts 与 /etc/hostname,确保能解析本机名 |
| 无法获取文件锁(.lok) | lsof | grep .lok |
| 节点管理器无法启动(Invalid state file format) | 查看 nodemanager.log | 删除 Domain_HOME/servers//data/nodemanager/*.state 后重启 NM |
| 受管服务器无法启动(WLS_DIAGNOSTICS*.DAT 异常) | 查看 SERVER.log | 删除 servers//data/store/diagnostics/WLS_DIAGNOSTICS.DAT* 后启动 |
| 部署/脚本执行超时 | 控制台是否有待激活变更 | 登录控制台激活或回退变更;释放编辑锁 |
| 认证失败(boot.properties 或控制台登录) | 核对凭据文件与账号 | 在 servers/AdminServer/security/boot.properties 写入正确 username/password(首次启动后会被加密) |
四 诊断工具与性能分析
- WLST 运维:使用 WLST 查看与管理对象,如 printAdminServer()、printServer()、printMBean()。
- JVM 诊断:jstack > jstack.out 获取线程快照;jmap -dump:format=b,file=heap.hprof 生成堆转储,配合 Eclipse MAT 或 YourKit 分析内存泄漏与对象占用。
- 系统资源:top/htop 观察 CPU/内存;vmstat 观察虚拟内存;iostat -x 1 观察磁盘 I/O。
五 日志管理与清理
- 日志位置与查看:$DOMAIN_HOME/logs 下常见文件有 server.log、access.log、diagnostic.log;使用 tail -f、grep、awk 进行检索与统计。
- 日志轮转:使用 logrotate 配置每日轮转、保留 7 天、压缩归档,示例:
/path/to/weblogic/logs/*.log { daily; rotate 7; compress; missingok; notifempty; create 0644 weblogic weblogic } - 远程与可视化:可结合 ELK(Elasticsearch+Logstash+Kibana)进行集中化收集、检索与可视化分析。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: WebLogic在Ubuntu上的故障排查步骤
本文地址: https://pptw.com/jishu/784610.html
