WebLogic日志分析在CentOS上如何进行
导读:CentOS 上 WebLogic 日志分析实操指南 一 日志位置与快速查看 常见日志路径(按服务器实例区分): 服务器日志:$MW_HOME/user_projects/domains//servers//logs/.log 访问日志...
CentOS 上 WebLogic 日志分析实操指南
一 日志位置与快速查看
- 常见日志路径(按服务器实例区分):
- 服务器日志:$MW_HOME/user_projects/domains//servers//logs/.log
- 访问日志:$MW_HOME/user_projects/domains//servers//logs/access.log
- 诊断日志:$MW_HOME/user_projects/domains//servers//logs/diagnostic.log
- 启动日志:$MW_HOME/user_projects/domains//servers//logs/startWebLogic.log
- 控制台也可查看日志:WebLogic Administration Console → 服务器 → 日志/诊断
- 常用查看命令(实时与检索):
- 实时跟踪:tail -f logs/.log
- 过滤错误:grep -i “error|exception” logs/.log
- 按时间窗口检索(示例):awk ‘/2026-01-06 10:00/,/2026-01-06 11:00/’ logs/.log
- 统计错误数:grep -i error logs/.log | wc -l
- 小技巧
- 使用 less -S 横向滚动查看宽行日志(如堆栈)。
- 结合 sort | uniq -c | sort -nr 做错误码/异常类频次统计。
二 命令行分析常用模式
- 错误与堆栈聚合:
- 提取 ERROR/Exception 及堆栈:grep -A 20 -B 5 -i “error|exception” logs/.log
- Top N 异常类:
- grep -o ‘java.lang.[A-Za-z0-9_.]+Exception’ logs/.log | sort | uniq -c | sort -nr | head
- 访问日志关键指标(HTTP 200/4xx/5xx、慢请求):
- 状态分布:awk ‘{ print $9} ’ access.log | sort | uniq -c | sort -nr
- 慢请求(> 1s):awk ‘$NF > 1000 { print $0} ’ access.log(假设响应时间在第 NF 列,按实际格式调整)
- 时间窗口内错误趋势:
- awk ‘/2026-01-06 1[0-2]:/,/2026-01-06 1[3-5]:/’ logs/.log | grep -i error | wc -l
- 日志结构提示
- 访问日志字段顺序与含义由 WebLogic 访问日志格式(AccessLogFormat) 决定,分析前先确认字段索引。
三 日志轮转与保留策略
- 应用内置轮转(JDK java.util.logging)
- 配置文件:/config/logging.properties
- 关键参数示例:
- java.util.logging.FileHandler.pattern = %h/weblogic.%g.log
- java.util.logging.FileHandler.limit = 10485760(单文件 10MB)
- java.util.logging.FileHandler.count = 5(保留 5 个历史)
- java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
- 使配置生效:重启 WebLogic(如 stopWebLogic.sh / startWebLogic.sh 或 systemd 服务重启)。
- 系统级轮转(logrotate,适合 server.log/stdout.log 等)
- 新建:/etc/logrotate.d/weblogic
- 示例配置:
/opt/weblogic/user_projects/domains/*/servers/*/logs/*.log { daily rotate 7 missingok notifempty compress create 0644 weblogic weblogic copytruncate } - 说明:copytruncate 适用于被进程持续持有的日志文件;若用 postrotate 发送信号,请确保进程能正确处理。
- 建议
- 访问日志与诊断日志可按业务需求设置更长保留;启动日志保留 7–30 天即可。
四 集中化与可视化分析
- 集中采集与存储
- 使用 rsyslog/syslog-ng 将 WebLogic 日志发送到远程日志服务器,便于统一审计与归档。
- 使用 Filebeat 采集日志并输出到 Logstash/Elasticsearch。
- 检索分析与可视化
- ELK Stack(Elasticsearch + Logstash + Kibana):构建索引、字段解析(如时间戳、线程、级别、URI)、仪表盘与告警。
- Graylog:集中式日志管理、规则告警与报表。
- GoAccess(针对 access.log):生成 HTML/JSON/CSV 报告,快速洞察 PV/UV、Top URL、响应时间、HTTP 状态码 等。
- 监控联动
- 将解析后的错误率、响应时间等指标接入 Prometheus/Grafana 或 Zabbix,实现阈值告警与容量预警。
五 日志级别与输出路径调整
- 动态修改(推荐)
- 通过 WebLogic Administration Console 或 WLST 调整日志级别与输出,避免直接改生产配置;变更即时或按需热更新。
- 静态修改(需重启)
- 编辑 /config/logging.properties,调整 .level、java.util.logging.FileHandler.level 等;保存后重启实例生效。
- 诊断框架
- 启用/调整 诊断日志(Diagnostic Framework) 以输出更细粒度的执行与性能数据,便于定位慢请求与线程阻塞。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: WebLogic日志分析在CentOS上如何进行
本文地址: https://pptw.com/jishu/788346.html
