centos上weblogic的故障排查方法有哪些
导读:CentOS 上 WebLogic 故障排查方法 一 快速定位流程 明确症状:是无法启动、控制台访问慢/卡、端口访问失败、应用报连接异常,还是频繁重启/宕机。 查看服务状态与端口:确认进程在跑、监听端口正确。示例:ps -ef | gre...
CentOS 上 WebLogic 故障排查方法
一 快速定位流程
- 明确症状:是无法启动、控制台访问慢/卡、端口访问失败、应用报连接异常,还是频繁重启/宕机。
- 查看服务状态与端口:确认进程在跑、监听端口正确。示例:
ps -ef | grep weblogic、netstat -tulpen | grep -E '7001|7002|5556'。 - 第一时间看日志:优先检查 DOMAIN_HOME/servers/server_name/logs 下的 server.log、AdminServer.out、nodemanager.log,从最近的错误堆栈定位模块与原因。
- 做最小化验证:本机
curl http://localhost:7001/console与远程curl -vk https://host:7002/console对比,区分网络与应用层问题。 - 复核变更:最近是否调整了JDK版本、启动用户、防火墙/SELinux、数据源/连接池、Node Manager 配置。
二 常见故障与处理要点
| 症状 | 快速检查 | 处理要点 |
|---|---|---|
| 启动失败或反复重启 | server.log 报异常;目录存在锁文件 | 删除锁文件:rm -f DOMAIN_HOME/servers/*/tmp/*.lok;必要时清理异常残留进程后再启 |
| 控制台访问慢或卡在登录后 | 登录后长时间无响应 | 调整 JVM 熵源:$JAVA_HOME/jre/lib/security/java.security 中设置 securerandom.source=file:/dev/./urandom |
| 启动极慢且无明显报错 | 诊断目录数据异常大 | 清理 data/diagnostics 下大文件(如 WLS_DIAGNOSTICS*.DAT),并在控制台降低 WLDF 采集级别 |
| 无法访问 http://host:7001/console | 端口未监听或被占用 | netstat 查占用;修改 config.xml 的 ListenPort 或释放占用进程 |
| Node Manager 启动失败 | nodemanager.log 报状态文件格式错误 | 删除 DOMAIN_HOME/servers/servername/data/nodemanager/*.state 后重启 NM |
| 数据库连接失败/连接池耗尽 | 应用报连接超时/获取连接失败 | 核查 JDBC URL、驱动、账号权限;检查连接池 最大连接数/超时/验证测试;确认数据库网络与防火墙可达 |
| 认证与启动身份异常 | 启动日志报 Authentication denied: Boot identity not valid |
更新 boot.properties(明文)后重启,首次会自动加密;必要时按官方流程重置管理密码 |
| OutOfMemoryError | server.log 或 stdout 出现 OOM | 区分 Java 堆 OOM 与 本机 OOM;采集 GC 日志/堆转储 分析;合理设置 -Xms/-Xmx,排查内存泄漏与线程/连接泄漏 |
三 日志与诊断信息收集
- WebLogic 日志:重点关注 server.log、AdminServer.out、access.log,从时间戳与堆栈定位模块(如 JDBC、JMS、EJB、WorkManager)。
- 启动过程日志:使用
tail -f startWebLogic.log观察启动阶段卡点与报错。 - 系统侧日志:使用
journalctl -xe、/var/log/messages、/var/log/secure排查系统资源、权限、SELinux、PAM、防火墙等引发的间接问题。 - JVM 诊断:开启 -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:,必要时采集 heap dump 并用 Eclipse MAT 分析泄漏根因。
- WLDF 与诊断数据:若启动慢或异常,检查 WLDF 采集量 与
data/diagnostics目录大小,必要时降低采集级别或清理历史数据。
四 网络与系统层面的排查
- 连通性:
ping、traceroute、curl -I验证到数据库与应用前端/后端的路径与返回码。 - 端口与监听:
ss -lntp | grep -E '7001|7002|5556',确认监听地址为 0.0.0.0(如需远程访问),而非仅 127.0.0.1。 - 防火墙与 SELinux:
firewall-cmd --list-all与getenforce,按需放行 7001/7002/5556 等端口或临时置SELINUX=permissive验证。 - DNS 与解析:
nslookup/dig确认域名解析正确,避免因解析慢导致控制台/应用初始化延迟。 - 资源与限制:
free -m、df -h、ulimit -a、ps -o pid,vsz,comm -p < WLS_PID>检查内存、磁盘、句柄与虚拟内存是否受限。
五 性能与稳定性优化建议
- JVM 与熵源:为减少控制台/首次访问的随机源阻塞,设置
securerandom.source=file:/dev/./urandom。 - 内存与 GC:结合负载设置 -Xms/-Xmx,开启并定期分析 GC 日志;出现 OOM 时采集 heap dump 定位对象泄漏或配置不足。
- 连接池与数据源:合理设置 Initial/Max Capacity、Connection Timeout、Test Connections on Reserve/Create/Release,并开启有效性测试,防止连接泄漏与“池耗尽”。
- WLDF 采集:生产环境避免过高的 WLDF 诊断级别 与过大的 diagnostics 数据,防止启动/运行期 I/O 与内存压力。
- 线程与 WorkManager:结合并发量调优 Execute Threads 与队列,避免排队与线程饥饿。
- 变更与回滚:任何 JDK/驱动/补丁/配置 变更先在测试环境验证,保留回滚方案;变更窗口内加强监控与日志留存。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos上weblogic的故障排查方法有哪些
本文地址: https://pptw.com/jishu/768434.html
