centos系统weblogic日志管理策略
导读:一、WebLogic日志位置 在CentOS系统中,WebLogic日志文件的默认路径基于域(Domain)结构,主要分为以下几类: 服务器日志:记录单个服务器实例的启动、关闭及运行时错误,路径为DOMAIN_HOME/servers/S...
一、WebLogic日志位置
在CentOS系统中,WebLogic日志文件的默认路径基于域(Domain)结构,主要分为以下几类:
- 服务器日志:记录单个服务器实例的启动、关闭及运行时错误,路径为
DOMAIN_HOME/servers/SERVER_NAME/logs/SERVER_NAME.log
(如/user_projects/domains/base_domain/servers/AdminServer/logs/AdminServer.log
); - 访问日志:记录HTTP/HTTPS请求的详细信息(如URL、客户端IP、响应状态),路径为
DOMAIN_HOME/servers/SERVER_NAME/logs/access.log
; - 域日志:记录整个域的全局事件(如服务器启动/停止、集群状态变更),路径为
DOMAIN_HOME/servers/SERVER_NAME/logs/domain.log
; - 标准输出/错误日志:若通过
setDomainEnv.sh
配置,会重定向到DOMAIN_HOME/servers/SERVER_NAME/logs/stdout.log
和stderr.log
。
二、日志轮转配置
日志轮转是防止日志文件无限增长的关键策略,CentOS下可通过WebLogic内置设置或logrotate工具实现:
1. WebLogic内置日志轮转(推荐优先配置)
通过WebLogic管理控制台或直接修改配置文件,可设置基于文件大小或时间间隔的轮转规则:
- 操作步骤(控制台):
登录WebLogic控制台→展开“环境”→选择“服务器”→点击目标服务器(如AdminServer)→进入“日志”→“常规”标签→配置以下参数:- 轮转类型:选择“按大小”(By Size)或“按时间”(By Time);
- 触发条件:若选“按大小”,设置“轮转文件大小”(如50MB,对应
Rotation File Size
);若选“按时间”,设置“开始轮转时间”(如00:00
,对应Begin Rotation Time
)和“轮转间隔”(如每天,对应Rotation Interval
); - 保留数量:勾选“限制保留文件数”(Limit Number of Retained Files),设置最大保留数量(如7个,对应
Files to Retain
); - 文件命名:可在“文件名”字段添加时间戳(如
myserver_%yyyy%_%MM%_%dd%.log
),便于归档管理。
- 操作步骤(配置文件):
直接修改DOMAIN_HOME/config/config.xml
中对应服务器的< log>
标签,例如:
修改后需重启WebLogic使配置生效。< log> < rotation-type> bySize< /rotation-type> < file-count> 7< /file-count> < file-size> 50000< /file-size> < !-- 单位:KB --> < name> myserver.log< /name> < directory> ${ DOMAIN_HOME} /servers/AdminServer/logs< /directory> < /log>
2. 使用logrotate工具(系统级轮转)
若需统一管理WebLogic与其他应用的日志,可使用CentOS自带的logrotate
工具:
- 安装logrotate:
sudo yum install logrotate -y
(默认已安装); - 创建配置文件:在
/etc/logrotate.d/
下新建weblogic
文件,内容示例如下:
说明:/user_projects/domains/base_domain/servers/AdminServer/logs/*.log { daily # 每天轮转 rotate 7 # 保留7个旧日志 compress # 压缩旧日志(gzip) missingok # 日志不存在时不报错 notifempty # 日志为空时不轮转 create 640 root adm # 新日志权限与属主 sharedscripts # 所有日志处理完后执行脚本 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进程发送信号,使其重新打开日志文件;sharedscripts
确保所有日志处理完成后再执行脚本,避免重复重启。
三、日志级别调整
合理设置日志级别可平衡日志详细度与存储开销,避免无关日志占用过多空间:
- 配置方法:
- 控制台:登录WebLogic控制台→展开“域结构”→选择“环境”→“服务器”→点击目标服务器→进入“日志”→“日志文件”标签→修改“日志级别”(如
INFO
、WARNING
、ERROR
,生产环境建议设为WARNING
或ERROR
); - 配置文件:修改
DOMAIN_HOME/config/fmwconfig/servers/SERVER_NAME/logging/logging.xml
,调整< logging-file-handler>
的level
属性(如< level> WARNING< /level>
)。
- 控制台:登录WebLogic控制台→展开“域结构”→选择“环境”→“服务器”→点击目标服务器→进入“日志”→“日志文件”标签→修改“日志级别”(如
- 动态调整:无需重启服务器即可生效(部分级别可能需要重启),通过控制台修改后会自动同步到配置文件。
四、日志集中管理
为便于统一分析与存储,可将WebLogic日志发送至集中式日志管理系统:
- ELK Stack(Elasticsearch+Logstash+Kibana):
- Logstash配置:编写
logstash.conf
,添加WebLogic日志输入插件(如file
插件),指定日志路径(如/user_projects/domains/base_domain/servers/AdminServer/logs/*.log
),并设置解析规则(如grok解析); - Elasticsearch存储:将解析后的日志存储到Elasticsearch集群,便于快速检索;
- Kibana可视化:通过Kibana创建仪表板,展示日志趋势、错误统计等信息。
- Logstash配置:编写
- Splunk:
部署Splunk Agent(Universal Forwarder),配置inputs.conf
收集WebLogic日志,发送至Splunk Server进行集中管理、搜索与告警。
五、日志安全与监控
- 访问控制:
通过Linux文件权限限制日志文件访问,例如:
仅允许chown -R weblogic:adm /user_projects/domains/base_domain/servers/AdminServer/logs chmod -R 640 /user_projects/domains/base_domain/servers/AdminServer/logs/*.log
weblogic
用户和adm
组读取日志,防止未授权访问。 - 完整性保护:
使用auditd
监控日志文件的修改与删除操作,配置审计规则(如-w /user_projects/domains/base_domain/servers/AdminServer/logs/ -p wa -k weblogic_logs
),记录所有对日志目录的写操作,便于追踪日志篡改行为。 - 实时监控:
通过tail -f
或less +F
实时查看日志(如tail -f /user_projects/domains/base_domain/servers/AdminServer/logs/AdminServer.log
),或结合grep
过滤关键信息(如grep "ERROR" /path/to/log
),快速定位异常。
六、日常维护技巧
- 定期检查日志:通过
tail
、grep
等命令定期查看日志,重点关注ERROR
、WARNING
级别的日志,及时处理异常; - 清理旧日志:即使配置了轮转,也需定期清理超过保留期限的日志(如通过
find
命令:find /path/to/logs -name "*.log.*" -mtime +30 -exec rm -f { } \;
); - 备份重要日志:将关键日志(如域日志、错误日志)备份至异地存储(如NFS、对象存储),防止数据丢失。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos系统weblogic日志管理策略
本文地址: https://pptw.com/jishu/718986.html