温馨提示×

Debian系统WebLogic日志管理技巧

小樊
45
2025-12-30 20:21:16
栏目: 智能运维

Debian系统WebLogic日志管理技巧

一 日志位置与关键文件

  • 常见目录结构为:$MW_HOME/user_projects/domains/<domain_name>/servers/<server_name>/logs/。该目录下通常包含:
    • server.log / AdminServer.log:服务器运行日志,记录启动、关闭与运行期重要事件。
    • access.log:HTTP访问日志,记录请求时间、来源IP、请求与返回状态等。
    • <domain_name>.log:域日志,汇聚域内重要告警与错误。
  • 快速定位示例:
    • tail -f $DOMAIN_HOME/servers/AdminServer/logs/server.log
    • grep “ERROR” $DOMAIN_HOME/servers/AdminServer/logs/server.log
  • 若通过nohup启动管理进程,还需关注nohup.out的增长情况。

二 实时查看与高效检索

  • 实时跟踪与关键字过滤:
    • 实时查看:tail -f server.log
    • 错误检索:grep -i “error|exception” server.log
    • 时间窗统计(示例):awk ‘/error/ {print $1, $2, $3}’ server.log | grep “2025-12-30”
  • 系统层面辅助排查:
    • 系统日志:tail -f /var/log/syslog
    • 内核与启动信息:dmesg
    • 服务与资源:ps auxtop
    • 网络连通与端口:pingtelnet/nc 7001(默认管理端口示例)。

三 轮转策略与配置

  • WebLogic内置轮转(控制台设置)
    • 运行模式差异:开发模式默认按大小500KB轮转;生产模式默认按大小5000KB轮转,启动时不会立即轮转。
    • 关键参数:
      • Rotation Type:By Size / By Time
      • Rotation File Size:触发轮转的阈值(KB)
      • Rotation Interval:按时间轮转的间隔
      • Files to Retain:保留的历史文件数
      • Log File Rotation Directory:轮转文件存放目录
      • 文件名可加入时间格式占位符(如:myserver_%yyyy%%MM%%dd%%hh%%mm%.log
    • 安全阈值:当文件接近2,097,152KB时会强制执行“硬轮转”,防止日志无限增长。
  • 操作系统层轮转(logrotate)
    • 建议对server.log、access.log等按天轮转并压缩归档,示例配置**/etc/logrotate.d/weblogic**:
      /u01/app/weblogic/domain_name/logs/*.log {
          daily
          rotate 7
          missingok
          notifempty
          compress
          create 0644 weblogic weblogic
          copytruncate
      }
      
    • 说明:
      • copytruncate常用于正在被进程占用的日志,避免重启应用;若应用支持“重新打开文件”,可改用postrotate执行外部信号/命令触发重开。
      • 测试与执行:
        • 手动测试:logrotate -d -v /etc/logrotate.d/weblogic(干跑)
        • 强制执行:logrotate -f /etc/logrotate.d/weblogic
        • 定时执行:系统已默认每日运行logrotate,无需额外crontab;如需自定义频率,可在**/etc/cron.daily/logrotate**中调整或自建cron。

四 清理与归档实践

  • 安全运行原则
    • 运行中清理:优先使用**> file.logtruncate -s 0 file.log清空内容,避免直接rm**导致句柄未释放、磁盘不释放或应用异常。
    • 批量清理:对历史归档按时间清理,例如保留7天内压缩包:
      • find /backup/weblogic/ -name “weblogic_logs_*.tar.gz” -mtime +7 -delete
  • 自动化方案示例(crontab)
    • 每日归档并清空当前日志(示例对单个日志文件):
      0 0 * * * cp /var/log/weblogic/app.log /backup/weblogic_logs_$(date -d yesterday +\%Y\%m\%d).log && > /var/log/weblogic/app.log
      
    • 每周打包并清理超过91天的历史备份:
      0 1 * * 0 cd /backup/weblogic && tar -cvf weblogic_logs_$(date -d yesterday +\%Y\%U).tar *.log.* && find . -mtime +91 -delete
      
    • 提示:将路径替换为你的实际日志目录;多文件场景建议写成脚本统一处理。

五 集中监控与告警

  • 集中化方案
    • ELK Stack(Elasticsearch + Logstash + Kibana)Splunk:统一采集、解析、检索与可视化,配置阈值告警(如5xx比例、ERROR突增)。
    • Graylog:集中日志与告警平台,便于审计与合规。
    • GoAccess:面向HTTP访问日志的实时分析与报表(生成HTML/JSON/CSV)。
  • 接入要点
    • 使用Filebeat/rsyslogserver.log、access.log安全、可靠地发送至集中平台。
    • 为不同日志设置合适的timestamp解析规则(如access.log的Common/Combined格式),确保时间线与指标计算准确。

0