温馨提示×

WebLogic在CentOS上的日志如何管理

小樊
42
2025-11-01 21:43:08
栏目: 智能运维

WebLogic在CentOS上的日志管理指南

一、WebLogic日志位置(CentOS环境)

WebLogic在CentOS上的日志文件默认存储在域根目录下的servers子目录中,不同类型的日志对应不同文件:

  • 服务器日志:记录WebLogic Server的启动、关闭及运行时错误信息,路径为DOMAIN_HOME/servers/SERVER_NAME/logs/server.log(如/user_projects/domains/base_domain/servers/AdminServer/logs/AdminServer.log)。
  • HTTP访问日志:记录客户端对服务器的访问请求(如URL、IP、响应状态),路径为DOMAIN_HOME/servers/SERVER_NAME/logs/access.log
  • 域日志:记录整个域的运行状态(如服务器启动/停止、部署事件),路径为DOMAIN_HOME/servers/SERVER_NAME/logs/domain.log

二、日志查看方法

1. 命令行工具查看

  • 实时查看最新日志:使用tail -f命令跟踪日志文件的新增内容(如tail -f /user_projects/domains/base_domain/servers/AdminServer/logs/server.log)。
  • 查看最后N行:用tail -n指定行数(如tail -n 100 server.log查看最后100行)。
  • 分页查看:用less命令(如less server.log),支持上下翻页、搜索(按/键输入关键词)。
  • 筛选关键词:用grep命令过滤特定内容(如grep "ERROR" server.log查找所有错误日志)。

2. WebLogic控制台查看

登录WebLogic管理控制台(http://<服务器IP>:7001/console),导航至**“域”→“日志”选项卡,可选择查看服务器日志**、域日志访问日志,并支持导出日志文件(如下载为.txt格式)。

3. WLST脚本查看

使用WebLogic Scripting Tool(WLST)通过命令行连接服务器并查看日志:

# 连接服务器(替换为实际用户名、密码和URL)
connect('weblogic', 'welcome1', 't3://localhost:7001')
# 导航至服务器日志目录并列出文件
cd('/Servers/AdminServer/Log/AdminServer')
print(ls())
# 查看日志文件内容(需结合其他命令,如cat)

三、日志轮转配置

日志轮转用于防止日志文件过大占用磁盘空间,常用方法有两种:

1. 使用logrotate工具(推荐)

logrotate是CentOS自带的日志管理工具,可自动轮转、压缩和删除旧日志。

  • 安装logrotatesudo yum install logrotate -y(默认已安装)。
  • 创建配置文件:在/etc/logrotate.d/目录下创建weblogic文件(如sudo vi /etc/logrotate.d/weblogic),添加以下内容(根据实际情况修改路径):
    /user_projects/domains/base_domain/servers/AdminServer/logs/*.log {
        daily                   # 每天轮转一次(可选:weekly/monthly)
        rotate 7                # 保留7个旧日志文件
        compress                # 压缩旧日志(如.gz格式)
        missingok               # 日志文件不存在时不报错
        notifempty              # 日志为空时不轮转
        create 640 root adm     # 创建新日志文件的权限和属主
        sharedscripts           # 所有日志轮转完成后执行postrotate脚本
        postrotate
            /bin/kill -HUP `cat /user_projects/domains/base_domain/servers/AdminServer/tmp/AdminServer.pid 2>/dev/null` 2>/dev/null || true
        endscript
    }
    
    说明:postrotate脚本通过kill -HUP向WebLogic进程发送信号,使其重新打开日志文件,避免日志丢失。
  • 测试配置:手动触发轮转(sudo logrotate -f /etc/logrotate.d/weblogic),检查/user_projects/domains/base_domain/servers/AdminServer/logs/目录下是否生成新日志文件(如server.log.1.gz)。

2. 修改logging.properties文件(基于Log4j)

若WebLogic使用Log4j作为日志框架,可通过修改DOMAIN_HOME/config/logging.properties文件调整日志轮转:

  • 找到java.util.logging.FileHandler配置段,修改以下参数:
    java.util.logging.FileHandler.pattern = /user_projects/domains/base_domain/servers/AdminServer/logs/admin.%g.log
    java.util.logging.FileHandler.limit = 10485760  # 单个日志文件大小(10MB)
    java.util.logging.FileHandler.count = 5         # 保留5个旧日志文件
    
  • 重启WebLogic:使配置生效(/user_projects/domains/base_domain/bin/stopWebLogic.sh && /user_projects/domains/base_domain/bin/startWebLogic.sh)。

四、日志配置调整

1. 修改日志级别

通过调整日志级别可控制日志输出的详细程度(如INFO记录常规信息,FINE记录调试信息):

  • 方法1:管理控制台:导航至**“域”→“配置”→“日志记录”→“通用”**,选择日志级别(如INFOWARNINGSEVERE),点击“保存”。
  • 方法2:修改logging.xml:编辑DOMAIN_HOME/config/fmwconfig/servers/server_name/logging.xml文件,调整<log-level>标签的值(如<log-level>INFO</log-level>),重启WebLogic生效。

2. 修改日志路径

若需更改日志文件的存储位置,可通过以下方式:

  • 管理控制台:导航至**“域”→“配置”→“服务器”→“高级”→“Web服务器日志”**,修改“日志文件目录”和“日志文件名”(如将server.log改为/var/log/weblogic/server.log),点击“保存”。
  • 修改logging.xml:在logging.xml中找到<logging-file-handler>标签,修改file-location属性(如<logging-file-handler name="FileHandler" file-location="/var/log/weblogic/server.log"/>),重启WebLogic生效。

五、日志安全与监控

1. 日志安全配置

通过管理控制台限制日志中的敏感信息:

  • 导航至**“域”→“配置”→“日志记录”→“通用”**,勾选“禁用发送服务器标头”“限制发送主机名”等选项,减少日志中的敏感数据泄露风险。

2. 日志监控与分析

  • 集中式日志管理:使用ELK Stack(Elasticsearch+Logstash+Kibana)或rsyslog/syslog-ng将WebLogic日志发送到远程服务器,实现集中存储、搜索和可视化分析(如通过Kibana查看日志趋势)。
  • 实时监控:用tail -f命令实时监控关键日志(如tail -f /user_projects/domains/base_domain/servers/AdminServer/logs/error.log),快速发现异常。

通过以上步骤,可实现WebLogic在CentOS上的日志有效管理,包括查看、轮转、配置调整及安全监控,确保系统运行的可维护性和稳定性。

0