解决Adobe Experience Manager发布者节点中大型日志文件的高磁盘利用率问题
本文介绍当大型日志文件导致严重存储状态时,如何对Adobe Experience Manager (AEM)发布实例上的高磁盘利用率进行故障排除。 要修复此问题,请确定最大的日志文件,删除或归档旧日志和线程转储,查看日志记录配置,调查重复出现的应用程序错误,并监控磁盘利用率。
描述 description
环境
- Adobe Experience Manager 6.5磅
- 自我管理的内部部署
- 具有文件系统访问权限的发布实例
症状
- 在 AEM系统监控 仪表板中,存储下的一个或多个发布实例显示严重状态。
- 受影响的实例上的磁盘利用率异常高。
- 存在大型日志文件,特别是
error.log文件,其中单个文件的大小超过1 GB。
原因
日志文件过度增长是由于应用程序错误、循环栈栈跟踪和详细日志记录配置造成的。 为某些包启用DEBUG级别日志记录也会导致日志快速增长。 清理旧日志和线程转储可以恢复磁盘容量,但您必须解决基础应用程序和日志记录问题以防止重复出现。
解决方法 resolution
请按照以下步骤降低磁盘利用率,并防止受影响的Publish实例上的日志过度增长:
- 使用SSH或文件浏览器连接到每个受影响的发布实例。
- 按大小列出日志文件,以标识占用最多磁盘空间的文件。 在Linux系统上,使用
ls -lhS /path/to/aem/logs/。 - 删除或归档不再需要的旧日志文件和线程转储。
- 在删除任何日志之前,请保留在其他位置进行法规遵从性或持续调查所需的日志。
- 查看受影响发布实例的日志记录配置。
- 检查是否为与自定义代码或高容量组件相关的包启用了
DEBUG日志记录。 - 如果活动故障排除不需要
DEBUG日志记录,请将包更改为适当的生产日志记录级别,如INFO或WARN。 - 查看其他记录器,并确认仅以更高的详细级别记录必要信息。
- 分析错误日志以发现周期性异常,例如
NullPointerException,并解决生成过多栈栈跟踪的基础代码问题。 - 检查应用程序代码中的异常处理,以确保正确处理预期或可恢复的错误,并且不会生成不必要的栈栈跟踪。
- 使用 AEM系统监控 仪表板和外部监控工具来跟踪磁盘使用情况并记录增长趋势。
- 配置警报以在异常磁盘或日志增长影响服务之前识别它。
- 清理后,请确认磁盘利用率已恢复正常,并且受影响的发布实例在监视功能板中显示正常状态。
注意:
- 此过程适用于您有权访问发布实例文件系统的自我管理的本地Adobe Experience Manager 6.5 LTS部署。
- 请勿将直接文件系统清理步骤应用于Adobe Experience Manager as a Cloud Service或Adobe Managed Services环境。 这些部署模型使用不同的日志访问和基础架构管理过程。
experience-cloud-kcs-help-kbarticles