基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
tenant_cpu_percent_over_threshold OceanBase 租户线程使用率超限
更新时间:2026-04-14 11:55:54
告警描述
OceanBase 租户线程使用率超限时触发该告警。
OceanBase 租户线程使用率=租户实际在用的租户线程数 / 该租户当前的主 Zone 内归其所有的 Unit 的租户线程上限之和。
告警原理
下表列出了该告警监控逻辑中涉及的关键参数。
| 参数 | 值 |
|---|---|
| 监控指标 | ob_tenant_thread_percent
说明该指标表示集群中租户的线程使用率,当该值大于阈值(默认为 95%)时触发告警。 |
| 指标来源 | SQL: select /*+read_consistency(weak)*/ tenant_name, tenant_id, stat_id, value from v$sysstat, __all_tenant where stat_id IN (140006, 140005) and (con_id > 1000 or con_id = 1) and __all_tenant.tenant_id = v$sysstat.con_id; sysstat_value 取 value 字段的值,其他字段作为 LABELS。 |
| 采集指标 | sysstat_value |
| 监控表达式 | 100 * sum(sysstat_value{metric_group="sysstat",stat_id="140006",@LABELS}) by (@GBLABELS) / sum(sysstat_value{metric_group="sysstat",stat_id="140005",@LABELS}) by (@GBLABELS)
|
| 采集周期 | 1 秒 |
告警信息
| 告警触发方式 | 告警等级 | 范围 |
|---|---|---|
| 基于监控指标的表达式 | 警告 | 租户 |
规则信息
| 监控指标 | 默认阈值(单位:%) | 持续时间 | 检测周期 | 消除周期 |
|---|---|---|---|---|
| ob_tenant_thread_percent{app="OB"} | 95 | 0 秒 | 60 秒 | 5 分钟 |
告警模板
告警概述模板:${alarm_target} ${alarm_name}
告警详情模板:集群:${ob_cluster_name},租户:${tenant_name},告警:${alarm_name}。租户线程使用率 ${value_shown} 超过 ${alarm_threshold} %。
告警概述样例:ob_cluster=obcluster-1:tenant_name=tenant-1:svr_ip=xxx.xxx.xxx.xxx OceanBase 租户线程使用率超限
告警详情样例:集群:obcluster-1,租户:m****,告警:OceanBase 租户线程使用率超限。租户线程使用率 96.0 %, 超过 95.0 %
对系统的影响
无影响。
可能原因
业务产生了大查询或产生了热点数据。
租户的资源规划比实际偏小、业务产生了意外热点场景。
处理方法
检查是否是应用正常的负载。
在 OCP 进入该告警租户的 性能监控 界面,查看 性能与 SQL 页签中的 租户线程使用率 的折线图,图中告警时间点的租户线程使用率是否相较过去较长时间内(1-7 天)是否有突然增大。
有,则是非正常负载。
否,则是正常负载。
正常流量引起负载过高,则参见 Unit 规格管理 调大租户规格,分配更多租户线程资源。
可能是大查询或热点流量引起的负载过高。
可根据如下不同场景进行相应的处理。
SQL 执行存在大查询
在 OCP SQL 诊断 页面的 TopSQL 页签中查看是否有 CPU 使用率过高的 SQL。
如果有,可对该 SQL 进行优化。
如果没有,则不是该原因。
存在 SlowSQL 导致负载过高。
在 OCP SQL 诊断 页面的 SlowSQL 页签中查看具体的诊断结果,分析是否可能导致租户线程负载过高。
如果可能,请对该 SQL 进行优化。
热点行引起的热点数据导致租户某个节点 CPU 过高,请参考 限制 OceanBase 集群的流量 对该租户的业务进行限流。。