GaussDB (DWS) 集群管理系列:日志压缩与回收相关问题排查

网友投稿 624 2022-05-28

GaussDB (DWS) 集群管理系列:日志压缩与回收相关问题排查

【功能原理介绍】

参考博客CM功能介绍:日志压缩与回收

【确定功能是否开启】

参考博客 CM功能介绍:日志压缩与回收

【参数调整】

确保日志压缩功能开关已打开并生效

首先参考CM功能介绍:日志压缩与回收,确保日志压缩功能开关已打开并生效,确保日志压缩功能开关已打开并生效,确保日志压缩功能开关已打开并生效。

参数检查

参考CM功能介绍:日志压缩与回收中“配置参数”章节,检查cm配置。

如果log_max_size = 1024,并且日志所在磁盘的容量超过100GB,则可通过下面命令将该参数调大(注意是4095不是4096!):

# 8.1以及之后版本 gs_guc reload -Z cm -c "log_max_size = 4095" # 8.1之前版本 gs_guc set -Z cmagent -N all -I all -c "log_max_size = 4095" gs_ssh -c "ps ux | grep -v grep | grep cm_agent | awk '{print $2}' | xargs kill -9"

【日志文件压缩检查】

确保日志压缩功能开关已打开并生效

首先参考CM功能介绍:日志压缩与回收,确保日志压缩功能开关已打开并生效,确保日志压缩功能开关已打开并生效,确保日志压缩功能开关已打开并生效。

检查日志盘的倾斜率

执行gs_ssh -c "df -h"检查$GAUSSLOG路径所在磁盘的使用率是否倾斜。如果有使用率明显偏高的节点,则登陆并执行后续检查;否则在任意节点上均可执行后续检查。

检查空间较大的目录

进入$GAUSSLOG目录,执行du -sh *查看占用磁盘较多的目录,例如输出:

说明gs_profile目录占用空间较大。

检查gs_profile目录

如果gs_profile目录较大,则进入并统计是否存在较多日志文件。

该目录具有类似下面的结构:

如果日志文件较多,并且日志切分非常频繁,则可执行下面命令关闭gs_profile下日志的生成:

# plog_merge_age主要用于OBS/IO等相关的性能日志 gs_guc reload -Z coordinator -Z datanode -N all -I all -c "plog_merge_age = 0"

关闭后,手动执行清理即可:

find . -name "*.prf" -o -name "*.prf.gz" | xargs rm -f

检查pg_audit目录

如果pg_audit目录较大以至于磁盘使用率超过80%以上,则联系华为工程师处理。

检查om目录

本小节清理的方法,可增加crontab任务的方式定期清理(一般每月执行一次即可)。

内核8.1.1以及之后的版本,如果出现上面情况,请联系华为工程师。

检查om目录下是否存在较多未压缩的日志文件,例如(忽略下图的文件大小):

如果存在上图中gs_checkperf和gs_local文件较多且未压缩的情况,则参考下面命令分别将其清理:

# 时间戳从新到旧的方式列出gs_checkperf开头文件 | 从第二行开始打印 | 获取文件名 | 删除 # 清理gs_checkperf*.log和gs_checkperf*.log.gz ls -hlt gs_checkperf*.log | awk 'NR>1{print

# 时间戳从新到旧的方式列出gs_checkperf开头文件 | 从第二行开始打印 | 获取文件名 | 删除 # 清理gs_checkperf*.log和gs_checkperf*.log.gz ls -hlt gs_checkperf*.log | awk 'NR>1{print $0}' | sed 's/^.*gs_checkperf/gs_checkperf/g' | xargs rm -f ls -hlt gs_checkperf*.log.gz | awk 'NR>1{print $0}' | sed 's/^.*gs_checkperf/gs_checkperf/g' | xargs rm -f # 清理gs_local*.log和gs_local*.log.gz ls -hlt gs_local*.log | awk 'NR>1{print $0}' | sed 's/^.*gs_local/gs_local/g' | xargs rm -f ls -hlt gs_local*.log.gz | awk 'NR>1{print $0}' | sed 's/^.*gs_local/gs_local/g' | xargs rm -f

}' | sed 's/^.*gs_checkperf/gs_checkperf/g' | xargs rm -f ls -hlt gs_checkperf*.log.gz | awk 'NR>1{print

# 时间戳从新到旧的方式列出gs_checkperf开头文件 | 从第二行开始打印 | 获取文件名 | 删除 # 清理gs_checkperf*.log和gs_checkperf*.log.gz ls -hlt gs_checkperf*.log | awk 'NR>1{print $0}' | sed 's/^.*gs_checkperf/gs_checkperf/g' | xargs rm -f ls -hlt gs_checkperf*.log.gz | awk 'NR>1{print $0}' | sed 's/^.*gs_checkperf/gs_checkperf/g' | xargs rm -f # 清理gs_local*.log和gs_local*.log.gz ls -hlt gs_local*.log | awk 'NR>1{print $0}' | sed 's/^.*gs_local/gs_local/g' | xargs rm -f ls -hlt gs_local*.log.gz | awk 'NR>1{print $0}' | sed 's/^.*gs_local/gs_local/g' | xargs rm -f

}' | sed 's/^.*gs_checkperf/gs_checkperf/g' | xargs rm -f # 清理gs_local*.log和gs_local*.log.gz ls -hlt gs_local*.log | awk 'NR>1{print

# 时间戳从新到旧的方式列出gs_checkperf开头文件 | 从第二行开始打印 | 获取文件名 | 删除 # 清理gs_checkperf*.log和gs_checkperf*.log.gz ls -hlt gs_checkperf*.log | awk 'NR>1{print $0}' | sed 's/^.*gs_checkperf/gs_checkperf/g' | xargs rm -f ls -hlt gs_checkperf*.log.gz | awk 'NR>1{print $0}' | sed 's/^.*gs_checkperf/gs_checkperf/g' | xargs rm -f # 清理gs_local*.log和gs_local*.log.gz ls -hlt gs_local*.log | awk 'NR>1{print $0}' | sed 's/^.*gs_local/gs_local/g' | xargs rm -f ls -hlt gs_local*.log.gz | awk 'NR>1{print $0}' | sed 's/^.*gs_local/gs_local/g' | xargs rm -f

}' | sed 's/^.*gs_local/gs_local/g' | xargs rm -f ls -hlt gs_local*.log.gz | awk 'NR>1{print

# 时间戳从新到旧的方式列出gs_checkperf开头文件 | 从第二行开始打印 | 获取文件名 | 删除 # 清理gs_checkperf*.log和gs_checkperf*.log.gz ls -hlt gs_checkperf*.log | awk 'NR>1{print $0}' | sed 's/^.*gs_checkperf/gs_checkperf/g' | xargs rm -f ls -hlt gs_checkperf*.log.gz | awk 'NR>1{print $0}' | sed 's/^.*gs_checkperf/gs_checkperf/g' | xargs rm -f # 清理gs_local*.log和gs_local*.log.gz ls -hlt gs_local*.log | awk 'NR>1{print $0}' | sed 's/^.*gs_local/gs_local/g' | xargs rm -f ls -hlt gs_local*.log.gz | awk 'NR>1{print $0}' | sed 's/^.*gs_local/gs_local/g' | xargs rm -f

}' | sed 's/^.*gs_local/gs_local/g' | xargs rm -f

上图中gs_om日志也有类似情况,可参考清理。

GaussDB (DWS) 集群管理系列:日志压缩与回收相关问题排查

如果snas_cm_cmd.log文件特别大,则可将其清空(不能删除!不能删除!不能删除!):

cat /dev/null > snas_cm_cmd.log

【日志文件数检查】

进入$GAUSSLOG目录,使用如下命令统计日志文件数:

find . -name "*.log" -o -name "*.gz" | wc -l

如果统计结果超过20000,请联系华为工程师。

EI企业智能 Gauss AP 数据仓库服务 GaussDB(DWS)

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:基于北斗和4G Cat1模组的智慧物流开发(一)使用新软件开发指南2.1版本遇到的坑(一)
下一篇:Mac 给新人的入手指南
相关文章