OceanBase的日志管理 - 合理调整避免日志占满磁盘空间 - 边学习边总结,希望对大家有帮助

OceanBase 数据库在运行过程中会自动生成日志。运维工程师通过查看和分析日志,可以了解 OceanBase 数据库的启动和运行状态。在之前的一些琐碎的文章里,我也提到了,新安装的数据库,可能由于空间规划不足,采用默认日志策略,导致日志文件将所有的空间都占满,然后导致集群出问题。

今天我们就来看看OceanBase的两个日志管理策略:

  1. 日志文件切片管理
  2. 日志文件数量管理

1.日志文件切片管理

日志文件切片管理属于OceanBase本身的一种机制,单个日志文件大小不超过 256 MB,可通过日志文件切片来管理和控制,并且不支持定制大小。

大家如果已经安装并且了解过OceanBase,肯定已经看过它创建的日志文件:observer.log 、election.log 、rootservice.log 、observer.log.wf 、election.log.wf和 rootservice.log.wf,这些文件的大小都遵守 256MB 的限制,一旦超过这个限制,系统会自动生成一个新的文件,源文件就加在结尾加个时间戳做备份。

日志文件形如:

[admin@OceanBase000000000.sqa.ztt /home/admin/oceanbase/log] $ls -alh | egrep ‘[0-9]{14}’ | grep observer | grep -v wf -rw-r–r-- 1 admin admin 256M Jul 7 05:34 observer.log.20160707053424 -rw-r–r-- 1 admin admin 256M Jul 7 05:38 observer.log.20160707053821

2.日志文件数量管理

如果要解决磁盘不被很快占满的问题,其实有两种方案:

  1. 调高日志级别,只打印WARN或ERROR日志,这样的话,可以延缓日志文件增长的速度,缺点是解决不彻底,并且日志变少不利于排错,所以不建议;
  2. 控制日志文件的数量,这种方法的话,可以有效的控制日志文件的数量,不出现磁盘占满的情况,缺点是日志增长过快有可能无法获取一些想要的历史数据,但是仍然推荐这种方式,毕竟是程序安全的。

下面我们来看一下,如何控制日志文件的数量:

大家要明确,我们需要控制系统参数 max_syslog_file_count 来达到控制日志文件数量的目的。

  • 首先我们可以通过如下命令在数据库中查看该参数的值:

show parameters like ‘%max_syslog_file_count%’;

该值如果为0,说明对文件保存数量没有限制,如果设置为某个固定值,那文件增长到该值后,旧的数据文件就会自动进行删除。

  • 该参数的修改方式如下:

我们可以通过在observer启动后进入数据库修改,也可以通过指定observer启动项目的-o参数在启动时进行配置,两种配置方式演示如下:

在客户端中,设置 max_syslog_file_count 的值。

obclient > ALTER SYSTEM SET max_syslog_file_count=20;

启动 OBServer 时,在 -o 参数中指定 max_syslog_file_count 的值。

[admin@hostname oceanbase]$ /home/admin/oceanbase/bin/observer -i eth0 -P XXXX -p YYYY -z zone1 -d /home/admin/oceanbase/store/obdemo -r ‘xxx.xxx.xxx.xxx:xxxx:xxx.xxx.xxx.xxx:xxxx xxx.xxx.xxx.xxx:xxxx:yyyy’ -c 20190716 -n obdemo -o “max_syslog_file_count=20,memory_limit_percentage=90,memstore_limit_percentage=60,datafile_disk_percentage=80,config_additional_dir=/data/1/obdemo/etc3;/data/log1/obdemo/etc2”

3.总结

好了,有关OceanBase日志数量控制的方法就介绍到这里,大家在日常使用过程中,一定要多关注磁盘空间使用情况,做好日志的管理,否则因为控制不当导致服务异常就得不偿失了。

优秀


学习了,给大佬递茶

点赞🐱

改后是否实时生效哪?

1 个赞

试试先

是的,不需要重启OBServer

希望后续可以支持定制日志文件名格式,我们公司的采集日志,对文件名格式有要求,不然采集不上去日志,就不能用日志分析软件查看全局日志。登录每一台查看毕竟效率太低了。

优秀