KingbaseES R3 集群cluster日志切割和清理案例
案例说明:
对于KingbaseES R3集群的cluster日志默认系统是不做切割和清理的,随着运行时长的增加,日志将增长为一个非常大的文件,占用比较大的磁盘空间,并且在分析问题读取大文件时效率很低,所以本案例借助Linux系统的Logrotate工具进行cluster日志切割,将cluster日志按需切割成小的文件,并按需保留和清理。crond进程会按照清理的配置文件按需自动完成对日志的清理工作。
如下图所示:

Logrotate说明:
logrotate是Linux系统自带的日志切割工具,可以按月、周、天来切割日志文件并压缩,解决了日志备份以及备份日志的可读性。其基于crontab运行,系统自动触发。
logrotate配置文件相关:
1)cron运行脚本/etc/cron.daily/logrotate
#!/bin/sh
/usr/sbin/logrotate /etc/logrotate.conf
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
/usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0
2)配置文件/etc/logrotate.d/ 下
-rw-r--r--. 1 root root 178 Nov 24 2015 chrony
-rw-r--r--. 1 root root 71 Jul 21 2015 cups
-rw-r--r--. 1 root root 172 Nov 20 2015 iscsiuiolog
-rw-r--r--. 1 root root 165 Nov 21 2015 libvirtd
-rw-r--r--. 1 root root 163 Nov 21 2015 libvirtd.qemu
-rw-r--r--. 1 root root 893 Nov 21 2015 mariadb
-rw-r--r--. 1 root root 106 Mar 6 2015 numad
-rw-r--r--. 1 root root 136 Jun 10 2014 ppp
-rw-r--r--. 1 root root 408 Mar 6 2015 psacct
-rw-r--r--. 1 root root 115 Nov 21 2015 samba
-rw-r--r--. 1 root root 224 Sep 8 2015 syslog
-rw-r--r--. 1 root root 100 Jun 16 2015 wpa_supplicant
-rw-r--r--. 1 root root 100 Dec 3 2015 yum
3)配置文件参数详解
compress:对转储后的日志文件进行压缩;
nocompress:不对转储的日志文件进行压缩;
delaycompress:与 compress 一起使用,转储的日志文件到下一次转储进行压缩;
nodelaycompress:与 compress 一起使用,转储的日志文件本次转储进行压缩;
copytruncate:备份正在打开的日志文件,将当前节点之前的文件备份出来,然后清空源文件;
nocopytruncate:直接备份整个日志文件,不做切割处理;
create mode owner group:使用指定属性创建新文件;
nocreate:不建立新的日志文件;
ifempty:如果文件为空也转储;
notifempty:如果是空文件的话,不转储;
missingok:如果日志文件丢失,不报错继续下一个日志文件转储;
errors address:把转储时的错误信息发送到指定的Email 地址;
mail address:把转储的日志文件发送到指定的E-mail 地址;
nomail:转储时不发邮件;
olddir directory:转储后的日志文件放入指定的目录,必须和当前日志文件在同一个文件系统;
noolddir:转储后的日志文件和当前日志文件放在同一个目录下
prerotate/endscript:在转储以前需要执行的命令可以放入这个对,这两个关键字必须单独成行;
postrotate/endscript:在转储以后需要执行的命令可以放入这个对,这两个关键字必须单独成行;
daily:指定转储周期为每天;
weekly:指定转储周期为每周;
monthly:指定转储周期为每月;
dateext:使用当前日期作为转储文件的命名格式,没有此配置转储文件以1、3、4....为格式;
dateformat:配合dateext使用,定义转储文件格式,只支持%Y%m%d%s四个参数;
rotate count:指定日志文件删除之前转储的次数,0 指没有备份,5 指保留5 个备份;
size size:当日志文件到达指定的大小时才转储,Size 可以指定 bytes 以及KB 或者MB;
一、kingbaseES集群日志切割和清理配置文件
1、查看配置文件信息
# 配置文件存储路径
[root@node3 logrotate.d]# pwd
/etc/logrotate.d
# 配置文件
[root@node3 logrotate.d]# ls -lh kingbase
-rw-r--r-- 1 root root 727 Mar 2 12:27 kingbase
2、查看配置文件内容
=此主机是一个测试环境,在此主机也部署了kingbaseES V8R6的集群,部署完成后kingbaseES V8R6集群对hamgr.log和kbha.log做了切割和清理,所以kingbase文件里,配置了hamgr.log和kbha.log的日志切割和清理的配置信息。因此,对于kingbaseES V8R3的的cluster.log的配置,只需添加到此文件的尾部即可。对于生产环境,只部署了kingbaseES V8R3的集群,所以你只需要创建kingbase的文件,进行编辑,将cluster.log的配置写入文件即可。=
[root@node3 logrotate.d]# cat kingbase
# Generate by sys_monitor.sh at Mon Mar 1 17:26:29 CST 2021
/home/kingbase/cluster/R6HA/KHA/kingbase/bin/../kbha.log {
weekly
maxsize 100M
su kingbase kingbase
create 0600 kingbase kingbase
rotate 3
copytruncate
dateext
}
/home/kingbase/cluster/R6HA/KHA/kingbase/hamgr.log {
weekly
maxsize 100M
su kingbase kingbase
create 0600 kingbase kingbase
rotate 3
copytruncate
dateext
}
/home/kingbase/cluster/kha/log/cluster.log {
daily
maxsize 2M
#su kingbase kingbase
#create 0600 kingbase kingbase
create 0600 root root
rotate 3
copytruncate
dateext
}

3、cluster.log日志清理配置文件
[root@node3 logrotate.d]# cat kingbase
# Generate by sys_monitor.sh at Mon Mar 1 17:26:29 CST 2021
/home/kingbase/cluster/kha/log/cluster.log {
daily # 按日清理
maxsize 2M # 日志文件大小为2M
#su kingbase kingbase
#create 0600 kingbase kingbase
create 0600 root root # 文件属主 root
rotate 3 # 只保留最近三个文件
copytruncate
dateext
}
二、测试cluster.log日志的清理
1、查看cluster.log日志信息
[kingbase@node3 log]$ ls -lh cluster*
total 8.7M
-rw-r--r-- 1 root root 3.2M Mar 2 12:27 cluster.log
-rw-r--r-- 1 root root 266K Mar 2 12:33 cluster_restart.log
-rw-r--r-- 1 root root 110 Mar 1 13:58 clusterstop
.......
2、测试logrotate 手工切割和清理
[root@node3 logrotate.d]# logrotate /etc/logrotate.d/kingbase
3、查看切割后的cluster.log信息
=如下所示,生成了‘cluster.log-20210302’的日志文件,当前的cluster.log日志文件内容被清空。=
[kingbase@node3 log]$ ls -lh cluster*
-rw-r--r-- 1 root root 17K Mar 2 12:35 cluster.log
-rw-r--r-- 1 root root 3.2M Mar 2 12:27 cluster.log-20210302 #切割后的历史文件
-rw-r--r-- 1 root root 266K Mar 2 12:34 cluster_restart.log
-rw-r--r-- 1 root root 110 Mar 1 13:58 clusterstop
三、总结
对与Linux系统下的日志清理,可以借助于logrotate工具。通过crond进程自动清理。用户只需要按需做好配置文件的配置,一切交给系统进行管理即可。
KingbaseES R3 集群cluster日志切割和清理案例的更多相关文章
- KingbaseES R3 集群主库归档失败案例
案例说明: 本案例用于KingbaseES R3集群归档进程归档日志失败的处理,对于一线的生产环境具有 一定的参考意义. 数据库版本: TEST=# select version(); VERSION ...
- KingbaseES R3 集群一键修改集群用户密码案例
案例说明: 在KingbaseES R3集群的最新版本中增加了kingbase_monitor.sh一键修改集群用户密码的功能,本案例是对此功能的测试. kingbaseES R3集群一键修改密码说明 ...
- KingbaseES R3 集群删除test库导致主备无法切换问题
案例说明: 在KingbaseES R3集群中,kingbasecluster进程会通过test库访问,连接后台数据库服务测试:如果删除test数据库,导致后台数据库服务访问失败,在集群主备切换时,无 ...
- kingbaseES R3 集群修改data路径测试案例
案例说明: 默认KingbaseES R3集群部署后,数据存储目录(data)在/home/kingbase下,部署时不能更改:本案例是在部署完成后,迁移data目录到其他指定的存储位置. 数据库版本 ...
- KingbaseES R3集群在线删除数据节点案例
案例说明: kingbaseES R3集群一主多从的架构,一般有两个节点是集群的管理节点,所有的节点都可以为数据节点:对于非管理节点的数据节点可以在线删除:但是对于管理节点,无法在线删除,如果删除管理 ...
- KingbaseES R3 集群修改system用户密码方案
方案说明: 对于kingbaseES R3集群修改system密码相比单机环境有一定的复杂性,需要修改的位置如下: 1)数据库中system用户密码,可以用alter user命令修改 2)在reco ...
- KingbaseES R6 集群repmgr.conf参数'recovery'测试案例(一)
KingbaseES R6集群repmgr.conf参数'recovery'测试案例(一) 案例说明: 在KingbaseES R6集群中,主库节点出现宕机(如重启或关机),会产生主备切换,但是当主库 ...
- KingbaseES V8R6集群维护之--修改数据库服务端口案例
案例说明: 对于KingbaseES数据库单实例环境,只需要修改kingbase.conf文件的'port'参数即可,但是对于KingbaseES V8R6集群中涉及到多个配置文件的修改,并且在应 ...
- KingbaseES R6 集群修改物理IP和VIP案例
在用户的实际环境里,可能有时需要修改主机的IP,这就涉及到集群的配置修改.以下以例子的方式,介绍下KingbaseES R6集群如何修改IP. 一.案例测试环境 操作系统: [KINGBASE@nod ...
随机推荐
- Vue回炉重造之搭建考试答卷系统
本篇章主要讲述系统搭建逻辑,有疑问的可以加微信联系我.考试系统 资源 Vue.js Element UI 第三方数据接口 业务 答题过程中,防止用户中途退出或者其他不可抗力因素阻碍答题,在每次选择都要 ...
- MYSQL的事务和索引
事务 什么是事务 事务就是将一组SQL语句放在同一批次内去执行 如果一个SQL语句出错,则该批次内的所有SQL都将被取消执行 MySQL事务处理只支持InnoDB和BDB数据表类型 事务的ACID原则 ...
- Redis布隆过滤器和布谷鸟过滤器
一.过滤器使用场景:比如有如下几个需求:1.原本有10亿个号码,现在又来了10万个号码,要快速准确判断这10万个号码是否在10亿个号码库中? 解决办法一:将10亿个号码存入数据库中,进行数据库查询,准 ...
- Integer.MAX_VALUE 和 Integer.MIN_VALUE
在源码中可以看出其对应的值 Integer.MAX_VALUE是2^31 -1 = 2147483647 Integer.MIN_VALUE是-2^31 = -2147483648
- Zabbix 5.0:通过LLD方式自动化监控阿里云RDS
Blog:博客园 个人 之前做了RDS监控,由于 RDS 实例梳理增多,手动添加的方式已经不够效率,故改为LLD(Low-level discovery)方式做监控. 什么是LLD LLD(Low-l ...
- Josephus问题(Ⅱ)
题目描述 n个人排成一圈,按顺时针方向依次编号1,2,3-n.从编号为1的人开始顺时针"一二"报数,报到2的人退出圈子.这样不断循环下去,圈子里的人将不断减少.最终一定会剩下一个人 ...
- 2022-07-14 第六组 润土 Java02学习笔记
1.引用数据类型 Scanner类: Scanner shuru=new Scanner(System.in); int a=shuru.nextInt();//输入整型 String b= shur ...
- kubernetes下kubelet无法启动
错误如下: 09:58:45 kubernetes-node01 kubelet[6248]: F0124 09:58:45.902571 6248 server.go:265] failed to ...
- 如何在Excel批量查询电话号码归属地?
手机号码归属地的重要性大家应该都清楚,如果取消或者更改手机号码归属地,那么一会增加用户的被诈骗风险;二是对套餐资费会产生影响,加剧企业间的竞争,加剧数字鸿沟;三是企业运营管理需要投入大量人力物力,是个 ...
- 谷歌的SRE和开发是如何合作的
本文是一篇比较有价值的.介绍SRE的文章.国内的所谓SRE职责其实并不明确,大部分其实还是干普通运维的事.但文中介绍的谷歌的运作方式起点还是相对比较高的,无论对SRE.对开发,甚至对公司都有很高的要求 ...