centos

centos下weblogic日志管理技巧

小樊
53
2025-10-03 02:43:38
栏目: 智能运维

一、WebLogic日志位置确认
在CentOS系统中,WebLogic日志的默认存储路径遵循域(Domain)结构,核心日志文件位于$DOMAIN_HOME/servers/<Server_Name>/logs目录下,常见文件包括:

二、日志级别动态调整
日志级别决定了日志的详细程度(从低到高:TRACE < DEBUG < INFO < WARNING < ERROR < SEVERE),可根据需求动态调整以平衡日志量与排查效率:

  1. 通过WebLogic控制台
    登录控制台(http://<服务器IP>:<端口>/console),导航至环境→服务器→<服务器名称>→日志→通用,修改“日志级别”下拉菜单(如设置为ERROR可仅记录错误信息),点击“保存”即可生效。
  2. 通过WLST脚本
    使用WLST(WebLogic Scripting Tool)自动化调整,示例脚本:
    connect('weblogic', '密码', 't3://localhost:7001')
    edit()
    startEdit()
    cd('/Servers/AdminServer/Logging/General')
    set('LogLevel', 'ERROR')  # 设置为ERROR级别
    save()
    activate()
    disconnect()
    
    运行脚本前需确保已配置WLST环境变量。

三、日志轮转配置(防止日志膨胀)
日志轮转可自动分割、压缩旧日志,保留指定数量的文件,避免单个日志文件过大占用磁盘空间。以下是两种常用方法:

1. 使用WebLogic内置配置(推荐)

通过控制台配置日志轮转规则,适用于大多数场景:

2. 使用logrotate工具(系统级轮转)

logrotate是Linux系统自带的日志管理工具,可强制定期轮转WebLogic日志(即使WebLogic未触发):

四、日志查看与过滤技巧
日常运维中,快速定位关键日志(如错误、警告)能提升排查效率,常用命令如下:

五、日志清理策略
定期清理旧日志可释放磁盘空间,避免因日志过多导致系统性能下降,以下是三种常用方法:

  1. 通过WebLogic控制台
    导航至诊断→日志→日志文件,选择需清理的日志文件(如server.log),点击“编辑”,设置“日志文件保留时间”(如30天)和“最大日志文件数量”(如10个),勾选“自动删除旧日志”,点击“保存”。
  2. 通过WLST脚本
    示例脚本(清理7天前的.log文件):
    import os
    from datetime import datetime, timedelta
    
    log_dir = '/path/to/weblogic/logs'
    days_to_keep = 7
    cutoff_date = datetime.now() - timedelta(days=days_to_keep)
    
    for filename in os.listdir(log_dir):
        if filename.endswith('.log'):
            file_path = os.path.join(log_dir, filename)
            mod_time = datetime.fromtimestamp(os.path.getmtime(file_path))
            if mod_time < cutoff_date:
                os.remove(file_path)
                print(f"Deleted: {file_path}")
    
  3. 通过cron定时任务
    编辑cron任务(crontab -e),添加每日凌晨1点清理7天前日志的任务:
    0 1 * * * find /path/to/weblogic/logs -type f -name "*.log" -mtime +7 -exec rm -f {} \;
    
    说明:-mtime +7表示修改时间超过7天的文件,-exec rm -f {} \;表示删除匹配的文件。

六、日志集中化管理(可选进阶)
对于分布式环境或多台WebLogic服务器,可将日志集中收集到远程服务器进行分析,常用工具:

0
看了该问题的人还看了