温馨提示×

Debian上WebLogic的日志管理如何操作

小樊
38
2025-12-01 09:03:15
栏目: 智能运维

Debian上WebLogic日志管理实操指南

一 日志位置与类型

  • 常见日志路径(WebLogic 9+):
    • 服务器日志:$DOMAIN_HOME/servers/<SERVER_NAME>/logs/<SERVER_NAME>.log
    • 域日志:$DOMAIN_HOME/servers/<ADMIN_SERVER>/logs/<DOMAIN_NAME>.log
    • HTTP访问日志:$DOMAIN_HOME/servers/<SERVER_NAME>/logs/access.log
  • 快速定位示例:
    • 列出目录:ls -l $DOMAIN_HOME/servers/AdminServer/logs
    • 实时查看:tail -f $DOMAIN_HOME/servers/AdminServer/logs/AdminServer.log
    • 关键字过滤:grep -n “ERROR” $DOMAIN_HOME/servers/AdminServer/logs/AdminServer.log

二 实时查看与检索

  • 常用命令:
    • 实时跟踪:tail -f server.log
    • 查看末尾N行:tail -n 200 server.log
    • 分页查看:less server.log
    • 关键字与上下文:grep -n “Exception” server.log;grep -C 5 “ERROR” server.log
    • 多文件检索:grep -R “OutOfMemoryError” $DOMAIN_HOME/servers/*/logs

三 日志轮转策略

  • WebLogic内置轮转(控制台设置)
    • 开发模式:默认按大小500 KB轮转;生产模式:默认按大小5000 KB轮转;可切换为按时间轮转,并可设置保留文件数与轮转目录;文件名可加入时间格式(如:myserver_%yyyy%%MM%%dd%%hh%%mm%.log);存在2,097,152 KB的强制轮转阈值以防过大。
    • 操作路径:管理控制台 → 环境 → 服务器 → 选定服务器 → Logging → General → Rotation(选择 By Size/By Time、设置大小/间隔、保留数量、目录与文件名模板)。
  • 操作系统级轮转(logrotate)
    • 安装与配置:
      • 安装:sudo apt-get install logrotate
      • 新建配置:/etc/logrotate.d/weblogic
    • 示例配置(按天轮转、保留7天、压缩、属主weblogic:weblogic):
      • /u01/app/weblogic/domain_name/logs/*.log { daily missingok rotate 7 compress notifempty create 640 weblogic weblogic }
    • 调试与执行:
      • 调试:sudo logrotate -d /etc/logrotate.d/weblogic
      • 强制执行:sudo logrotate -f /etc/logrotate.d/weblogic
    • 建议:对正在被WebLogic写入的日志,优先使用copytruncate避免重启或信号干扰;若使用copy/compress,请结合postrotate发送信号或短暂停写以确保一致性。

四 日志级别与输出控制

  • 通过控制台调整(推荐)
    • 路径:管理控制台 → 环境 → 服务器 → 选定服务器 → Logging → General/Log Levels,调整日志级别与输出目标(如文件、控制台)。
  • 通过配置文件调整(JDK java.util.logging)
    • 配置文件:$DOMAIN_HOME/config/logging.properties
    • 示例(调整根日志级别与控制台输出):
      • .level=INFO
      • java.util.logging.ConsoleHandler.level=INFO
      • java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
    • 说明:不同WebLogic版本/组件可能使用不同的日志框架(JDK logging、Log4j等),请以实际域配置为准;修改后需重启受影响的服务器实例以生效。

五 集中监控与备份告警

  • 集中化与告警
    • 方案:使用ELK Stack(Elasticsearch、Logstash、Kibana)Splunk集中采集、分析与告警。
    • Logstash示例(采集WebLogic日志并写入ES):
      • input { file { path => “/u01/app/weblogic/domain_name/logs/*.log” start_position => “beginning” } }
      • filter { grok { match => { “message” => “%{TIMESTAMP_ISO8601:timestamp} %{LOGLEVEL:loglevel} %{JAVACLASS:class} - %{GREEDYDATA:message}” } }
      • output { elasticsearch { hosts => [“localhost:9200”] index => “weblogic-%{+YYYY.MM.dd}” } }
  • 备份与容量巡检
    • 日志归档备份:tar -czvf /backup/weblogic_logs_$(date +%Y%m%d).tar.gz /u01/app/weblogic/domain_name/logs
    • 容量告警(cron每日检查,超过1GB提示):
      • 0 0 * * * du -sh /u01/app/weblogic/domain_name/logs/*.log | awk ‘{if($1 ~ /G$/ && ${1%G} > 1) print “Large log:”, $0}’
  • 系统日志补充
    • 若以systemd管理WebLogic服务,可用journalctl查看服务输出:journalctl -u weblogic -f(按时间/级别过滤同样适用)。

0