Debian系统中WebLogic的日志管理怎么做
导读:Debian系统下WebLogic日志管理实践 一 日志位置与类型 常见日志与路径(WebLogic 9+): 服务器日志:$DOMAIN_HOME/servers//logs/.log 域日志:$DOMAIN_HOME/servers...
Debian系统下WebLogic日志管理实践
一 日志位置与类型
- 常见日志与路径(WebLogic 9+):
- 服务器日志:$DOMAIN_HOME/servers//logs/.log
- 域日志:$DOMAIN_HOME/servers//logs/.log
- HTTP访问日志:$DOMAIN_HOME/servers//logs/access.log
- 快速定位示例:
- 进入域目录:cd /u01/app/weblogic/your_domain
- 实时查看:tail -f servers/AdminServer/logs/AdminServer.log
- 过滤错误:grep -n “ERROR” servers/AdminServer/logs/AdminServer.log
- 说明:不同版本与安装方式路径可能略有差异,以上为常见默认结构。
二 内置轮转与日志级别配置
- 内置轮转(WebLogic Server自带)
- 开发模式:默认按大小500 KB轮转,命名如 SERVER_NAME.log00001;生产模式:默认按大小5000 KB轮转,启动时不会立即轮转。
- 可在控制台设置:Environment → Servers → 选定Server → Logging → General
- Rotation Type:By Size / By Time
- Rotation File Size:如 10485760(10 MB)
- Rotation Interval:如 24 hours
- Files to Retain:如 10
- Log File Rotation Directory:自定义轮转文件目录
- 文件名可加入时间格式:如 myserver_%yyyy%%MM%%dd%%hh%%mm%.log
- 安全阈值:当文件达到约2,097,152 KB(约2 GB)会强制轮转,防止过大。
- 日志级别与输出(示例)
- 使用JDK日志时,可在 $DOMAIN_HOME/config 下的 logging.properties 调整:
- 全局级别:.level= INFO
- 包级别:com.example.level = FINE
- 控制台输出:设置 java.util.logging.ConsoleHandler.level 与 formatter
- 如使用Log4j/Log4j2,可在相应配置中设置按大小/时间滚动与保留策略。
- 使用JDK日志时,可在 $DOMAIN_HOME/config 下的 logging.properties 调整:
三 使用logrotate进行系统级轮转
- 安装与原则
- Debian默认自带 logrotate,建议对WebLogic采用“copytruncate”方式,避免应用句柄未释放导致轮转失败。
- 配置示例(/etc/logrotate.d/weblogic)
- 适配常见路径(按实际替换):
/u01/app/weblogic/*/servers/*/logs/*.log { daily missingok rotate 7 compress delaycompress notifempty create 640 weblogic weblogic copytruncate sharedscripts postrotate # 可选:重启应用或通知外部系统 # systemctl reload weblogic.service > /dev/null 2> & 1 || true endscript } - 说明:
- copytruncate:复制当前日志后清空原文件,适合无法发送信号给WebLogic的场景。
- 若使用systemd管理且可安全发送信号,可改用 postrotate 执行
kill -USR1 < weblogic_pid>或systemctl reload。
- 适配常见路径(按实际替换):
- 测试与执行
- 语法检查:logrotate -d /etc/logrotate.d/weblogic
- 强制执行:logrotate -f /etc/logrotate.d/weblogic
- 定时:logrotate由 cron 每日自动运行(无需额外配置)。
四 集中监控与告警
- ELK Stack示例(轻量接入)
- Filebeat采集:/etc/filebeat/filebeat.yml
filebeat.inputs: - type: log paths: - /u01/app/weblogic/*/servers/*/logs/*.log fields: log_type: weblogic output.logstash: hosts: ["localhost:5044"] - Logstash处理(/etc/logstash/conf.d/weblogic.conf)
input { beats { port => 5044 } } filter { grok { match => { "message" => "%{ TIMESTAMP_ISO8601:timestamp} %{ LOGLEVEL:loglevel} %{ JAVACLASS:class} - %{ GREEDYDATA:message} " } } date { match => [ "timestamp", "ISO8601" ] } } output { elasticsearch { hosts => ["localhost:9200"] index => "weblogic-%{ +YYYY.MM.dd} " } stdout { codec => rubydebug } } - Kibana:访问 http://< server_ip> :5601 创建索引模式与可视化告警。
- Filebeat采集:/etc/filebeat/filebeat.yml
五 日常运维与排错清单
- 常用命令
- 实时查看:tail -f …/AdminServer.log
- 关键字定位:grep -n “ERROR|Exception” …/AdminServer.log -A5 -B5
- 按时间查看:sed -n ‘/2025-11-27 10:00:/,/2025-11-27 11:00:/p’ …/AdminServer.log
- 容量巡检(cron示例)
- 每天检查是否超过阈值(如1 GB):
0 0 * * * du -sh /u01/app/weblogic/*/servers/*/logs/*.log 2> /dev/null | awk '$1 ~ /G$/ { print "WARN: " $0} '
- 每天检查是否超过阈值(如1 GB):
- 注意事项
- 避免双重轮转:若已启用WebLogic内置按大小/时间轮转,建议系统级 logrotate 使用 copytruncate,或关闭内置轮转以免文件名冲突与句柄问题。
- 权限与属主:确保 weblogic:weblogic 对日志目录与文件具备写权限,避免轮转失败。
- 保留策略:结合磁盘容量与合规要求设置 rotate 7/30 等保留天数,并定期归档与清理。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian系统中WebLogic的日志管理怎么做
本文地址: https://pptw.com/jishu/758300.html
