温馨提示×

WebLogic日志在Linux如何管理

小樊
34
2025-12-08 13:17:50
栏目: 智能运维

Linux下WebLogic日志管理实操指南

一 日志位置与类型

  • 常见目录结构为:$DOMAIN_HOME/servers/<server_name>/logs,主要日志包含:
    • server.log / <server_name>.log:服务器运行、启动/关闭、异常等核心日志。
    • access.log:HTTP访问日志(如启用Web服务)。
    • diagnostic.log:诊断信息,便于问题定位。
    • <server_name>.out:标准输出与错误输出(nohup、控制台输出常被重定向至此)。
  • 若通过系统服务启动,可能同时存在系统级日志(如 journald),但应用日志仍以域目录为主。

二 查看与检索

  • 实时查看与检索常用命令:
    • 实时跟踪:tail -f /path/to/server.log
    • 关键字过滤:grep -i “error|exception” /path/to/server.log
    • 分页查看:less /path/to/server.log
    • 按时间窗口检索(示例):awk ‘/2025-05-16/,/2025-05-16 23:59:59/’ /path/to/server.log
  • 管理控制台与WLST:
    • 控制台路径:环境 > 服务器 > <server_name> > 日志 > 服务器日志,可在线查看/导出。
    • WLST示例:
      • connect(‘weblogic’,‘password’,‘t3://localhost:7001’)
      • cd(‘/Servers/<server_name>/Log/<server_name>’)
      • print(ls())

三 轮转与保留策略

  • WebLogic内置轮转(控制台配置)
    • 运行模式差异:
      • 开发模式:默认按大小500 KB轮转,启动时即轮转一次。
      • 生产模式:默认按大小5000 KB轮转,启动时轮转。
    • 可配置项:
      • 按大小/按时间轮转;设置保留文件数;指定轮转目录;在文件名中加入时间日期戳(如:myserver_%yyyy%%MM%%dd%%hh%%mm%.log)。
      • 为防止日志无限增长,存在**2,097,152 KB(约2 GB)**的强制轮转阈值。
  • 操作系统级轮转(推荐配合)
    • 使用 logrotate 管理 *.log(含 server.log、access.log 等),示例配置 /etc/logrotate.d/weblogic
      • /u01/app/weblogic/domain_name/logs/*.log {
        • daily
        • missingok
        • rotate 7
        • compress
        • notifempty
        • create 640 weblogic weblogic
        • copytruncate
      • }
    • 说明:
      • 选择 copytruncate 可在不重启/不信号干预的情况下继续写入原文件(适合运行中服务)。
      • 如需按时间命名或复杂策略,可结合 dateext 等参数或脚本化处理。

四 清理与归档

  • 安全运行要点
    • 运行中清理:优先使用 > file.logtruncate -s 0 file.log 清空内容,避免直接 rm 导致句柄占用或应用异常。
    • 备份归档:定期将历史日志打包压缩并转移至备份目录或对象存储,例如:
      • 备份:tar -czvf /backup/weblogic_$(date +%F).tar.gz /u01/app/weblogic/domain_name/logs/*.gz
  • 自动化示例(crontab)
    • 每日归档并清空当前日志:
      • 0 0 * * * /bin/cp /u01/app/weblogic/domain_name/logs/server.log /backup/server_$(date -d yesterday +%Y%m%d).log && > /u01/app/weblogic/domain_name/logs/server.log
    • 每周打包并清理超过91天的旧归档:
      • 0 1 * * 0 cd /backup && tar cvf server_$(date -d yesterday +%Y%U).tar *.gz && find . -mtime +91 -delete
  • 容量告警
    • 简单检查脚本可加入 cron,如单文件超过1 GB则告警输出。

五 监控与最佳实践

  • 集中化与可视化
    • 使用 ELK Stack(Elasticsearch/Logstash/Kibana)Splunk 收集、解析与告警;Logstash 可用 grok 解析 WebLogic 行式日志,按 yyyy-MM-dd HH:mm:ss 等模式提取字段,便于检索与可视化。
  • 运行与维护建议
    • 明确日志保留周期(如7–30天),按合规与容量规划设定;为 access.logserver.log 分别制定策略。
    • 统一日志格式(时间戳、级别、线程、类、消息),减少解析成本。
    • 避免重复轮转:若已启用 WebLogic 内置轮转,OS 级策略建议以 copytruncate 为主;如需信号轮转,确保应用支持并统一触发方式。
    • 变更配置(控制台或 logging.properties)后,按应用要求滚动重启相关服务,确保新日志策略生效。

0