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
目录。若上述方法无法解决问题,需参考官方资源获取针对性解决方案: