首先确认WebLogic服务是否正在运行,可使用systemctl
命令(适用于使用systemd的Debian版本):
sudo systemctl status weblogic
若服务未运行,使用以下命令启动:
sudo systemctl start weblogic
若需后台运行,可通过nohup
或&
将进程放入后台。
日志是故障排查的核心依据,WebLogic主要日志文件位于**$DOMAIN_HOME/logs**目录(如/path/to/weblogic/domain/mydomain/logs
),关键文件包括:
常用日志分析命令:
tail -f /path/to/weblogic/logs/server.log
;grep "ERROR" /path/to/weblogic/logs/server.log
;awk '/ERROR/ {print $1, $2, $3}' /path/to/weblogic/logs/server.log | sort | uniq -c | sort -nr
。此外,可通过journalctl
查看系统级日志(关联WebLogic服务):
journalctl -u weblogic # 查看WebLogic服务日志
journalctl -b -1 # 查看上一次启动日志(排查崩溃原因)
资源不足(内存、CPU、磁盘I/O)是WebLogic故障的常见诱因,需通过以下命令监控:
free -h
(查看可用内存)、top
(按内存排序进程);top
(按CPU排序进程)、sar -r
(确认系统内存可用性);iostat
(检查磁盘读写瓶颈)。若内存不足,需调整WebLogic JVM参数(如-Xms
初始堆内存、-Xmx
最大堆内存)或增加服务器物理内存。
WebLogic的配置文件(如config.xml
、domain.xml
)错误会导致服务异常,需重点检查:
可使用XML验证工具(如xmllint
)检查配置文件语法:
xmllint --noout /path/to/weblogic/config/config.xml
确保WebLogic服务器网络连通性及端口可达性:
ping <weblogic_server_ip>
;telnet <weblogic_server_ip> 7001
(若未安装telnet,可通过sudo apt install telnet
安装);iptables -L
(查看防火墙规则),若端口被阻止,需添加允许规则:sudo iptables -A INPUT -p tcp --dport 7001 -j ACCEPT
sudo service iptables save # 保存规则(Debian 9及以下)
若出现OutOfMemoryError
(OOM),需通过以下步骤排查:
startWebLogic.sh
)中添加JVM参数:-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/path/to/dump.hprof
当OOM发生时,自动生成堆转储文件dump.hprof
;jstat
工具监控GC情况(每2秒刷新一次,共10次):jstat -gcutil <pid> 2000 10
关注O
(老年代使用率)、FGC
(Full GC次数)等指标;jstack
抓取线程转储,分析死锁或资源争用:jstack <pid> > thread_dump.txt
可使用jvisualvm
(JDK自带工具)或MAT
(Memory Analyzer Tool)分析堆转储文件,定位内存泄漏点。http://<server_ip>:7001/console
,检查服务器状态、部署的应用及集群配置;connect('weblogic', 'password', 't3://localhost:7001')
serverRuntime()
exit()
jconsole
)监控WebLogic内存、线程、连接池等指标。确保WebLogic Server及JDK为最新版本,及时应用Oracle官方发布的安全补丁与bug修复,避免已知问题导致故障。
nohup.out
日志中的网络配置错误(如IP绑定、端口冲突);$DOMAIN_HOME/servers/<server_name>/logs
),定位部署错误(如类加载冲突、资源缺失);NodeManager
日志,查找自动重启原因(如心跳超时、资源不足)。