温馨提示×

如何使用Linux WebLogic进行日志分析

小樊
36
2026-01-01 03:14:52
栏目: 智能运维

Linux 下 WebLogic 日志分析实操指南

一 日志位置与类型

  • 常见目录结构为:$MW_HOME/user_projects/domains/<domain_name>/servers/<server_name>/logs/。在该目录下,常见文件与作用如下:
    • server.log / <server_name>.log:服务器运行日志,记录启动、关闭、异常堆栈等关键信息。
    • access.log:HTTP 访问日志,记录客户端 IP、请求 URL、响应状态码、时间等,用于访问分析与性能排查。
    • <domain_name>.log(Domain Log):域级日志,汇聚域内各 Server 的重要告警与错误。
    • diagnostic.log:诊断日志,包含警告、错误、异常等诊断信息,便于深入排障。
    • 说明:不同版本与安装方式路径可能略有差异,但以上类型与相对路径在 WebLogic 9+ 中较为通用。

二 命令行快速定位与统计

  • 实时查看最新日志
    • 命令:tail -f $DOMAIN_HOME/servers/<server_name>/logs/server.log
  • 关键字检索(含错误堆栈上下文)
    • 命令:grep -n -A5 -B5 "ERROR\|Exception" server.log
  • 按时间窗口统计错误数(假设日志时间格式为 yyyy-MM-dd HH:mm:ss
    • 命令:awk '/ERROR/ {print $1, $2}' server.log | grep "2025-05-16" | wc -l
  • 访问日志 Top N URL(状态码 5xx)
    • 命令:awk '$9 ~ /^5[0-9]{2}$/ {print $7}' access.log | sort | uniq -c | sort -nr | head -n 20
  • 按线程名聚合慢请求(示例阈值 10000ms
    • 命令:awk '$NF > 10000 {print $0}' access.log | sort -kNF -nr | head
  • 提示:将 $DOMAIN_HOME<server_name> 替换为实际值;必要时结合 zcat 分析压缩归档日志。

三 日志轮转与保留策略

  • 使用内置滚动(WebLogic 控制台或 WLST)
    • 在控制台:Environment → Servers → → Logging → Rotation,可配置滚动方式(按大小时间)与命名模板(如 %yyyy%%MM%%dd%%hh%_%mm%),避免单文件过大。
  • 使用 Linux logrotate 集中管理
    • 示例配置 /etc/logrotate.d/weblogic
      /u01/app/weblogic/domain_name/logs/*.log {
        daily
        rotate 7
        missingok
        notifempty
        compress
        create 0644 weblogic weblogic
      }
      
    • 作用:按日轮转、保留 7 天、压缩归档,防止磁盘被日志占满。

四 集中化分析与可视化

  • 集中采集与检索
    • 方案:使用 rsyslog/syslog-ng → Logstash → Elasticsearch → Kibana(ELK)Splunk,统一收集 server.log / access.log / domain.log / diagnostic.log,构建可视化看板与告警
  • HTTP 访问分析
    • 工具:GoAccess,对 access.log 生成实时 HTML/JSON/CSV 报告,快速洞察请求量、响应时间、错误率等。
  • 审计与合规
    • 工具:Auditd 记录关键系统调用与文件访问,配合日志平台进行安全审计与追踪

五 故障排查与性能瓶颈定位

  • 先看“入口”与“全局”
    • 步骤:优先检查 access.log5xx/4xx 比例与峰值时段;再查看 server.log / domain.logERROR/Exception 与告警;必要时打开或提升 diagnostic.log 级别获取更多线索。
  • 联动系统资源与 JVM
    • 资源:用 top/vmstat/iostat 排查 CPU、内存、磁盘 I/O 瓶颈;网络用 netstat 检查端口占用与连通性
    • JVM:用 jstack 分析线程阻塞/死锁,用 jmap 检查堆内存与对象分布,配合 GC 日志定位内存泄漏/频繁 GC
  • 配置与依赖
    • 核对 数据源连接池线程池超时等关键配置;验证数据库性能网络带宽是否满足峰值需求。

0