基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
ob_cpu_percent_over_threshold OceanBase 服务器上租户线程平均使用率超限
更新时间:2026-04-14 11:55:54
告警描述
OceanBase 服务器上租户线程平均使用率超限。
告警原理
下表列出了该告警监控逻辑中涉及的关键参数。
| 参数 | 值 |
|---|---|
| 监控指标 | ob_cpu_percent |
| 指标来源 | select /*+read_consistency(weak)*/ tenant_name, tenant_id, stat_id, value from v$sysstat, __all_tenant where stat_id IN (140005, 140006) and (con_id > 1000 or con_id = 1) and __all_tenant.tenant_id = v$sysstat.con_id; 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_cpu_percent 表示 OceanBase 服务器上租户线程平均使用率,当该值大于阈值(默认为 90%)时触发告警。
说明
- 统计事件 ID 为 140005:统计 OceanBase 服务器上租户最大可使用的线程数。
- 统计事件 ID 为 140006:统计 OceanBase 服务器上租户已使用的线程数。
表中的监控表达式表示取"stat_id=140006 时 value 值之和"与"stat_id=140005 时 value 值之和"的比值作为监控指标值,用于表示 OceanBase 服务器上租户线程平均使用率。
规则信息
| 监控指标 | 默认阈值(单位:%) | 持续时间 | 检测周期 | 消除周期 |
|---|---|---|---|---|
| ob_cpu_percent | 90 | 60 秒 | 60 秒 | 5 分钟 |
告警信息
| 告警触发方式 | 告警等级 | 范围 |
|---|---|---|
| 基于监控指标的表达式 | 严重 | 服务器 |
告警模板
告警概述模板:${alarm_target} ${alarm_name}
告警详情模板:集群:${ob_cluster_name},主机:${host},告警:OceanBase 租户线程平均使用率 ${value_shown} 超过 ${alarm_threshold} %。
告警概述样例:ob_cluster=obcluster-1:svr_ip=xxx.xxx.xxx.xxx OceanBase服务器上租户线程平均使用率超限
告警详情样例:集群:obcluster-1,主机:xxx.xxx.xxx.xxx,告警:OceanBase 租户线程平均使用率 91.0 % 超过 90.0 %。
对系统的影响
租户线程平均使用率过高会导致系统吞吐率下降,请求延迟变高。
一般而言,如果只是瞬时线程平均使用率过高影响不大,如果持续过高,则需要关注解决。
可能原因
常见于执行复杂 SQL 等。
处理方法
首先查看是否有 tenant_cpu_percent_over_threshold OceanBase 租户线程使用率超限。
如果有产生,参照 tenant_cpu_percent_over_threshold OceanBase 租户线程使用率超限 的处理方法。
如果没有,请执行下一步。
可能多个租户同时出现负载提高,在 OBServer 节点内产生负载叠加,触发告警。
对于多个租户同时出现流量增加导致的线程使用率过高,可以采取以下方法降低:
对集群进行紧急扩容。
为该 OceanBase 集群增加 OBServer 节点,方法请参见 添加 OBServer 节点。
参考 限制 OceanBase 集群的流量 为 OceanBase 集群限流 。