Linux 上 WebLogic 日志管理实用技巧
一 日志类型与默认路径
- 常见三类日志:Server 日志(服务器运行日志)、Access 日志(HTTP 访问日志)、Domain 日志(域级日志)。
- 默认目录结构(WLS 9+):$MW_HOME/user_projects/domains//servers//logs/,常见文件包括:.log、access.log、以及域日志(如 .log,具体以域配置为准)。
- 运行期标准输出通常重定向到:.out(与 .log 同目录)。以上路径在不同版本与安装方式下可能略有差异,建议以实际域目录为准。
二 快速查看与检索
- 定位目录并查看:
- 进入日志目录:
cd $MW_HOME/user_projects/domains/<domain>/servers/<server>/logs
- 实时查看:
tail -f <server>.log
- 关键字筛选:
grep -i "error\|exception" <server>.log | tail -n 200
- 按时间窗口检索(示例):
awk '/2025-05-16 10:2[0-9]/ {print $0}' <server>.log
- 辅助工具:
- 命令行三剑客:tail/less/grep/awk 组合用于快速定位与统计。
- 集中分析:将日志接入 ELK/Graylog 做可视化与告警;HTTP 访问日志可用 GoAccess 生成报表。
三 日志轮转与保留策略
- WebLogic 内置轮转(控制台设置)
- 模式差异:开发模式默认按大小500KB轮转;生产模式默认按大小5000KB轮转,启动时不会立即轮转。
- 可配置项:
- 按大小或按时间轮转;设置保留文件数;指定轮转目录;在文件名中加入时间日期戳(如:
myserver_%yyyy%_%MM%_%dd%_%hh%_%mm%.log)。
- 为防止日志无限增长,存在**2,097,152KB(约 2GB)**的强制硬轮转阈值。
- 操作系统层 logrotate(推荐配合)
- 框架日志(如应用使用 Log4j/Log4j2)
- 可在应用的 logging.properties/log4j.properties 中设置
limit(单文件大小)与 count(保留个数),并选择 RollingFileAppender 等策略;修改后需重启应用生效。
四 集中化与监控告警
- 远程集中:
- 使用 rsyslog/syslog-ng 将日志发往远程日志服务器,便于统一存储与审计。
- 将日志送入 ELK(Filebeat/Logstash → Elasticsearch → Kibana)或 Graylog,实现检索、可视化与阈值告警。
- 系统层审计与资源监控:
- 启用 auditd 记录关键系统调用与文件访问,辅助安全审计。
- 结合 top/htop、free、iostat 等观察 CPU、内存、I/O,关联异常日志定位性能瓶颈。
五 安全与维护清单
- 权限最小化:日志目录与文件建议 700/640,属主属组设置为 weblogic/oracle,避免泄露敏感堆栈与凭据。
- 备份与清理:定期归档历史日志(如按周/月打包),并验证可恢复性;清理策略与保留周期写入运维手册。
- 变更可追溯:调整日志级别、轮转参数、路径等务必记录变更单与回滚方案;变更后观察 24–48 小时稳定性。
- 容量预警:对日志目录设置磁盘阈值告警(如 80% 预警、90% 严重),提前介入扩容或清理。