温馨提示×

Ubuntu下WebLogic的故障排查指南是什么

小樊
39
2025-12-04 20:49:52
栏目: 智能运维

Ubuntu下WebLogic故障排查指南

一 快速定位流程

  • 查看关键日志:优先检查域目录下的 logs,尤其是 AdminServer.logAdminServer.out,以及 access.log(HTTP 访问日志)。这些文件记录了启动、运行与错误的关键线索。
  • 核对端口连通:确认 7001/7002 等监听端口未被占用且防火墙放行(Ubuntu 常见防火墙为 ufwiptables)。
  • 检查系统资源:用 top/vmstat/iostat 观察 CPU/内存/磁盘IO,排除资源瓶颈导致的卡死或崩溃。
  • 验证配置与权限:审查 domain 配置、应用部署描述文件、启动脚本权限与用户归属,避免因路径或权限错误导致启动失败。
  • 数据库连接:核对 JDBC/连接池 配置、数据库可达性与性能,排除连接泄漏或超时。
  • 网络连通:测试与客户端、数据库及其他依赖服务的网络连通性与带宽。
    以上步骤覆盖了 Linux 环境下 WebLogic 最常见的故障面,可快速缩小问题范围。

二 日志与关键文件定位

  • 日志位置与用途
    • 服务器日志:$MW_HOME/user_projects/domains//servers//logs/.log(启动、运行、错误详情)。
    • 标准输出/错误:.out(控制台输出、未捕获异常)。
    • HTTP 访问日志:…/logs/access.log(请求方法、来源 IP、状态码、耗时)。
    • 域日志:…/logs/.log(跨服务器事件与汇总)。
  • 高效检索
    • 实时查看:tail -f AdminServer.log
    • 关键字定位:grep -nE “ERROR|Exception|SEVERE” AdminServer.log
    • 时间窗筛选:awk ‘/2025-12-04 10:2[0-9]/ {print $0}’ AdminServer.log
  • 日志轮转与归档
    • 建议使用 logrotate 管理历史日志,防止磁盘被占满影响诊断。
      以上路径与方法是 Linux/Ubuntu 上通用的 WebLogic 日志定位与分析实践。

三 常见症状与修复要点

  • 启动失败或卡在 “STARTING”
    • 检查 端口占用(如 7001/7002):ss -ltnp | grep 7001;必要时调整端口或释放占用进程。
    • 查看 AdminServer.log/.out 中的首条异常堆栈,优先修复配置、权限、JVM 参数等问题。
    • 排查 资源不足(CPU/内存/IO),释放或扩容后再试。
  • 管理控制台登录极慢
    • setDomainEnv.shJAVA_OPTIONS 中添加:
      -Djava.security.egd=file:/dev/./urandom
    • 或在 $JAVA_HOME/jre/lib/security/java.security 中将
      securerandom.source=file:/dev/random
      改为
      securerandom.source=file:/dev/./urandom
      该问题常见于 Linux/Ubuntu 上熵源不足导致的随机数生成缓慢。
  • 数据库连接异常或性能差
    • 核对 JDBC URL、驱动版本、账号权限;检查 连接池 大小、超时与验证查询。
    • 排查数据库负载、慢查询与网络抖动。
  • 疑似被攻击或异常行为
    • Server/Domain 日志 中检索异常堆栈与可疑访问;结合 HTTP 日志 与网络抓包定位来源与行为。
      以上症状与修复要点覆盖了 Ubuntu 上高频问题场景,可快速恢复服务稳定性。

四 系统与JVM诊断命令清单

  • 资源与进程
    • 资源监控:top/vmstat 1 10、iostat -x 1 10、free -h
    • 端口与进程:ss -ltnp | grep 7001、lsof -iUDP:7001、ps -ef | grep weblogic
  • Java 诊断
    • 线程与阻塞:jstack > jstack.out
    • 堆与对象:jmap -heap 、jmap -histo:live
    • 非堆与元空间:jstat -gc 、jstat -gccapacity
  • 网络与安全
    • 连通性:ping、nc -vz 、traceroute
    • Ubuntu 防火墙:ufw status、ufw allow 7001/tcp;或 iptables -L -n -v
      这些命令能在不改动业务的前提下,快速给出系统层与 JVM 层的诊断证据。

五 排障前后最佳实践

  • 变更留痕:修改 setDomainEnv.sh / startWebLogic.sh / java.security 等前先备份,变更后保留 diff 以便回滚。
  • 日志与容量:启用 logrotate,对 .log/.out/access.log 设置保留周期与压缩,避免磁盘被占满导致实例异常。
  • 最小复现:在测试环境用相同 JDK/补丁/配置 复现问题,减少生产风险。
  • 监控告警:对 Server.log 错误关键字、线程阻塞、连接池使用率、磁盘使用率 建立监控与阈值告警。
  • 加固与安全:关闭未使用协议与端口,限制管理控制台访问来源,定期审计 访问日志 与异常流量。
    以上实践可显著提升排障效率并降低复发概率。

0