Debian上WebLogic故障排查方法
导读:Debian上WebLogic故障排查方法 一 快速定位流程 查看系统层面:使用tail -f /var/log/syslog、journalctl -xe、dmesg确认系统级错误、OOM、磁盘、网络等线索。 确认进程与资源:用ps a...
Debian上WebLogic故障排查方法
一 快速定位流程
- 查看系统层面:使用tail -f /var/log/syslog、journalctl -xe、dmesg确认系统级错误、OOM、磁盘、网络等线索。
- 确认进程与资源:用ps aux | grep weblogic定位进程,top/htop观察CPU/内存占用,free -m检查可用内存,iostat -x 1查看磁盘I/O。
- 检查网络连通:对管理端口(默认7001)执行nc -vz 127.0.0.1 7001或telnet 127.0.0.1 7001;必要时测试外部连通性与防火墙策略。
- 服务状态与重启:若已配置为系统服务,用systemctl status weblogic查看状态,异常时执行systemctl restart weblogic。
- 收集WebLogic日志:优先查看**$DOMAIN_HOME/logs/下的server.log**、access.log及域日志,结合tail -f实时跟踪。
- 校验配置:核对**$DOMAIN_HOME/config/config.xml关键配置、环境变量(如JAVA_HOME、MW_HOME、DOMAIN_HOME**)与启动脚本参数。
- 变更控制:完成修复后在变更单中记录根因、修复动作与验证结果,便于回溯。
二 日志与关键文件位置
- 系统日志:/var/log/syslog(Debian常用系统日志),配合journalctl与dmesg排查内核与系统服务异常。
- WebLogic日志:
- 服务器日志:$MW_HOME/user_projects/domains//servers//logs/*.log(如server.log)
- 访问日志:$MW_HOME/user_projects/domains//servers//logs/access.log
- 域日志:$MW_HOME/user_projects/domains//servers//logs/.log
- 启动输出:若以nohup ./startWebLogic.sh & 启动,关注nohup.out的启动期错误。
- 配置与脚本:$DOMAIN_HOME/config/config.xml为核心配置;$DOMAIN_HOME/bin/setDomainEnv.sh用于JVM与系统属性设置。
三 常见故障与处理要点
- 端口未监听/管理控制台访问失败:
- 现象:访问http://host:7001/console失败。
- 排查:netstat -tulpen | grep 7001或ss -ltnp | grep 7001确认监听;nc/telnet测试连通;检查防火墙/安全组。
- 内存与GC异常:
- 现象:出现OutOfMemoryError: Java heap space/Metaspace、或GC overhead limit exceeded。
- 处理:在setDomainEnv.sh调整**-Xms/-Xmx**(堆)与**-XX:MetaspaceSize/-XX:MaxMetaspaceSize**(元空间);结合GC日志分析对象生命周期与泄漏。
- 数据源与连接池:
- 现象:应用报NameNotFoundException(JNDI未找到)或ResourceLimitException(连接池耗尽)。
- 处理:核对数据源JNDI名称与应用一致;在控制台适当提升Initial/Maximum Capacity与Connection Timeout;检查数据库网络与账号权限。
- 类加载冲突与版本不兼容:
- 现象:NoSuchMethodError/NoClassDefFoundError/ClassCastException等。
- 处理:在应用的WEB-INF/weblogic.xml中使用**优先加载应用依赖(如javax.persistence.、org.hibernate.、javassist**等),避免与WebLogic自带模块冲突。
- Session复制配置不当:
- 现象:集群未启用却配置了replicated会话存储。
- 处理:在应用weblogic.xml将会话持久化类型改为memory或正确配置集群复制。
四 诊断与优化工具
- 线程与内存快照:在控制台或通过**jstack 获取线程Dump,使用jmap -heap **查看堆概要;必要时配合可视化工具分析热点与阻塞。
- 系统性能观测:top/htop(CPU/内存)、free -m(内存)、iostat -x 1(磁盘I/O)、sar -r(历史内存)、必要时mpstat细化CPU。
- 日志分析与可视化:用grep/awk快速筛查错误;通过Logstash/Graylog集中收集与告警;用GoAccess对access.log做实时访问分析。
- 远程调试:在setDomainEnv.sh中开启JDWP(示例:-Xrunjdwp:transport=dt_socket,address=8453,server=y,suspend=n),便于定位复杂问题。
五 最小复现与应急操作
- 最小化复现:保留干净环境,仅部署问题应用与必要数据源;逐步排除网络、数据库、依赖与配置因素。
- 变更与回滚:任何参数(JVM、连接池、依赖)调整先备份配置,变更后先小流量验证,异常立即回滚。
- 临时止血:无法快速恢复时,先停止应用/节点、切换到维护页、保留现场日志与线程Dump,再定位根因。
- 信息收集清单:打包server.log/access.log/nohup.out、config.xml、setDomainEnv.sh、线程Dump/堆Dump、系统dmesg/journalctl与top/iostat快照,便于团队会诊。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian上WebLogic故障排查方法
本文地址: https://pptw.com/jishu/776066.html
