温馨提示×

WebLogic在Ubuntu上的日志如何管理

小樊
31
2025-12-08 19:01:49
栏目: 智能运维

WebLogic 在 Ubuntu 的日志管理实践

一 日志位置与常用查看方式

  • 日志默认位于域目录的 $DOMAIN_HOME/logs,常见文件包括:server.log(服务器日志)、access.log(访问日志)、diagnostic.log(诊断日志)。若以服务方式运行,控制台输出通常在 $DOMAIN_HOME/servers//logs/stdout.logstderr.log。进入日志目录并实时查看示例:
    cd $DOMAIN_HOME/logs
    tail -f server.log
    grep -i error server.log
    tail -n 200 $DOMAIN_HOME/servers/AdminServer/logs/stdout.log
    
    以上路径与命令适用于 Ubuntu/Debian 环境,文件名与目录结构以实际域配置为准。

二 在 WebLogic 内配置日志轮转与保留策略

  • 控制台路径:Environment > Servers > > Logging > General,可按需配置:
    • 轮转方式:按大小(By Size)或按时间(By Time)。
    • 触发阈值:开发模式默认 500 KB 触发轮转;生产模式默认 5000 KB 触发轮转。
    • 保留数量:勾选 Limit Number of Retained Files 并设置 Files to Retain,超过上限将覆盖最旧文件。
    • 强制轮转阈值:当日志文件达到 2,097,152 KB 时触发强制轮转,防止过度增长。
    • 文件名时间戳:在 File Name 中使用 java.text.SimpleDateFormat 变量(如 myserver_%yyyy%%MM%%dd%%hh%%mm%.log)。
    • 轮转目录:可指定 Log File Rotation Directory,默认与当前日志同目录。 以上参数可在控制台在线调整,保存后按策略自动生效。

三 使用 Ubuntu 的 logrotate 对历史日志做系统级归档压缩

  • 创建配置 /etc/logrotate.d/weblogic(路径与用户组按实际环境调整):
    /u01/app/weblogic/domain_name/logs/*.log {
        daily
        missingok
        rotate 30
        compress
        delaycompress
        copytruncate
        notifempty
        create 644 weblogic weblogic
        dateext
        dateformat -%Y%m%d
    }
    
  • 调试与执行:
    sudo logrotate -d /etc/logrotate.d/weblogic   # 语法检查
    sudo logrotate -f /etc/logrotate.d/weblogic   # 强制执行一次
    
  • 说明:
    • 使用 copytruncate 可在不中断 WebLogic 写入的情况下轮转,避免应用重连或日志句柄问题;若追求更严谨的“移动并重建”方式,可改用 postrotate 发送信号触发 WebLogic 重新打开日志(需应用支持)。
    • 建议与 WebLogic 内部轮转配合使用:内部负责“在线滚动”,logrotate 负责“历史归档压缩与清理”。

四 日常运维与故障排查的高效命令

  • 实时查看与检索:
    tail -f $DOMAIN_HOME/logs/server.log
    grep -i 'exception\|error' $DOMAIN_HOME/logs/server.log | tail -50
    tail -n 200 $DOMAIN_HOME/servers/AdminServer/logs/stdout.log
    
  • 系统层面与连通性检查(若通过服务管理):
    sudo systemctl status weblogic
    journalctl -u weblogic -xe
    ps -ef | grep weblogic
    netstat -tulpen | grep 7001
    
  • 备份归档示例:
    tar czvf /backup/weblogic_logs_$(date +%F).tar.gz -C $DOMAIN_HOME/logs .
    
    以上命令覆盖日志查看、关键字检索、服务状态与端口连通性检查,以及按日期的归档备份。

0