温馨提示×

Linux版WebLogic如何进行故障排查

小樊
46
2025-12-24 08:11:52
栏目: 智能运维

Linux版 WebLogic 故障排查实战指南

一 快速定位流程

  • 明确症状:是起不来起得很慢启动后访问异常,还是运行中报错/卡顿/宕机
  • 先看日志:优先查看域目录下的 logs/,尤其是 server.log、stdout.log、stderr.log,从最近的错误栈定位模块与时间点。
  • 查端口与连通:确认 7001/7002 等监听端口未被占用、未被防火墙拦截,必要时用 netstat 或等价工具核对。
  • 看系统资源:用 top、free -h、vmstat、iostat 检查 CPU、内存、磁盘IO、网络 是否瓶颈。
  • 校验运行环境:核对 JDK 版本JAVA_HOME、域配置、依赖组件(JDBC、JMS、LDAP 等)是否可达。
  • 必要时做线程与堆分析:用 jstack、jmap 抓取线程与堆快照,排查死锁/阻塞/内存泄漏
  • 若与数据库相关:核对连接池配置、数据库可用性性能
    以上步骤能在多数场景下快速缩小范围并定位根因。

二 常见症状与处理要点

症状 优先检查 快速修复
启动失败 日志报错、端口占用、配置错误、权限不足 释放或更换端口;修正 config.xml/启动脚本;用具备权限的用户启动
启动卡住不动 资源不足、外部依赖(DB/LDAP)不可达、网络问题 释放内存/CPU;验证 DB/LDAP 连通;排查防火墙/网络延迟
启动身份无效 boot.properties 用户名/密码错误、域目录权限 以明文更新 boot.properties 后重启,首次会自动加密
管理密码遗忘 内嵌 LDAP 凭据丢失 使用 weblogic.security.utils.AdminAccount 重建管理员并清理相关初始化文件
更改管理密码后受管服务器起不来 受管服务器本地 LDAP 目录未同步 删除受管服务器目录下的 ldap/ 后重启
访问异常/超时 监听端口未放行、应用部署失败 放行 7001/7002;检查应用部署描述与启动日志
运行中卡顿/宕机 线程死锁、内存泄漏、磁盘满、DB慢 jstack/jmap 分析;清理磁盘;优化 JDBC/SQL 与连接池
以上要点覆盖了启动、认证、网络、资源与应用侧的高频问题。

三 关键命令与操作示例

  • 查看端口占用与监听
    • 示例:netstat -tulpen | grep -E '7001|7002'
  • 实时资源监控
    • 示例:topfree -hvmstat 1 10iostat -x 1 10
  • Java 线程与堆分析
    • 获取线程栈:jstack <pid> > threaddump.txt
    • 抓取堆转储:jmap -dump:format=b,file=heap.hprof <pid>
  • 快速自检脚本(可按需扩展)
    • 检查端口:ss -ltnp | egrep ':(7001|7002)' || echo "端口未监听"
    • 检查磁盘:`df -h | awk ‘$5+0 > 85 {print}’
    • 检查 Java 与内存:java -version && free -m | awk 'NR==2{printf "可用内存: %.1fGB\n", $7/1024}' 这些命令能快速提供“端口—资源—线程/堆—磁盘”的现场证据。

四 认证与安全相关故障

  • 启动身份无效
    • 现象:weblogic.security.SecurityInitializationException: Authentication denied: Boot identity not valid
    • 处理:在域根目录的 boot.properties 中以明文写入正确的 username/password,首次启动会自动加密保存。
  • 忘记管理密码
    • 处理:进入域目录 mydomain/security,执行
      java -cp $WL_HOME/server/lib/weblogic.jar weblogic.security.utils.AdminAccount <新用户名> <新密码> .
      清理被管服务器下的 ldap/ 目录与(可选)boot.properties,以新管理员重启。
  • 修改管理密码后受管服务器无法启动
    • 处理:删除对应受管服务器目录中的 ldap/,再重启受管服务器以重建凭据。
  • 外部 LDAP 连接失败
    • 处理:确认 LDAP 服务已启动主机/端口正确、网络与防火墙策略允许访问;必要时核对 bindDN/密码 与搜索基准。 以上步骤覆盖了 Linux 环境下最常见的 WebLogic 认证与安全故障处理路径。

五 预防与优化建议

  • 运行环境基线化:固定并验证 JDK 版本JAVA_HOME,避免随意升级导致不兼容。
  • 资源与健康监控:对 CPU、内存、磁盘IO、网络 设置阈值告警;定期巡检 GC 日志 与线程数。
  • 连接治理:合理配置 JDBC 连接池(初始/最大、超时、验证查询),并优化慢 SQL。
  • 日志与诊断:统一日志滚动策略,保留关键时间窗;异常时第一时间保留 thread dump/heap dump
  • 变更管控:变更前备份 domain 目录与数据库,变更后在同窗口观察 server.log 与关键业务指标。
    这些实践能显著降低故障率并提升定位效率。

0