Debian环境下WebLogic故障排除方法
WebLogic的日志是故障排查的核心依据,Debian环境下主要日志路径为$DOMAIN_HOME/logs(如/opt/weblogic/user_projects/domains/base_domain/logs),关键日志包括:
server.log:记录服务器启动、停止、错误及警告信息;domain.log:域级别的操作日志;console.log:管理控制台访问日志。tail -f /opt/weblogic/user_projects/domains/base_domain/logs/server.log # 实时跟踪日志
grep "ERROR" /opt/weblogic/user_projects/domains/base_domain/logs/server.log # 筛选错误信息
journalctl -u weblogic # 通过systemd查看WebLogic服务日志(若以systemd方式运行)
通过日志中的异常堆栈、错误代码(如bea-000386网络配置错误),可快速定位问题根源。
系统资源不足是WebLogic运行异常的常见原因,需检查以下指标:
free -h查看系统内存剩余量,top命令查看WebLogic进程(如java进程)的内存占用;若存在内存泄漏,可使用jstat -gcutil <pid>监控JVM堆内存(如Eden区、Old区使用率),并通过jmap -heap <pid>导出堆内存快照,用Memory Analyzer(MAT)分析泄漏点。top命令查看CPU使用率,若某进程占用过高,可通过jstack <pid>获取线程转储,分析高CPU线程的堆栈信息(如死循环、同步锁争用)。df -h检查磁盘剩余空间,避免因/或/opt分区满导致WebLogic无法启动。WebLogic的配置文件错误(如语法错误、参数配置不当)会导致服务异常,需重点检查:
$DOMAIN_HOME/config),验证Server、Cluster、Data Sources(JDBC连接池)、Security(安全配置)等标签的正确性(如数据库URL、用户名密码、集群节点IP);可使用XML验证工具(如xmllint)检查文件语法。<name>, <listen-address>, <listen-port>等参数是否符合预期。JAVA_HOME(如/usr/lib/jvm/java-11-openjdk-amd64)、DOMAIN_HOME(域目录路径)等环境变量已正确设置,并持久化到/etc/profile.d/weblogic.sh文件中。网络连接异常或端口冲突会导致WebLogic无法访问,需进行以下检查:
netstat -tulnp | grep <port>(如7001)或ss -ltnp | grep <port>查看端口是否被其他进程占用;若冲突,可修改config.xml中的<listen-port>参数更换端口。iptables -L或ufw status查看防火墙规则,确保WebLogic端口(默认7001、7002)开放;若使用ufw,可执行ufw allow 7001/tcp放行端口。ping <ip>测试服务器与客户端的连通性,telnet <ip> <port>测试端口是否可达(如telnet localhost 7001)。当WebLogic出现响应慢、CPU/内存占用过高时,需进行性能分析:
jstack <pid>获取线程转储,通过Thread Dump Analyzer(TDA)或VisualVM工具分析线程状态(如RUNNABLE、BLOCKED),查找死锁(deadlock)或长时间等待的线程(如数据库查询阻塞)。OutOfMemoryError,需在启动脚本(startWebLogic.sh)中添加-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/weblogic/dumps参数,生成堆转储文件;使用MAT分析堆内存中的对象分布(如缓存过大、对象未释放)。http://<ip>:7001/console)查看Data Sources的连接数、活跃连接数,确认max-capacity是否合理,避免连接泄漏。WebLogic提供多种内置工具辅助故障排查:
Harvester收集JVM、线程、数据源等指标,设置Diagnostic Image捕获故障时刻的系统状态(如内存、线程、配置)。connect('weblogic', 'password', 't3://localhost:7001')
serverRuntime()
ls() # 列出服务器运行时信息
disconnect()
http://<ip>:7001/console登录控制台,查看服务器状态(如Running/Admin)、性能指标(如CPU使用率、内存占用)、部署的应用程序状态(如Active/Failed)。确保Debian系统与WebLogic版本兼容,并安装所有必要依赖:
java -version确认Java版本;推荐使用Oracle JDK或OpenJDK(sudo apt install openjdk-11-jdk)。sudo apt update && sudo apt upgrade更新Debian系统及软件包,修复潜在的安全漏洞和兼容性问题。libXtst.so.6),可通过apt安装(如sudo apt install libxtst6)或手动下载放置到$JAVA_HOME/jre/lib/amd64目录。若上述方法无法解决问题,需参考官方资源获取针对性解决方案: