联系我们
18591797788
hubin@rlctech.com
北京市海淀区中关村南大街乙12号院天作国际B座1708室
18681942657
lvyuan@rlctech.com
上海市浦东新区商城路660号乐凯大厦26c-1
18049488781
xieyi@rlctech.com
广州市越秀区东风东路华宫大厦808号1608房
029-81109312
service@rlctech.com
西安市高新区天谷七路996号西安国家数字出版基地C座501
在 OceanBase 集群日常运维中,日志无限膨胀、磁盘占用过高、冗余日志过多、IO 压力大等问题,常常影响集群稳定运行。为统一生产环境运维标准,规范OCP、OCP Agent、OBServer、OBProxy四大组件日志策略,现发布《OceanBase 全组件日志参数标准化配置 SOP V1.0》,一键优化日志滚动、清理、级别规则,筑牢集群运维根基。
文档版本:V1.0
生效日期:2026-05-08
适用范围:OceanBase 集群OCP、OCP Agent、OBServer、OBProxy 日志参数优化
优化 OCP 自身日志滚动与清理策略,防止日志文件无限制增长;
配置 OCP Agent 日志清理规则,自动清理 OBServer 日志,防止磁盘占用过高;
调整 OBServer(metadb)内核日志级别与数量,减少冗余日志;
优化 OBProxy 日志级别与清理策略,控制代理层日志量。
本次变更为生产环境日志策略标准化配置,通过对 OCP、OCP Agent、OBServer、OBProxy 四个组件的日志参数进行统一优化,实现以下目标:
OCP 控制台 → 系统管理 → 系统参数

| 参数名 | 当前值 | 推荐值 | 说明 | 生效方式 |
|---|---|---|---|---|
| logging.file.max-history | 1 | 7 | 归档日志文件最大保留天数,生产建议 7 天 | 重启 OCP 生效 |
| logging.file.max-size | 100MB | 100MB | 单个日志文件大小,达到后自动滚动 | 重启 OCP 生效 |
| logging.file.total-size-cap | 5GB | 10GB | 日志文件总大小上限 | 重启 OCP 生效 |
| logging.level.com.oceanbase.ocp | error | INFO | OCP 核心日志级别,生产建议 INFO(保留关键日志) | 重启 OCP 生效 |
| odp.client.syslog-level | error | INFO | 日志打印级别,生产建议INFO,测试环境如果不想打印日志可以改为ERROR级别 | 不重启生效 |
1.登录 OCP 控制台,进入【系统管理】→【系统参数】;
2.在搜索框输入 logging.,筛选出所有日志相关参数;
3.点击对应参数右侧的【编辑】,修改为推荐值;
4.点击【提交】保存修改;
5.执行重启 OCP 命令生效:
bash
docker restart ocp
OCP 控制台 → 系统管理 → 系统参数 →ocp.agent.ob.log-cleaner.config

OCP Agent 会按磁盘使用率、保留天数、文件数量,自动清理 OBServer /home/admin/oceanbase/log 目录下的日志,防止磁盘占满。
1.在系统参数列表中找到ocp.agent.ob.log-cleaner.config,点击【编辑】;
2.将原有 JSON 配置替换为以下标准内容:
json
{
"disk_threshold": 80,
"file_reg": ".*",
"retention_days": 1,
"keep_percentage": 50
}
3.点击【提交】保存修改;

4.登录每台 OBServer 主机,重启 OCP Agent 服务:
bash
# 重启 Agent 服务
systemctl restart ocp_agent
# 确认服务状态
systemctl status ocp_agent
1.当 OBServer 日志目录磁盘使用率超过 80% 时,触发清理;
2.优先删除 1 天前的所有日志文件;
3.若清理后磁盘使用率仍高于 80%,则保留最近 50% 数量的日志文件,其余删除。
OCP 控制台 → 集群管理 → 目标集群 → 参数管理 → 搜索 syslog

| 参数名 | 当前值 | 推荐值 | 说明 | 生效方式 |
|---|---|---|---|---|
| enable_syslog_recycle | True | True | 开启日志自动回收,必须为 True,max_syslog_file_count 才生效 | 在线生效 |
| max_syslog_file_count | 2 | 500 | 日志文件最大总数(4.2.1.4+ 版本控制所有日志),建议根据磁盘空间调整 | 在线生效 |
| syslog_level | WDIAG | ERROR | 日志级别,生产建议 ERROR,减少冗余日志 | 在线生效 |
| syslog_io_bandwidth_limit | 5M | 10M | 日志写入带宽限制,避免日志写满 IO | 在线生效 |
1.登录 OCP 控制台,进入目标集群的【参数管理】;
2.搜索框输入 syslog,筛选出所有内核日志参数;
3.点击对应参数右侧的【修改值】,调整为推荐值;
4.点击【提交】保存修改,参数在线立即生效,无需重启 OBServer。
OCP 控制台 → 目标集群 → OBProxy → 参数管理 → 搜索 log

| 参数名 | 当前值 | 推荐值 | 说明 | 生效方式 |
|---|---|---|---|---|
| syslog_level | WDIAG | INFO | OBProxy 日志级别,生产建议 INFO | 在线生效 |
| max_log_file_size | 256MB | 256MB | 单个日志文件大小上限 | 在线生效 |
| log_cleanup_interval | 1m | 1d | 日志清理任务执行间隔,建议 1 天 | 在线生效 |
| log_file_percentage | 80 | 80 | 日志文件占用磁盘最大百分比,超过自动清理 | 在线生效 |
1.进入目标集群的 OBProxy【参数管理】,搜索框输入 log;
2.点击对应参数右侧的【修改值】,调整为推荐值;
3.点击【提交】保存修改,参数在线立即生效。
1.登录 OCP 服务器,查看 OCP 日志目录(默认:/home/admin/ocp-server/log);
2.检查日志文件滚动情况,确认单个文件大小、保留天数符合配置;
3.执行 docker logs ocp,无报错输出。
1.登录任意一台 OBServer 主机,查看 Agent 配置文件:
bash
cat /home/admin/ocp_agent/conf/module_config/ob_logcleaner_module.yaml
确认ob.logcleaner.ob_log.disk.threshold=80、ob.logcleaner.ob_log.rule0.keep.percentage=50已更新;
2.观察 OBServer 日志目录(/home/admin/oceanbase/log)磁盘使用率,确认无持续增长。
1.登录 sys 租户,执行 SQL 命令确认参数已生效:
sql
SHOW PARAMETERS LIKE 'syslog%';
SHOW PARAMETERS LIKE 'enable_syslog_recycle';
SHOW PARAMETERS LIKE 'max_syslog_file_count';
2.查看日志目录文件数量,确认未超过max_syslog_file_count设置值。
1.登录 OBProxy 服务器,查看日志目录文件大小与数量,符合配置;
2.检查代理日志无大量冗余日志输出。
若变更后出现异常,按以下步骤回滚:
OCP 日志参数:在系统参数中恢复原值,执行 docker restart ocp;
OCP Agent 配置:恢复 ocp.agent.ob.log-cleaner.config 为原始 JSON,重启 Agent;
OBServer 内核参数:通过 SQL 命令恢复为原参数值,在线生效;
OBProxy 参数:在参数管理中恢复原值,在线生效。
OCP 日志参数修改后需要重启生效,必须执行 docker restart ocp 才能生效;
OCP Agent 配置修改后,需重启所有 OBServer 节点上的 Agent 服务;
OBServer 和 OBProxy 日志参数修改为在线生效,无需重启服务;
建议变更完成后持续观察 24 小时,确认磁盘使用率无异常增长。