Debian系统中WebLogic的日志管理
导读:1. 定位WebLogic日志文件 Debian系统中,WebLogic日志默认存储在域目录的logs子目录下(路径通常为/u01/app/weblogic/domain_name/logs/或/u01/oracle/user_projec...
1. 定位WebLogic日志文件
Debian系统中,WebLogic日志默认存储在域目录的logs子目录下(路径通常为/u01/app/weblogic/domain_name/logs/或/u01/oracle/user_projects/domains/<
domain_name>
/servers/<
server_name>
/logs/)。主要日志文件包括:
- server.log:记录服务器实例的常规运行信息(启动/停止、错误、警告等);
- access.log:记录HTTP/HTTPS访问请求(客户端IP、请求时间、响应状态码等);
- diagnostic.log:记录诊断信息(用于故障排除,如线程转储、内存分析等)。
2. 查看日志文件
使用命令行工具快速查看日志内容:
- 实时查看:通过
tail -f命令跟踪日志文件的最新更新(如tail -f /u01/app/weblogic/domain_name/logs/server.log); - 过滤关键字:用
grep命令筛选特定内容(如查找ERROR级别的日志:grep "ERROR" /u01/app/weblogic/domain_name/logs/server.log); - 查看系统日志:若WebLogic服务通过systemd管理,可使用
journalctl -u weblogic查看其系统日志(需确认服务单元名称正确)。
3. 配置日志轮转
避免日志文件过大占用磁盘空间,可通过以下两种方式实现自动轮转:
3.1 使用logrotate工具(推荐)
logrotate是Debian系统自带的日志管理工具,可定期轮转、压缩和清理日志文件。
- 安装logrotate:若未安装,执行
sudo apt-get install logrotate; - 创建配置文件:在
/etc/logrotate.d/目录下新建weblogic文件(如sudo vi /etc/logrotate.d/weblogic),添加以下内容(根据实际路径调整):
说明:/u01/app/weblogic/domain_name/logs/*.log { daily # 每天轮转一次 rotate 7 # 保留最近7个轮转文件 compress # 压缩旧日志(使用gzip) missingok # 若日志文件不存在,不报错 notifempty # 若日志为空,不轮转 create 0644 weblogic weblogic # 新日志文件权限及属主 sharedscripts # 所有日志轮转完成后执行postrotate脚本 postrotate /bin/kill -HUP `cat /u01/app/weblogic/domain_name/servers/AdminServer/tmp/AdminServer.pid 2> /dev/null` 2> /dev/null || true endscript }postrotate脚本用于向WebLogic进程发送HUP信号,使其重新打开日志文件(避免日志丢失)。 - 手动测试:执行
sudo logrotate -vf /etc/logrotate.d/weblogic验证配置是否正确; - 定时任务:logrotate默认通过
/etc/cron.daily/logrotate每日自动运行,无需额外配置。
3.2 通过WebLogic配置文件设置
WebLogic自身支持日志轮转,可通过管理控制台或配置文件调整:
- 管理控制台步骤:
- 登录WebLogic控制台(
http://< server_ip> :7001/console); - 进入
环境 > 服务器 > < 服务器名称> > 日志 > 常规; - 设置旋转类型(按大小/按时间):
- 按大小:设置
旋转文件大小(如500MB),超过则轮转; - 按时间:设置
开始旋转时间(如00:00)和旋转间隔(如每天);
- 按大小:设置
- 设置保留文件数(如保留7个旧日志);
- 点击“保存”,重启服务器使配置生效。
- 登录WebLogic控制台(
- 配置文件修改:编辑域目录下的
config/config.xml或config/fmwconfig/servers/< server_name> /logging.xml,调整< file-handler>标签的file-name、rotation-policy等参数(如< file-name> server.log< /file-name>、< rotation-policy> bySize< /rotation-policy>)。
4. 日志分析与监控
为提升运维效率,可通过以下工具实现日志的集中管理与分析:
4.1 ELK Stack(Elasticsearch + Logstash + Kibana)
- 安装ELK:在Debian上依次安装Elasticsearch、Logstash、Kibana(参考官方文档或包管理器);
- 配置Logstash:创建
/etc/logstash/conf.d/weblogic.conf文件,定义日志输入、过滤和输出规则(示例):input { file { path => "/u01/app/weblogic/domain_name/logs/server.log" start_position => "beginning" sincedb_path => "/dev/null" } } filter { grok { match => { "message" => "%{ TIMESTAMP_ISO8601:timestamp} %{ LOGLEVEL:loglevel} %{ THREAD:thread} %{ CLASS:class} %{ MESSAGE:message} " } } date { match => ["timestamp", "ISO8601"] } } output { elasticsearch { hosts => ["localhost:9200"] index => "weblogic-%{ +YYYY.MM.dd} " } stdout { codec => rubydebug } } - 启动服务:执行
sudo systemctl start elasticsearch logstash kibana,通过Kibana Web界面(http://< server_ip> :5601)可视化分析日志。
4.2 Graylog
Graylog是开源的日志管理平台,支持集中收集、存储和搜索日志:
- 安装Graylog:通过Debian包管理器安装(
sudo apt-get install graylog-server); - 配置收集器:编辑
/etc/graylog/server/conf/server.conf,设置输入源(如Syslog、File)和索引策略; - 访问Web界面:通过
http://< server_ip> :9000登录,实现日志搜索、仪表板和警报设置。
5. 日志清理
定期清理旧日志以释放磁盘空间,可通过以下方式实现:
- 手动清理:使用
rm命令删除指定日期前的日志(如find /u01/app/weblogic/domain_name/logs/ -name "*.log" -mtime +30 -exec rm -f { } \;); - 自动化脚本:将上述命令保存为
cleanup_weblogic_logs.sh,添加执行权限(chmod +x cleanup_weblogic_logs.sh),并通过crontab -e添加定时任务(如每天凌晨2点执行:0 2 * * * /path/to/cleanup_weblogic_logs.sh)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian系统中WebLogic的日志管理
本文地址: https://pptw.com/jishu/745432.html
