关于Nacos各日志以及解决Nacos中疯狂输出日志的问题

发布时间:2023年12月24日

前言

越来越发觉硬盘不够用,发现是运行了2年的Nacos中存了很多log日志,具体如下:
在这里插入图片描述

于是得了解下各个日志中的作用,防止不必要的输出占用硬盘空间!

对于Nacos的相关知识可看我之前的文章:

  1. Nacos基础版 从入门到精通
  2. Nacos配置Mysql数据库

1. 各日志内容

日志摘要主要内容
nacos-access.log记录所有访问 Nacos 服务器的 HTTP 请求信息。每个传入 HTTP 请求的详细信息,包括请求方法、URI、状态码、客户端 IP、响应时间等详细信息,用于监控和分析 Nacos 服务器的使用模式。
nacos-config.log记录 Nacos Config 服务的启动过程、配置文件加载情况以及运行时各种异常、警告和信息Nacos Config 服务的启动详细信息;配置文件加载的相关信息;与异常、警告和其他运行时事件相关的日志;用于故障排除和了解 Nacos Config 的配置动态。
nacos-naming.log记录 Nacos Naming 服务的启动过程、服务注册、注销、发现过程以及运行时各种异常、警告和信息。Nacos Naming 服务启动的详细信息;与服务注册、注销和发现过程相关的日志。与异常、警告和其他运行时事件相关的日志。用于诊断问题和监控服务注册和发现的动态。
nacos-grafana.log记录 Nacos Grafana 的启动过程、数据查询、面板操作等过程以及运行时各种异常、警告和信息。Nacos Grafana 启动的详细信息;与数据查询、面板操作等过程相关的日志。与异常、警告和其他运行时事件相关的日志;用于了解 Nacos Grafana 的运行情况、故障排除和监控。
nacos-cluster.log在 Nacos 集群部署时,记录各节点之间通信的日志,包括节点之间的消息发送、接收、处理等过程以及运行时的异常、警告和信息。节点之间通信的详细日志,包括消息发送、接收、处理等过程;与节点间通信相关的异常、警告和其他运行时事件的日志;用于监控集群节点间的通信情况,诊断通信问题和了解集群运行状态。

2. 日志解析

2.1 服务端日志

服务端的日志包括服务访问以及业务的日志。

  • nacos-access.log:服务端的主要访问日志文件,记录tomcat的HTTP请求信息。

内容大致如下:(关键信息已经用xxx代替)

127.0.0.1 - - [24/Dec/2023:12:00:00 +0800] "PUT /nacos/v1/ns/instance/beat?name=manongyanjiuseng&namespaceId=public&port=xxxx&clusterName=DEFAULT&ip=xxxxxxxxxx&serviceName=DEFAULT_GROUP%40%40blade-auth&encoding=UTF-8 HTTP/1.1" 200 75 0 Nacos-Java-Client:v1.2.1 -

通过上述链接可以看到前缀url,对应的log日志还有这些:

链接含义
/nacos/v1/ns/instance/beat心跳
/nacos/v1/ns/instance/list获取服务列表
/nacos/v1/ns/service/status状态检查

存储位置:xx\nacos-server-2.3.0\nacos\bin\logs
在这里插入图片描述
具体的配置文件位于:xx\nacos\conf\application.properties,将其以下的配置改为false即可:server.tomcat.accesslog.enabled=false

如图所示:

在这里插入图片描述

生产日志不建议关,毕竟可排查。个人使用的环境可关闭

可以通过写一个脚本文件,定时删除日志文件:(此为linux文件)

#!/bin/bash

logFile="/data/nacos/bin/logs/nacos_del_access.log"
# 保留7天日志
date=`date -d "$date -7 day" +"%Y-%m-%d"`
# 具体位置可调整
delFilePath="/data/nacos/bin/logs/access_log.${date}.log"

if [ ! -f "${logFile}" ];then
	echo 'access log文件打印日志频繁. /etc/cron.daily/nacosDelAccessLogs.sh 会定时删除access日志文件' >>${logFile}
fi
# 日志文件存在, 则删除
if [  -f "${delFilePath}" ];then
	rm -rf ${delFilePath}
	curDate=`date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"`
	echo '['${curDate}'] 删除文件'${delFilePath} >>${logFile}
fi

对应的业务日志位于:xx\nacos\conf\logs

在这里插入图片描述

配置路径位于:xx\nacos\conf\logs\nacos-logback.xml

在这里插入图片描述
根据上述的参数设置日志格式、文件分割、保留日期及压缩等

2.2 客户端日志

减少控制台的心跳、轮询日志:

在这里插入图片描述

可以在业务代码模块中配置application.yml配置文件

logging:
  level:
    com.alibaba.nacos: warn

也可设置jvm中的启动参数:-Dcom.alibaba.nacos.naming.log.level=warn -Dcom.alibaba.nacos.config.log.level=warn (博主设置这个参数之后发现还是会有,可能是yaml的配置!)

在这里插入图片描述

文章来源:https://blog.csdn.net/weixin_47872288/article/details/135149929
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。