温馨提示×

Debian系统WebLogic的日志分析技巧

小樊
44
2026-01-05 16:36:20
栏目: 智能运维

Debian系统WebLogic日志分析技巧

一 日志位置与类型

  • 服务器日志:记录实例运行与异常,常见路径为 $DOMAIN_HOME/servers//logs/.log,同时关注标准输出 .out
  • 访问日志:记录HTTP请求,常见路径为 $DOMAIN_HOME/servers//logs/access.log
  • 域日志:跨实例的聚合日志,位于 $DOMAIN_HOME/servers//logs/.log,注意该日志仅在 Admin Server 的文件系统中可用。
  • 诊断日志:部分版本或配置下可见 diagnostic.log,用于更细粒度的诊断信息收集。
  • 系统层面:同时结合 /var/log/(如 syslog)与 journalctl 查看与 WebLogic 相关的系统事件与启动信息。
    以上路径与类型有助于快速定位问题来源与影响范围。

二 命令行快速定位与统计

  • 实时跟踪与关键字过滤
    • 实时查看:tail -f $DOMAIN_HOME/servers//logs/.log
    • 关键字:grep -i “error|exception|fail” server.log
    • 时间窗筛选(按日志内时间):awk ‘/2026-01-05 10:2[0-9]/ {print}’ server.log
  • 统计与聚合
    • 错误数:grep -aic “error” server.log
    • Top 10 报错:grep -o ‘ERROR .*’ server.log | sort | uniq -c | sort -nr | head
    • 响应时间分布(假设日志含“响应时间=xxxms”):grep -o ‘响应时间=[0-9]+ms’ access.log | sed ‘s/响应时间=//’ | sort -n | awk ‘{a[NR]=$1} END {print “p50=”$a[int(NR0.5)]“, p95=”$a[int(NR0.95)]“, p99=”$a[int(NR*0.99)]}’
  • 关联系统日志
    • 查看服务与内核事件:journalctl -u weblogic.service --since today -f
    • 系统级错误:grep -i “error|fail” /var/log/syslog
      以上命令覆盖日常“看最新、找错误、按时间定位、做聚合统计、联查系统日志”的高频场景。

三 常见错误模式与定位要点

  • 启动与网络配置异常
    • 典型现象:日志出现 BEA-000386 且伴随 “Could not obtain the localhost address”。
    • 处置要点:检查 /etc/hosts 是否包含本机 IP <-> 主机名 映射,确保解析一致。
  • 域日志不可访问
    • 典型现象:BEA-170003/170005 等域日志文件无法打开或写入失败。
    • 处置要点:确认 Admin Server 对域日志路径有读写权限,路径有效且磁盘未满。
  • 受管服务器注册与凭据问题
    • 典型现象:受管节点 BEA-141196 注册失败;或 BEA-090402 “Boot identity not valid”。
    • 处置要点:检查 SerializedSystemIni.dat 在受管节点的一致性;核对 boot.properties 用户名/密码是否正确。
  • JVM 内存类问题
    • 典型现象:OutOfMemoryError(如 Java heap、Metaspace)、或 GC overhead limit exceeded
    • 处置要点:结合 GC 日志与线程栈,评估对象生命周期与泄漏;合理设置 -Xms/-Xmx 与 Metaspace 参数,必要时优化代码与缓存策略。
      以上模式可显著缩短定位路径,优先核对网络/权限/凭据等“环境类”问题,再深入到应用与JVM层面。

四 日志轮转与集中化

  • 使用 logrotate 管理 WebLogic 日志(示例)
    • 新建配置:/etc/logrotate.d/weblogic
    • 内容示例:
      • /u01/app/weblogic/domain_name/logs/*.log {
        • daily
        • rotate 7
        • missingok
        • notifempty
        • compress
        • create 0644 weblogic weblogic
      • }
    • 要点:按日轮转、保留 7 天、压缩归档、设置合适的属主属组与权限,避免日志无限增长。
  • 集中化与可视化
    • 方案:ELK Stack(Elasticsearch/Logstash/Kibana)SplunkGraylog 等,用于日志收集、解析、检索、可视化与告警。
    • Web 访问分析:对 access.log 使用 GoAccess 生成 HTML/JSON/CSV 报告,快速洞察 请求量、响应时间、错误率 等关键指标。
      以上做法兼顾本地合规留存与集中运维效率。

五 高效分析流程与自动化建议

  • 建议流程
    1. 明确时间窗与影响范围(如近 15 分钟、某台 server)。
    2. 先看 server.log 的错误与异常栈,再看 access.log 的错误码与耗时分布,必要时回溯 domain.log 的全局告警。
    3. 若涉及节点注册/启动失败,联查 /etc/hostsboot.propertiesSerializedSystemIni.dat 与网络连通性。
    4. 检查系统资源(CPU/内存/磁盘 I/O)与 GC 行为,排除资源瓶颈。
    5. 形成闭环:补齐监控与告警、固化 grep/awk 统计脚本、纳入 logrotate 与集中化平台。
  • 最小可用脚本示例(统计近 1 小时 ERROR)
    • grep “$(date -d ‘1 hour ago’ ‘+%Y-%m-%d %H’)” $DOMAIN_HOME/servers//logs/.log | grep -aic “error”
      该流程与脚本可作为日常巡检与应急的基线,后续再按业务特性扩展字段解析与指标看板。

0