温馨提示×

WebLogic在Ubuntu上的日志分析技巧有哪些

小樊
31
2025-12-10 18:45:06
栏目: 智能运维

WebLogic在Ubuntu上的日志分析技巧

一 日志位置与类型

  • 服务器日志:位于 $DOMAIN_HOME/servers/$SERVER_NAME/logs/serverName.log,记录服务器运行与业务日志,是最常用的排查入口。
  • 访问日志:位于 $DOMAIN_HOME/servers/$SERVER_NAME/logs/access.log,记录 HTTP 请求,便于分析 PV/UV、状态码、响应时间 等。
  • 标准输出与错误:位于 $DOMAIN_HOME/servers/$SERVER_NAME/logs/serverName.out,包含 stdout/stderr,对启动失败、未捕获异常尤为关键。
  • 域日志:位于 $DOMAIN_HOME/servers/AdminServer/logs/domain.log,聚合各受管服务器的关键事件,便于全局视角排查。
  • 快速定位域目录:在域目录内执行 echo $DOMAIN_HOME 可确认当前域根路径。

二 命令行快速定位与统计

  • 实时查看:
    • 跟踪服务器日志:tail -f $DOMAIN_HOME/servers/$SERVER_NAME/logs/serverName.log
    • 跟踪标准输出:tail -f $DOMAIN_HOME/servers/$SERVER_NAME/logs/serverName.out
  • 关键字检索:
    • 错误关键字:grep -i “error|exception|fail” serverName.log
    • 时间窗口(示例):grep “2025-12-10 10:2” serverName.log
  • 按时间统计错误数(示例):
    • awk ‘/error/ {print $1, $2, $3}’ serverName.log | grep “2025-12-10” | wc -l
  • 访问日志分析:
    • Top URL:awk ‘{print $7}’ access.log | sort | uniq -c | sort -nr | head
    • 状态码分布:awk ‘{print $9}’ access.log | sort | uniq -c | sort -nr
  • 分页与上下文:
    • 分页查看:less serverName.log;查看匹配行上下文:grep -n “ERROR” serverName.log -A 5 -B 5

三 日志轮转与系统日志联动

  • 使用 logrotate 管理 WebLogic 日志(创建 /etc/logrotate.d/weblogic):
    • 示例配置:
      • /opt/weblogic/user_projects/domains/mydomain/servers//logs/*.log {**
        • daily
        • rotate 7
        • compress
        • missingok
        • notifempty
        • copytruncate
      • }
    • 说明:copytruncate 适用于被进程持续持有的日志文件;测试与强制执行:logrotate -d /etc/logrotate.d/weblogiclogrotate -f /etc/logrotate.d/weblogic
  • 若以 systemd 托管启动脚本,可结合 journalctl 查看服务输出:
    • 实时查看:journalctl -u weblogic.service -f
    • 时间范围:journalctl -u weblogic.service --since “2025-12-10 09:00” --until “2025-12-10 18:00”

四 日志级别与过滤器的精准控制

  • 日志级别体系:WebLogic 基于 java.util.logging,常用级别为 SEVERE、WARNING、INFO、CONFIG、FINE、FINER、FINEST(级别越高记录越少)。
  • 调整方式:
    • 管理控制台:在 Administration Console 中创建或调整 Log Filters,对特定 Logger/HandlerSeverity 或其他条件过滤,精细控制写入 server.log/stdout 的内容。
    • 配置文件:编辑 $DOMAIN_HOME/config.xml 中的日志相关 logger/handler 配置,或在域目录的 config.xml 下调整 logging 配置段,保存后重启使生效。
  • 使用建议:线上默认 INFO;排障时临时提升到 FINE/FINER 定位问题,恢复为 INFO 避免日志洪泛。

五 可视化与集中化分析

  • Web 访问分析:使用 GoAccessaccess.log 生成 HTML/JSON/CSV 报告,快速洞察 请求量、时延、错误率 趋势。
  • 集中化平台:部署 ELK(Elasticsearch/Logstash/Kibana)Splunk,统一采集 server.log、access.log、domain.log,实现 检索、可视化、告警审计
  • 系统侧聚合:将 server.out 与关键 GC 日志纳入 journaldrsyslog,与系统日志统一检索与归档。

0