温馨提示×

Ubuntu上WebLogic日志如何查看与分析

小樊
34
2025-12-18 16:39:28
栏目: 智能运维

Ubuntu上WebLogic日志查看与分析

一 日志位置与类型

  • 服务器日志:位于**$DOMAIN_HOME/servers/<Server_Name>/logs/<Server_Name>.log**,记录启动/关闭部署运行异常等核心事件。
  • 域日志:位于**$DOMAIN_HOME/servers/<AdminServer_Name>/logs/<Domain_Name>.log**,汇聚域内各服务器的重要告警,便于集中监控
  • HTTP访问日志:常见为access.log(位置依配置,常在服务器实例 logs 目录或 HTTP 子目录),用于分析访问量状态码分布客户端来源等。
  • 标准输出/错误:常见为stdout.log / stderr.log(或 <Server_Name>.out),用于查看启动脚本输出未捕获异常等。
  • 提示:可用echo $DOMAIN_HOME确认域根目录;若使用系统服务启动,stdout/stderr 可能由服务管理器重定向到其日志目录。

二 命令行快速查看与检索

  • 实时查看:
    • 查看服务器日志:tail -f $DOMAIN_HOME/servers/<Server_Name>/logs/<Server_Name>.log
    • 查看标准输出:tail -f logs/stdout.log
  • 按时间定位:
    • 查看最近100行:tail -n 100 <Server_Name>.log
    • 从第1000行开始:tail -n +1000 <Server_Name>.log
  • 关键字检索与上下文:
    • 精确匹配:grep 'ERROR' <Server_Name>.log
    • 显示匹配行及前后5行:grep -C 5 'NullPointerException' <Server_Name>.log
    • 显示匹配行及前5行:grep -B 5 'OutOfMemoryError' <Server_Name>.log
    • 显示匹配行及后5行:grep -A 5 'timeout' <Server_Name>.log
  • 辅助定位:
    • 列出并排序日志文件(按修改时间):ls -lt $DOMAIN_HOME/servers/<Server_Name>/logs
    • 交互式查看:less <Server_Name>.log(支持/关键字搜索、n/N跳转)

三 日志格式与关键信息解读

  • 服务器日志格式(WebLogic 传统格式):
    • 以**####<时间戳> <严重级别> <子系统> <主机名> <服务器名> <线程> … <消息ID> <消息文本>**开头;若包含堆栈,会紧随其后。
    • 示例:####<Sept 22, 2004 10:46:51 AM EST> <Notice> <WebLogicServer> ... <BEA-000360> <Server started in RUNNING mode>
  • 标准输出格式:
    • 不含**####前缀及服务器/线程等字段,更接近应用或容器的原始输出**,便于排查启动期问题。
  • HTTP访问日志:
    • 典型条目:192.168.220.1 - - [27/Oct/2022:09:43:40 +0800] "GET /index.jsp HTTP/1.1" 200 1976
    • 可据此统计HTTP状态码分布热点资源错误请求占比等。

四 日志轮转与输出控制

  • 日志轮转:WebLogic提供按大小/时间的日志轮转能力,可在控制台或 WLST 中配置滚动策略,避免单文件过大、便于归档与检索。
  • 输出过滤与级别:
    • 通过LogMBeanHandler(如标准输出、服务器日志文件)设置严重级别阈值与过滤器,实现按级别、子系统、来源等维度控制输出量。
    • 例如:默认Stdout Handler的阈值为NOTICE,因此INFO/DEBUG不会输出到控制台;可在控制台或 WLST 中调整为INFO/WARNING等。
    • 亦可在启动命令行设置:Dweblogic.log.StdoutSeverity=Debug(示例)。

五 常见问题排查路径

  • 启动失败或刚崩溃:优先查看stdout.log / <Server_Name>.out,捕获JVM 启动参数类加载错误未捕获异常等早期信息。
  • 运行中异常:检索服务器日志中的ERROR/WARNING堆栈,结合时间戳定位触发链路;必要时扩大相关Logger/Handler级别以获取更多上下文。
  • 访问异常与性能:分析access.log4xx/5xx比例、响应时间热点 URI,并与服务器日志的部署/重启时间点交叉验证。
  • 集群/多实例:除单实例日志外,查看域日志获取跨服务器的重要告警与集中事件

0