---
title: OBServer 日志保留策略-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于 OBServer 日志保留策略相关的常见问题和使用技巧，帮助您快速解决 OBServer 日志保留策略的难题。
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

划线反馈

# OBServer 日志保留策略

更新时间：2025-03-18 02:41

适用版本： V4.0.x、V4.1.x、V4.2.x、V4.3.x 内容类型：TechNote  

OceanBase 数据库中通过 `enable_syslog_recycle` 和 `max_syslog_file_count` 两个参数来控制系统运行日志的保留情况。

- 参数 enable_syslog_recycle。

  配置项用于控制是否开启日志自动清理，默认为 FALSE，表示不开启日志自动清理。
 - 参数 max_syslog_file_count。

  配置项用于控制保留的日志文件个数，默认为 0，表示不限制日志文件的个数。每个日志文件最大为 256 MB，如果磁盘空间不足，可以适当调小该配置项。
 - OceanBase 数据库 V4.2.1 BP4（oceanbase-4.2.1.4-104000062024022914）之前的 V4.x 版本。

     - `max_syslog_file_count` 参数会独立控制各种类型日志的保留数量。当该值设定得较大并且启用全链路诊断功能时，会加大用户日志盘爆的风险。
 - OceanBase 数据库 V4.2.1 BP4（oceanbase-4.2.1.4-104000062024022914）及其之后的 V4.2.1.x / V4.2.3 / V4.3.x 版本。

     - `max_syslog_file_count` 调整为控制所有日志累加的保留上限。

      #### 说明

      如果 trace.log 日志生成的速度过快过多，可能会抢占 OBServer 日志文件的空间，导致 OBServer 日志被较早地清理。针对这种情况，建议用户调整全链路诊断的级别，以确定适合的日志量。

## 涉及的 OCP 日志保留策略

ocp_agent 有自动清理 OceanBase 数据库系统运行日志的功能。

```shell
/home/admin/ocp_agent/conf/module_config/ob_logcleaner_module.yaml
/home/admin/ocp_agent/conf/config_properties/ob_logcleaner.yaml

```

![image.png](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/knowledge-base/database/storage/20240731observerocp001.png)

- ob.logcleaner.ob_log.disk.threshold：磁盘空间达到多少之后开始清理，默认是 80%。
 - ob.logcleaner.ob_log.rule0.keep.percentage: 日志每次清理到对应日志总量的百分比之后停止，默认是 60%。
 - rule0 对应的是 observer.log，rule1 对应的是 observer.wf.log。

### 如果 OBServer 和 OCP 的策略都开启时，哪个策略生效？

需要看 OBServer 系统运行日志的容量先达到 `max_syslog_file_count` 还是 `ob.logcleaner.ob_log.disk.threshold`：

- 如果是前者，OBServer 内核清理。
 - 如果是后者，OCP 清理。

### 如何关闭 OCP 清理 OBServer 运行日志

在涉及的所有 OBServer 机器上执行。

1. 调整 OCP-agent 配置文件 ob_logcleaner.yaml 中的 ob.logcleaner.enabled 值。

   ```shell
   /home/admin/ocp_agent/conf/config_properties/ob_logcleaner.yaml 里的 ob.logcleaner.enabled 对应的 value 调整为 false

   ```
 2. 调整 OCP-agent 配置文件 ob_logcleaner.yaml 中的 ob_logcleaner_module.enabled 值。

   ```shell
   /home/admin/ocp_agent/conf/module_config/ob_logcleaner_module.yaml 里的 enabled: ${ob.logcleaner.enabled} 调整为 enabled: false

   ```
 3. 然后在 OCP 主机管理-> 点击更多-> 重启 ocp_agent。

## 适用版本

OceanBase 数据库 V4.x 版本。

上一篇

[OceanBase 数据库 V3.X 版本的磁盘故障检测原理](https://www.oceanbase.com/knowledge-base/oceanbase-database-20000011706)

下一篇

[DTL 中间结果监控 dtl_interm_result_monitor](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000532685) ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
