基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
ob_tenant_cpu_usage_over_threshold OceanBase 租户 CPU 使用率超限
更新时间:2026-04-14 11:55:54
告警描述
该指标最接近租户真实 CPU 使用率(租户 CPU 使用量*100/租户 CPU 分配量),告警 tenant_cpu_percent_over_threshold 和 ob_cpu_percent_over_threshold 实际是租户线程使用率。
该告警需同时满足 OBServer 版本和 OCP 版本要求:
- OBServer 版本:V3.2.3 BP10、V3.2.4 BP5、V4.1 BP3、V4.2.0 及之后版本。
- OCP 版本:V4.2.2 及之后版本。
告警原理
| 参数 | 值 |
|---|---|
| 监控指标 | ob_tenant_cpu_percent |
| 指标来源 | 查询虚拟表:
cpu time 值),会通过 cgroup 功能从 cpuacct.usage 中获取 CPU 时间;否则,不开启 cgroup 或者在 OceanBase V3.x 版本上,只会通过 /proc/<pid>/task/<tid>/stat 目录来读取 CPU 时间。 |
| 采集指标 | ob_sysstat:
|
| 监控表达式 | sum(rate(ob_sysstat{stat_id="140013",@LABELS}[@INTERVAL])) by (@GBLABELS) / sum(ob_sysstat{stat_id="140005",@LABELS}) by (@GBLABELS) / 100 |
| 采集周期 | 60 秒 |
规则信息
| 监控表达式 | 监控指标含义 | 默认阈值 | 检测周期 | 消除周期 |
|---|---|---|---|---|
| ob_tenant_cpu_percent > 95 | 租户 CPU 使用率 | 95 | 10 秒 | 5 分钟 |
告警信息
| 告警触发方式 | 告警等级 | 范围 |
|---|---|---|
| 基于监控指标的表达式 | 严重 | 租户 |
告警模板
告警概述
- 模板:${alarm_target} ${alarm_name}
- 样例:alarm_template_id=0:ob_cluster=TEST-1:tenant_name=t1:host=xxx.xxx.xxx.xxx OceanBase 租户CPU使用率超限
告警详情
- 模板:集群:${ob_cluster_name},租户:${tenant_name},告警:${alarm_name}。租户 CPU 使用率 ${value_shown} 超过 ${alarm_threshold} %。
- 样例:集群:TEST,租户:t1,告警:OceanBase 租户 CPU 使用率超限。租户 CPU 使用率 96% 超过 95 %。
对系统的影响
租户 CPU 使用率高应结合具体业务场景分析,如果 CPU 使用率超过限定值,可能的影响包括:
- 业务 SQL rt 升高,影响业务响应时间。
- 租户繁忙,可能导致 SQL 处理超时,影响业务。
可能原因
可能存在慢 SQL,可通过 SQL 诊断查看 TopSql,通过 CPU 占比分析出导致 CPU 飙高的具体 SQL。
SQL 性能下降或执行计划恶化,OCP 会有此类 SQL 的告警:
- oas_anomaly_sql_from_sql_inspection_plan_changed
- oas_anomaly_sql_from_sql_inspection_perf_degradation
- oas_anomaly_sql_from_anomaly_event_analysis_plan_changed
- oas_anomaly_sql_from_anomaly_event_analysis_perf_degradation
- oas_anomaly_sql_from_anomaly_event_analysis_cpu_percent_high
存在大事务、大查询等,可通过查看租户的性能监控定位。
业务并发高导致 CPU 偏高。
处理方法
- 如果存在 SQL 问题,可以根据 SQL 诊断的建议优化 SQL。
- 如果业务中存在大查询、大事务等消耗 CPU 的查询,则需结合业务分析。
- 如果业务并发高,平时租户 CPU 偏高,则可尝试为租户扩容。