首页主机资讯centos系统中weblogic如何进行日志分析

centos系统中weblogic如何进行日志分析

时间2025-11-14 09:26:03发布访客分类主机资讯浏览1388
导读:CentOS下WebLogic日志分析实操指南 一 日志类型与存放路径 服务器日志 server.log:记录启动/关闭、运行异常、部署与子系统事件等,路径通常为:$DOMAIN_HOME/servers//logs/.log。 域日志...

CentOS下WebLogic日志分析实操指南

一 日志类型与存放路径

  • 服务器日志 server.log:记录启动/关闭运行异常部署与子系统事件等,路径通常为:$DOMAIN_HOME/servers//logs/.log
  • 域日志 domain.log:记录域内各受管服务器的重要事件,路径通常为:$DOMAIN_HOME/servers//logs/.log
  • HTTP访问日志 access.log:记录客户端请求行、状态码、字节数等,路径通常为:$DOMAIN_HOME/servers//logs/access.log
  • 说明:WebLogic 9.x 及以后版本采用上述目录结构;8.x 版本路径有所不同。以上路径与用途为官方与业界通用约定,可直接用于定位与排查。

二 快速定位与常用查看命令

  • 定位域目录:先确认**$DOMAIN_HOME**(如:/u01/app/weblogic/user_projects/domains/base_domain)。
  • 查看服务器日志尾部:
    • tail -f $DOMAIN_HOME/servers/AdminServer/logs/AdminServer.log
    • less +F $DOMAIN_HOME/servers/AdminServer/logs/AdminServer.log
  • 关键字筛选与统计:
    • grep -i “error|exception” $DOMAIN_HOME/servers/AdminServer/logs/AdminServer.log | tail -50
    • grep “BEA-” $DOMAIN_HOME/servers/AdminServer/logs/AdminServer.log | awk ‘{ print $1,$2,$3,$5} ’ | sort | uniq -c | sort -nr
  • 访问日志分析(Top 10 客户端IP):
    • awk ‘{ ips[$1]++} END { for(i in ips) print ips[i],i} ’ $DOMAIN_HOME/servers/AdminServer/logs/access.log | sort -nr | head
  • 按时间窗口检索(示例:2025-11-14 10点):
    • sed -n ‘/2025-11-14 10:/,/2025-11-14 11:/p’ $DOMAIN_HOME/servers/AdminServer/logs/AdminServer.log
  • 控制台与WLST辅助:
    • 控制台路径:环境 → 服务器 → 日志记录,可在线查看/下载日志,并调整日志级别输出路径
    • WLST示例:connect(‘weblogic’,‘密码’,‘t3://localhost:7001’);cd(‘/Servers/AdminServer/Log/AdminServer’);ls() 查看日志相关MBean。

三 日志格式与关键字段解读

  • 服务器/域日志典型格式(单行示例):
    ####< Mar 4, 2019 9:42:07 AM CST> < Warning> < RMI> < localhost.localdomain> < AdminServer> < [ACTIVE] ExecuteThread: ‘4’ for queue: ‘weblogic.kernel.Default (self-tuning)’> … < BEA-080003>
    关键字段:时间戳严重级别(Error/Warning/Notice/Info/Debug)、子系统主机名服务器名线程消息ID消息体
  • HTTP访问日志典型格式(Common Log Format):
    172.16.112.1 - - [04/Mar/2019:14:44:43 +0800] “GET /untitled_war/ HTTP/1.1” 200 98
    关键字段:客户端IP时间请求行状态码响应字节数
  • 域日志特性:不保证严格按时间戳顺序写入,消息可能由受管服务器暂存后批量送达管理服务器,做跨服务器时序分析时需留意。

四 高效分析与排障流程

  • 启动失败/异常退出:
    1. tail -n 200 server.log 观察SEVERE/ERROR堆栈
    2. 若端口占用,ss -tulpen | grep 7001;必要时 kill 旧进程后重启;
    3. 检查磁盘空间 df -h 与内存 free -m,避免因资源不足导致异常。
  • 运行期错误定位:
    1. grep -n “ERROR|Exception” server.log 定位行号与上下文;
    2. 结合线程名(如 [ACTIVE] ExecuteThread)与模块(JMS/JDBC/EJB)缩小范围;
    3. 必要时临时提升日志级别至DEBUG(WLST/控制台),复现后回落,避免日志洪泛。
  • HTTP 5xx/4xx 激增:
    1. 统计 access.log 中状态码分布:awk ‘{ s[$9]++} END { for(i in s) print i,s[i]} ’ access.log | sort -nr;
    2. 关联 server.log 同一时间窗的错误堆栈,定位后端故障(数据源、线程池、应用代码)。
  • 安全事件排查:
    1. 检索可疑路径与命令注入特征:grep -Ei “../|.jsp|.sh|.cmd|.bat” access.log;
    2. 关注反序列化相关异常线索(如 RMI/IIOP 异常堆栈),结合 Domain/Server 日志与网络抓包进一步确认。
  • 性能瓶颈初筛:
    1. 观察 server.log 中长时间执行/慢查询日志;
    2. 结合系统层面 top、free、iostat、netstat/ss 检查CPU/内存/IO/连接数

五 日志轮转 集中化与审计

  • 日志轮转与保留:
    • 使用 logrotate 管理 server.log/access.log/domain.log,控制单文件大小保留天数,示例配置:
      /u01/app/weblogic/user_projects/domains/base_domain/servers//logs/.log {
      daily; rotate 7; missingok; notifempty; compress; delaycompress;
      postrotate
      systemctl kill -s USR1 weblogic.service > /dev/null 2> & 1 || true
      endscript
      }
    • 在 WebLogic 控制台设置访问日志缓冲为 0可实现实时落盘,便于即时分析。
  • 集中化与可视化:
    • 使用 rsyslog/syslog-ng 将日志转发至远程日志服务器
    • 部署 ELK Stack(Elasticsearch/Logstash/Kibana)Splunk,对 server.log/access.log/domain.log 进行解析、索引、仪表盘与告警
  • 系统审计:
    • 启用 auditd 记录关键文件与进程的访问与变更,与 WebLogic 日志进行交叉验证

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: centos系统中weblogic如何进行日志分析
本文地址: https://pptw.com/jishu/747727.html
centos中weblogic的权限管理如何操作 centos中如何更新weblogic版本

游客 回复需填写必要信息