温馨提示×

centos中weblogic的故障排查步骤

小樊
35
2025-12-21 18:10:01
栏目: 智能运维

CentOS 上 WebLogic 故障排查步骤

一 快速定位流程

  • 明确症状:是起不来访问不了响应慢,还是报错/异常
  • 查看控制台与日志:优先检查 AdminServer.out、server_name.out、server_name.log,从最近的错误堆栈定位模块与原因。
  • 检查端口与连通:确认 7001/7002 等监听端口处于 LISTEN,并排除 firewalld/iptables 拦截。
  • 资源与依赖:用 top/vmstat/iostatCPU/内存/磁盘/IO,核对 JDK 版本license 是否有效。
  • 网络连通:对数据库/外部依赖执行 ping/ telnet/nc,必要时抓包或临时关闭防火墙验证。
  • 配置核对:检查 config.xml、setDomainEnv.sh、JDBC 数据源等关键配置是否正确。

二 常见故障与处理要点

  • 启动失败或无法获取锁:检查 $DOMAIN_HOME/servers/$SERVER_NAME/tmp/*.lok 是否被占用;若曾被 root 启停导致文件属主异常,使用 chown -R weblogic:weblogic $DOMAIN_HOME 修复后再启。
  • 认证失败:出现 SecurityInitializationException/Boot identity not valid,在 $DOMAIN_HOME/servers/$SERVER_NAME/security/boot.properties 中以明文写入正确的 username/password,首次启动会自动加密。
  • 本机地址解析错误:出现 Could not obtain the localhost address,在 /etc/hosts 补充 IP 主机名 映射(如:192.168.1.10 host.example.com)。
  • 端口占用:端口 7001/7002 被占用导致绑定失败,使用 netstat -tulpen | grep 7001 查找并释放占用进程,或调整 config.xml 中的监听端口。
  • 数据库连接问题:核对 JDBC URL、用户名、密码;确认数据库服务已启动;在 CentOS 7/8 使用 firewall-cmd 放行数据库端口(如 5432/3306);在数据源启用连接测试以剔除无效连接。
  • 集群广播异常:出现 Invalid argument 等组播错误,在 setDomainEnv.shJAVA_OPTIONS 增加 -Djava.net.preferIPv4Stack=true

三 性能与线程阻塞定位

  • 识别阻塞:控制台 环境 > 服务器 健康为 Warning,查看 监视 > 线程,对疑似线程执行转储线程堆栈,搜索 stuck 定位具体事务与代码路径。
  • 常见根因:SQL 慢(缺失索引/统计信息)、外部依赖慢线程池不足资源泄漏
  • 处置策略:优先优化 SQL/索引/统计信息;必要时临时调整 StuckThreadMaxTime(默认 600s)与线程数;持续问题应回到应用与数据库侧根治。

四 系统与网络层面的检查

  • 资源监控:用 top/vmstat/iostat 观察 CPU、内存、磁盘 IO;用 free/df 检查内存与磁盘空间;资源不足会导致启动失败或运行异常。
  • 端口与防火墙:用 netstat -tulpen | grep -E ‘7001|7002’ 确认监听;在 firewalld 放行 7001/7002 及数据库端口(示例:firewall-cmd --zone=public --add-port=5432/tcp --permanent && firewall-cmd --reload)。
  • 网络连通:对数据库/依赖主机执行 ping/telnet/nc;必要时抓包或临时关闭防火墙验证是否为网络策略问题。
  • JVM 与许可:核对 JAVA_HOME/JDK 版本WebLogic 许可是否满足版本要求;许可过期也会导致异常。

五 日志与诊断命令清单

  • 日志路径与重点:
    • 域日志:$DOMAIN_HOME/servers/AdminServer/logs/AdminServer.out、AdminServer.log
    • 受管服务器:$DOMAIN_HOME/servers/<server_name>/logs/<server_name>.out、<server_name>.log
  • 常用命令:
    • 端口与进程:netstat -tulpen | grep -E ‘7001|7002’
    • 资源监控:top、vmstat、iostat、free、df
    • Java 诊断:jstack (线程)、jmap -heap (堆)
    • 防火墙:firewall-cmd --list-ports / --add-port=7001/tcp --permanent && firewall-cmd --reload
    • 连通性:ping <db_host>telnet <db_host> <db_port>nc -vz <db_host> <db_port>
  • 提示:每次变更配置或参数后,务必重启相关 AdminServer/受管服务器复核日志以确认生效与无新错误。

0