首批通过分布式安全可靠测评,为关键业务系统打造
ob_server_sstable_percent_over_threshold OceanBase 服务器数据盘使用率超限
更新时间:2026-04-14 15:16:08
告警描述
该告警监测 OBServer 节点数据盘中可用于存储数据文件的空间使用率是否超限,若超限则上报告警。
说明
数据盘默认为 /data/1 目录的挂载盘。
OceanBase 集群创建时,系统初始化该盘并指定该盘中可用于存储数据文件的空间大小。
告警原理
下表列出了该告警监控逻辑中涉及的关键参数。
| 参数 | 值 |
|---|---|
| 监控指标 | ob_server_disk_percent,该指标表示 OBServer 节点数据盘使用率,当该值大于阈值时触发告警。 |
| 监控表达式 | 100 * (sum(ob_disk_total_bytes{@LABELS}) by (@GBLABELS) - sum(ob_disk_free_bytes{@LABELS}) by (@GBLABELS)) / sum(ob_disk_total_bytes{@LABELS}) by (@GBLABELS) |
| 采集指标 | ob_disk_total_bytes、ob_disk_free_bytes |
| 数据来源 | 采集自内部视图,采集 SQL:
|
| 采集周期 | 5 秒 |
规则信息
| 监控指标 | 默认阈值(单位:%) | 持续时间 | 检测周期 | 消除周期 |
|---|---|---|---|---|
| ob_disk_percent | 0 秒 | 20 秒 | 5 分钟 |
告警信息
| 告警触发方式 | 告警等级 | 范围 |
|---|---|---|
| 基于监控指标的表达式 | 主机 |
告警模板
告警概述模板:${alarm_target} ${alarm_name}
告警详情模板:集群:${ob_cluster_name},主机:${host},告警:${alarm_name},数据盘使用率 ${value_shown}, 超过 ${alarm_threshold} %
告警概述样例:ob_cluster=obcluster-1:svr_ip=xxx.xxx.xxx.xxx OB 服务器数据盘使用率超限
告警详情样例:集群:obcluster-1,主机:xxx.xxx.xxx.xxx,告警:OB 服务器数据盘使用率超限,数据盘使用率 86.0 %, 超过 85.0 %
对系统的影响
数据盘空间不足,后续新的数据写入可能会因为没有足够的空间而无法保存到数据盘。
可能原因
应用数据规模持续增长导致。
处理方法
可使用如下方式尝试解决:
删除不需要的租户、数据库和表。
清空回收站,经过两次合并后即可释放资源。
迁移 Unit 到其它 OBServer 节点,如没有可用的目标 OBServer 节点则需要先进行集群扩容(增加 OBServer 节点)。
可参考如下 SQL 命令查看某个租户所有表存储空间:
-- 设置租户ID
set @tenant_id=1001
-- 适用场景:1.x所有版本
select b.table_name,sum(a.required_size)/1024/1024/1024 required_GB,sum(row_count) as rows from __all_meta_table a, __all_table b where a.table_id = b.table_id and a.zone = 'zone_name' and a.tenant_id = @tenant_id group by a.table_id order by required_GB desc;
-- 适用场景:2.x 和 3.x 所有版本
select c.database_name, b.table_name,sum(a.required_size)/1024/1024/1024 required_GB,sum(row_count) as rows from __all_virtual_meta_table a inner join __all_virtual_table b on a.table_id=b.table_id inner join __all_virtual_database c on b.database_id=c.database_id where b.table_type<>5 and a.zone = 'zone_name' and a.tenant_id = @tenant_id group by a.table_id order by required_GB desc;