服务器磁盘空间占用异常排查&Nacos日志配置优化

1、背景

在某个项目中,客户要求每周两次例行巡检,巡检内容为CPU利用率、内存利用率和磁盘空间的检查。在巡查的过程中发现某台服务器的磁盘空间被异常占用。

2、原因

磁盘空间被异常占用,首先需要找出占用磁盘空间比较大的文件,逐一排查文件大小是否异常,确认大小异常的文件后需找到此文件是通过什么渠道生成的,视情况对该文件全部删除或者删除部分无用的文件。

3、解决方案

执行命令

在根目录下执行命令:du -sh *

通过查询结果可以看到nacos和root占用的磁盘空间比较大。

排查异常文件和解决方法

a、进入nacos文件下执行du -sh *命令得出如下结果

从结果中可以看到bin、data和logs文件是占用磁盘空间比较大的三个,其中data文件是存放数据的文件,操作不当可能会导致数据丢失可以排除。

b、进入到bin文件下执行du -sh *命令

这个占用磁盘空间巨大的logs文件是 Spring Boot 提供的 Tomcat 访问日志打印,Spring Boot 在关于该日志的选项中,没有最大保留天数或者日志大小控制的选项,所以需要定期清理。

c、进入到logs文件下执行du -sh *命令

从结果中可以看到日志中保留了一周的历史记录,可以把历史记录删除,或者在nacos启动命令后加上-Dcom.alibaba.nacos.naming.log.level=error -Dcom.alibaba.nacos.config.log.level=warn 参数,只保留少部分的历史记录。

d、进入root文件下执行du -sh *命令得出如下结果

从结果中可以看到logs文件大小异常,进入到logs文件下继续查找

根据结果继续进入csp文件查找

Csp是nacos存放流量监控日志的地方,从结果中可以看到很多nacos的流量控制历史日志,这些历史记录是可以删除的,需要定期清理。(linux命令:rm -rf *.20*)

4、总结

虽然客户的要求是每周巡查2次,但是作为运维人员,本着对客户负责、对工作负责,不能仅仅是为了客户的要求而去巡查服务器的情况,而是应该每天都要对服务器的情况了如指掌。与其出现故障再去排查修复,倒不如把隐患扼杀在摇篮。

5、后续

在nacos启动命令后加参数,只能对nacos的运行日志起到作用。其他的日志需要通过脚本的方式去清理。

调用脚本的命令:sh clear-logs.sh -p /home/nacos/nacos/logs -d 7

 

posted @ 2023-01-05 16:33  噗噗噗i丶  阅读(712)  评论(0编辑  收藏  举报