温馨提示×

WebLogic在Ubuntu上的故障排查方法有哪些

小樊
45
2025-12-10 18:42:08
栏目: 智能运维

WebLogic在Ubuntu上的故障排查方法

一 快速定位流程

  • 查看控制台与域日志:重点关注 $DOMAIN_HOME/logs/server.logstartWebLogic.log,从最近的错误堆栈定位模块与原因。
  • 检查端口连通:确认 7001/7002 等监听端口未被占用且防火墙放行,必要时改用临时端口验证。
  • 核对配置文件:审查 config.xml 的监听地址/端口、JVM 参数、数据源等关键配置。
  • 资源与依赖:用系统工具排查 CPU/内存/磁盘/网络,并验证数据库、LDAP、外部接口等依赖可达。
  • 线程与内存分析:使用 jstack/jmap 抓取线程与堆信息,识别死锁、阻塞与内存泄漏。
  • 前台启动验证:前台运行启动脚本,直接观察控制台输出与异常。
  • 清理与恢复:清理锁文件、诊断数据、Node Manager 状态文件等“残留状态”后重启。
    以上步骤覆盖日志、端口、配置、资源、JVM 与状态清理,适合作为首次排查的标准路径。

二 常见症状与处理要点

症状 快速检查 处理要点
启动失败或卡住 查看 server.log/startWebLogic.log 首屏报错;前台启动观察输出 依据日志修复配置/依赖;资源不足时先释放或扩容
访问控制台失败 检查 7001/7002 端口与防火墙 端口占用则 kill 或更换端口;放行防火墙
端口被占用 执行 **netstat -tlnp grep 7001**
启动极慢或卡在初始化 观察 SecureRandom 初始化 $JAVA_HOME/jre/lib/security/java.securitysecurerandom.source=file:/dev/./urandom
节点管理器无法启动 查看 nodemanager.log 删除 server.state 后重启;核对 nodemanager.propertiesListenPort=5556SecureListener=false
无法获取域锁 检查 .lok 锁文件 删除 domains/your_domain/servers//tmp/.lok 并清理残留进程
数据库连接失败 核查 JDBC URL/驱动/账号/网络 测试连接池连通性,调整连接池与超时参数
OutOfMemoryError 检查 server.log 的 OOM 调整 -Xms/-Xmx,开启 GC 日志 分析
权限错误 核对 DOMAIN_HOME 与启动用户 确保目录属主/权限一致,避免跨用户启动
以上条目覆盖了最常见的启动、端口、配置、安全随机源、节点管理器、锁文件、数据库与内存等故障场景。

三 Ubuntu与Linux常用命令清单

  • 日志与前台启动
    • tail -f $DOMAIN_HOME/logs/server.log
    • tail -f $DOMAIN_HOME/logs/startWebLogic.log
    • 前台启动:cd $DOMAIN_HOME/bin && ./startWebLogic.sh(便于直接看到异常)
  • 端口与连通性
    • 查看监听:ss -tlnp | grep 7001 或 netstat -tlnp | grep 7001
    • 占用进程:lsof -iTCP:7001 -sTCP:LISTEN 或 netstat -tlnp | grep 7001
    • 释放端口:kill -9 PID
    • 防火墙放行:sudo ufw allow 7001,7002/tcp 或 sudo iptables -I INPUT -p tcp --dport 7001 -j ACCEPT
  • 进程与资源
    • 查进程:ps -ef | grep weblogic;top/htop;free -h;iostat -x 1
  • JVM 诊断
    • jstack > jstack.out
    • jmap -heap ;必要时 jmap -dump 生成堆转储分析
  • 配置与状态清理
    • 编辑 $DOMAIN_HOME/config/config.xml(如
    • 清理锁文件:rm $DOMAIN_HOME/servers//tmp/.lok
    • Node Manager 异常:删除 $DOMAIN_HOME/servers//data/nodemanager/.state 后重启
      以上命令覆盖日志查看、端口检查、进程与资源监控、JVM 分析以及常见状态清理操作。

四 预防与优化建议

  • 固化与版本化配置:将 config.xml、数据源、JVM 参数纳入版本控制,变更前备份。
  • 合理设置 JVM:为生产环境设置合适的 -Xms/-Xmx,并开启 GC 日志 便于回溯。
  • 资源与告警:为 CPU/内存/磁盘 IO 设置阈值告警,避免资源耗尽导致启动/运行异常。
  • 安全的端口与访问控制:仅开放必要端口,限制管理控制台访问来源。
  • 启动链路健康检查:在应用/数据源层面配置连接测试与超时,减少初始化阻塞。
    这些做法有助于降低故障率并提升问题定位效率。

0