- 首页 >
- 问答 >
-
智能运维 >
- WebLogic在Ubuntu上的日志分析技巧有哪些
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/weblogic、logrotate -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/Handler 按 Severity 或其他条件过滤,精细控制写入 server.log/stdout 的内容。
- 配置文件:编辑 $DOMAIN_HOME/config.xml 中的日志相关 logger/handler 配置,或在域目录的 config.xml 下调整 logging 配置段,保存后重启使生效。
- 使用建议:线上默认 INFO;排障时临时提升到 FINE/FINER 定位问题,恢复为 INFO 避免日志洪泛。
五 可视化与集中化分析
- Web 访问分析:使用 GoAccess 对 access.log 生成 HTML/JSON/CSV 报告,快速洞察 请求量、时延、错误率 趋势。
- 集中化平台:部署 ELK(Elasticsearch/Logstash/Kibana) 或 Splunk,统一采集 server.log、access.log、domain.log,实现 检索、可视化、告警 与 审计。
- 系统侧聚合:将 server.out 与关键 GC 日志纳入 journald 或 rsyslog,与系统日志统一检索与归档。