Linux下WebLogic日志如何管理
导读:Linux下WebLogic日志管理 一 日志类型与存放路径 常见日志类型与用途 Server Log:记录服务器启动、关闭、异常、业务运行等核心信息,定位故障首选。 Access Log:HTTP 访问日志,包含客户端 IP、请求路径...
Linux下WebLogic日志管理
一 日志类型与存放路径
- 常见日志类型与用途
- Server Log:记录服务器启动、关闭、异常、业务运行等核心信息,定位故障首选。
- Access Log:HTTP 访问日志,包含客户端 IP、请求路径、状态码等,用于访问分析与安全审计。
- Diagnostic Log:诊断日志,便于深入分析警告、错误与异常链路。
- 默认目录结构(WebLogic 9+)
- 服务器日志:$MW_HOME/user_projects/domains/< domain_name> /servers/< server_name> /logs/< server_name> .log
- 访问日志:$MW_HOME/user_projects/domains/< domain_name> /servers/< server_name> /logs/access.log
- 域日志:$MW_HOME/user_projects/domains/< domain_name> /servers/< server_name> /logs/< domain_name> .log
- 版本差异提示
- WebLogic 8.x 与 9+ 的目录结构不同,8.x 的访问日志通常位于域根目录,升级或迁移时需核对路径。
二 查看与检索日志
- 命令行快速查看
- 实时跟踪:tail -f /path/to/AdminServer.log
- 关键字筛选:grep -i “error|exception” /path/to/AdminServer.log
- 分页查看:less /path/to/AdminServer.log
- 管理控制台与 WLST
- 控制台路径:Environment > Servers > < server_name> > Logging,可在线查看、过滤与导出日志。
- WLST 示例:
- connect(‘weblogic’,‘password’,‘t3://localhost:7001’)
- cd(‘/Servers/< server_name> /Log/< server_name> ’)
- ls()
- 系统日志联动
- 若以系统服务方式运行,可用 journalctl -u weblogic 查看服务标准输出与错误(需事先配置服务单元)。
三 轮转与保留策略
- WebLogic 内置轮转(控制台配置)
- 运行模式默认阈值:
- 开发模式:文件达到 500 KB 触发轮转,启动时即轮转一次。
- 生产模式:文件达到 5000 KB 触发轮转,启动时默认不轮转。
- 可配置项:
- Rotation Type:按大小(By Size)或按时间(By Time)
- Rotation File Size:触发大小(KB)
- Rotation Interval / Begin Rotation Time:按时间间隔轮转
- Limit Number of Retained Files:保留历史文件数
- Log File Rotation Directory:轮转文件存放目录
- FileName 日期戳:在文件名中嵌入 %yyyy%%MM%%dd%%hh%%mm% 等 SimpleDateFormat 变量
- 安全阈值:当文件增长接近 2,097,152 KB 时,会强制执行“硬轮转”,防止日志过大。
- 运行模式默认阈值:
- 操作系统层 logrotate(对 server.log 等文件做系统级轮转与压缩)
- 示例配置 /etc/logrotate.d/weblogic:
/u01/oracle/user_projects/domains/base_domain/servers/AdminServer/logs/*.log { daily missingok rotate 30 compress delaycompress copytruncate notifempty create 640 oracle weblogic } - 说明:
- 使用 copytruncate 避免应用句柄未释放导致轮转失败(适用于无法发送信号给 WebLogic 的场景)。
- 如能控制进程,可改用 postrotate 发送 USR1/信号触发应用级轮转并禁用 copytruncate。
- 测试与强制执行:logrotate -d /etc/logrotate.d/weblogic(干跑),logrotate -f /etc/logrotate.d/weblogic(强制执行)。
- 示例配置 /etc/logrotate.d/weblogic:
- 日志框架配置(可选)
- 若应用使用 java.util.logging 或 log4j/log4j2,可在相应配置(如 logging.properties 或 log4j.properties)中设置 limit/count/pattern 等参数,实现按大小滚动与保留;修改后需重启生效。
四 集中化与监控告警
- 集中收集与可视化
- 使用 rsyslog/syslog-ng 将 WebLogic 日志发送到远程日志服务器,便于统一存储与审计。
- 部署 ELK Stack(Elasticsearch, Logstash, Kibana) 或 Splunk,实现检索、可视化与告警。
- 审计与合规
- 启用 Auditd 记录关键系统调用与文件访问,配合日志完整性校验,满足审计要求。
- 容量与告警
- 结合 logrotate 保留策略 与 磁盘监控(如 df/du、Prometheus Node Exporter + Alertmanager),在磁盘使用率或日志增长异常时提前告警。
五 日常维护与最佳实践
- 启动日志重定向
- 使用 nohup 或 systemd StandardOutput/StandardError 将 stdout/stderr 单独落盘,避免与 server.log 混杂,便于独立轮转与排查。
- 备份与归档
- 定期将历史日志打包归档并异地保存,例如:
- tar -czvf /backup/weblogic_logs_$(date +%F).tar.gz /u01/oracle/user_projects/domains/base_domain/servers/AdminServer/logs/
- 定期将历史日志打包归档并异地保存,例如:
- 变更与生效
- 通过控制台修改日志参数后,点击 Activate Changes;部分设置需重启才生效。
- 安全与合规
- 限制日志目录与文件的访问权限(如 640 oracle:weblogic),避免泄露敏感信息;对外仅暴露必要的访问日志与告警通道。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux下WebLogic日志如何管理
本文地址: https://pptw.com/jishu/771048.html
