温馨提示×

WebLogic在Ubuntu上的日志管理怎么做

小樊
32
2025-12-06 19:20:51
栏目: 智能运维

WebLogic在Ubuntu上的日志管理

一 日志位置与类型

  • 服务器日志:位于**$DOMAIN_HOME/servers//logs/,常见文件为.log**(运行时日志)与stdout.log(控制台输出)。
  • 访问日志:同目录下access.log,记录HTTP请求。
  • 域日志:位于**$DOMAIN_HOME/servers//logs/,常见为.log**,用于汇聚域内各实例的重要消息。
  • 快速定位域目录:在域目录内执行echo $DOMAIN_HOME确认路径;进入日志目录可用cd $DOMAIN_HOME/logscd $DOMAIN_HOME/servers/<ServerName>/logs

二 查看与检索

  • 实时查看:
    • 服务器日志:tail -f $DOMAIN_HOME/servers/<ServerName>/logs/<ServerName>.log
    • 控制台输出:tail -f $DOMAIN_HOME/servers/<ServerName>/logs/stdout.log
    • 访问日志:tail -f $DOMAIN_HOME/servers/<ServerName>/logs/access.log
  • 关键字检索:grep -i 'error\|exception' $DOMAIN_HOME/servers/<ServerName>/logs/<ServerName>.log
  • 统计某日错误数:awk '/error/ {print $1, $2, $3}' $DOMAIN_HOME/servers/<ServerName>/logs/<ServerName>.log | grep "2025-12-06"
  • 图形化工具:可使用系统日志查看器(如gnome-system-log)打开并过滤日志文件。

三 轮转与保留策略

  • 在管理控制台设置(推荐):
    • 路径:Servers → → Logging → General
    • 关键项:
      • Log file name:可加入时间格式占位符(如%yyyy%_%MM%_%dd%_%hh%_%mm%)在轮转时生成时间戳。
      • Rotation type:支持NONE / SIZE / TIME
      • Rotation file size:触发轮转的大小(单位为KB)。
      • 安全值提示:当选择按时间轮转时,控制台可能显示安全值为byTime(按时间)。
    • 注意:部分更改需重启或重新部署模块后生效。
  • 内置保护阈值:当选择NONE时,为防止日志过大,WebLogic会在达到500 MB时强制执行“硬轮转”。
  • 域级日志:可在Domains → Configuration → Logging配置域日志的文件名、轮转方式,以及域日志过滤器(默认仅转发WARNING及以上到域日志)。

四 系统级日志轮转与归档(logrotate)

  • 适用场景:统一管理历史日志、压缩归档、按日/周清理。
  • 示例配置(创建文件:/etc/logrotate.d/weblogic):
    /opt/weblogic/user_projects/domains/*/servers/*/logs/*.log {
        daily
        rotate 30
        compress
        missingok
        copytruncate
        dateext
        dateformat -%Y%m%d
        notifempty
    }
    
    • 说明:
      • copytruncate适用于被WebLogic持续写入的日志,避免重启应用。
      • 将路径替换为你的实际**$DOMAIN_HOME**位置。
  • 手动测试与生效:
    • 测试:sudo logrotate -v /etc/logrotate.d/weblogic
    • 定时:系统已默认每日运行logrotate(无需额外crontab);如需自定义,可在/etc/cron.daily/logrotatecrontab -e中调整。

五 高级配置与最佳实践

  • 日志级别与过滤器:在控制台为服务器日志设置Severity,并可配置Stdout Severity过滤器(如仅输出HTTP/IIOP/JDBC/JMS子系统日志),便于聚焦问题域。
  • 日志框架:WebLogic默认使用Java Logging;服务器端可使用Log4j(通过Log4jLoggingHelper获取Logger),可按需自定义Appender/Layout
  • 结构化分析:将日志接入Logstash/Graylog集中收集与告警;对访问日志可用GoAccess生成可视化报告,关注请求数、响应时间、错误率等关键指标。

0