日志轮转是防止日志文件无限增长、占用磁盘空间的关键手段,可通过WebLogic控制台或**系统工具(logrotate)**实现。
NONE:日志不自动轮转,需手动清理(仅适用于测试环境);SIZE:按文件大小触发轮转(生产环境推荐),需设置FileMinSize(默认500KB,可根据日志量调整为10MB~100MB);TIME:按时间间隔触发轮转(如每天、每小时),需设置RotationTime(格式为hh:mm,如00:00表示每日零点)和FileTimeSpan(间隔小时数,默认24小时)。Files to Retain(默认保留5个历史日志文件,可根据需求调整,如保留7天日志则设置为7),超过数量的旧日志将被覆盖。若需统一管理WebLogic与其他服务的日志,可使用CentOS自带的logrotate工具:
sudo yum install logrotate -y(默认已安装)。/etc/logrotate.d/目录下新建weblogic文件,内容示例如下:/path/to/weblogic/domain/logs/*.log {
daily # 每日轮转
rotate 7 # 保留7个历史日志文件
compress # 压缩旧日志(节省空间)
missingok # 日志文件不存在时不报错
notifempty # 日志为空时不轮转
create 640 root adm # 新日志文件权限为640,属主root,属组adm
sharedscripts # 所有日志轮转完成后执行脚本
postrotate
/bin/kill -HUP $(cat /path/to/weblogic/domain/servers/AdminServer/tmp/.pid) 2>/dev/null || true
endscript
}
其中/path/to/weblogic/domain/logs/需替换为实际的WebLogic日志目录(如/u01/oracle/user_projects/domains/base_domain/logs/),AdminServer为目标服务器实例名称。sudo logrotate -f /etc/logrotate.d/weblogic验证配置是否正确,无错误则说明配置生效。合理的日志级别可减少不必要的日志输出,提升日志可读性和系统性能:
Trace、Debug、Info、Warning、Error、Critical、Alert、Emergency(生产环境推荐Info或Warning)。config/logging.xml文件(如/u01/oracle/user_projects/domains/base_domain/config/logging.xml),调整<log-level>标签的值(如<log-level>INFO</log-level>)。Trace),输出的信息越详细,但会显著增加磁盘I/O和日志文件大小;生产环境应避免使用Trace或Debug级别。logs子目录下,包括:
server.log:服务器实例的主日志文件(包含服务器启动、运行、错误等信息);access.log:HTTP访问日志(记录客户端请求信息,如URL、响应状态码);domain.log:域级别的日志文件(包含域配置变更、安全管理事件等)。/data/weblogic/archive_logs/),可使用mv命令或编写Shell脚本定期迁移,并通过tar命令压缩以节省空间。oracle或weblogic),避免未授权用户修改或删除日志文件。例如:chown -R oracle:adm /path/to/weblogic/domain/logs/
chmod -R 640 /path/to/weblogic/domain/logs/
对于多台WebLogic服务器的环境,可通过以下工具实现日志集中管理,便于统一分析和监控:
rsyslog(如开启UDP/TCP端口514);/etc/rsyslog.conf文件,添加以下内容:local0.* @remote_log_server_ip:514 # 发送local0设施的日志到远程服务器
rsyslog服务:sudo systemctl restart rsyslog。Filebeat(轻量级日志收集器),配置filebeat.yml文件采集WebLogic日志;ERROR、Critical级别的日志)。logging.xml中配置<log-filter>,过滤掉包含敏感信息(如密码、银行卡号)的日志。auditd工具监控WebLogic进程的系统调用,记录可疑操作(如非法文件访问、进程终止),配置示例如下:# 添加审计规则(监控WebLogic进程的所有执行操作)
auditctl -a always,exit -F arch=b64 -S execve -F euid=oracle -k weblogic_exec
# 查看审计日志
ausearch -k weblogic_exec