自建分布式配置中心nacos2.1.0,因打印日志过多,磁盘空间已满导致新增配置读取失败。

一、背景

服务使用nacos作为分布式配置中心,新申请了一个java服务,部署至测试环境。它在启动的时候,一直未能读取到服务的配置文件。
但是,同样版本的代码,在开发环境,访问开发环境的nacos正常。

二、问题排查

1、对比测试环境与开发环境

部署在开发环境的程序,访问开发nacos正常;
部署在测试环境的程序,访问测试nacos异常。

2、本地程序访问开发和测试nacos

本地访问开发nacos正常;
本地访问测试nacos异常。

3、对比测试环境下的不同服务

该台机器部署了多个服务,对比其他服务,访问测试nacos都正常。
而新增的服务访问测试nacos异常。

nacos的配置项是在环境变量中,不存在服务的差异,全部服务共用该配置。

总结:猜测是测试nacos服务端出现问题,而且是只影响新增的配置。

三、nacos日志治理

登录nacos服务端,发现机器磁盘空间已满。

在这里插入图片描述

[root@nacos-03 ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           1.8G        1.4G         79M         85M        350M        199M
Swap:          2.0G        307M        1.7G


[root@nacos-03 ~]# df -h
文件系统                    容量  已用  可用  已用% 挂载点
devtmpfs                 903M     0  903M    0% /dev
tmpfs                    915M     0  915M    0% /dev/shm
tmpfs                    915M  102M  813M   12% /run
tmpfs                    915M     0  915M    0% /sys/fs/cgroup
/dev/mapper/centos-root   18G   18G   20K  100% /
/dev/xvda1               253M  131M  123M   52% /boot
tmpfs                    183M     0  183M    0% /run/user/0

可以看到,可用空间已剩20K。

进一步分析,发现大量的是nacos日志。
nacos/logs目录下大量的访问日志access_log.*.log
在这里插入图片描述
于是,我把logs目录下的所有文件清理掉,一下子省出4.7G空间了。

[root@nacos-03 logs]# rm -rf *

[root@nacos-03 logs]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 903M     0  903M    0% /dev
tmpfs                    915M     0  915M    0% /dev/shm
tmpfs                    915M  102M  813M   12% /run
tmpfs                    915M     0  915M    0% /sys/fs/cgroup
/dev/mapper/centos-root   18G   14G  4.7G   74% /
/dev/xvda1               253M  131M  123M   52% /boot
tmpfs                    183M     0  183M    0% /run/user/0

重启一下机器,然后继续清理日志吧。

2、进入nacos根目录,统计目录大小

cd /opt/nacos

# 使用下面命令,逐个目录统计大小
du -h --max-depth=1 .

可以发现data/protocol/raft下有四个目录naming_instance_metadata、naming_persistent_service、naming_persistent_service_v2和naming_service_metadata,他们各有log目录,各占据3G多的空间。

依次清理log目录,空间一下子就变成如下了。

在这里插入图片描述
又一次清除了12G多的空间。。。

[root@nacos-03 conf]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 903M     0  903M    0% /dev
tmpfs                    915M     0  915M    0% /dev/shm
tmpfs                    915M  8.6M  906M    1% /run
tmpfs                    915M     0  915M    0% /sys/fs/cgroup
/dev/mapper/centos-root   18G  2.7G   16G   16% /
/dev/xvda1               253M  131M  123M   52% /boot
tmpfs                    183M     0  183M    0% /run/user/0

3、日志设置

  • 关掉access log日志。

在nacos/conf/application.properties配置文件中,可以找到关于日志的配置项。

server.tomcat.accesslog.enabled=false

在这里插入图片描述

  • 设置nacos/conf/nacos-logback.xml

根据启动命令nacos/bin/startup.sh,可知logback.xml所在位置。

# 其他参数省略
java -jar /opt/nacos/target/nacos-server.jar \
--spring.config.additional-location=file:/opt/nacos/conf/ \
--logging.config=/opt/nacos/conf/nacos-logback.xml

修改保留天数、每个文件的最大值、每个目录的总值。

四、总结

nacos服务端所在机器因为磁盘空间已满导致新增服务无法读取配置,而原有旧服务可以正常读取配置。这是我们走弯路的直接原因。

希望大家在对nacos做运维的时候,多加注意其日志治理。

  • 14
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天草二十六_简村人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值