Skip to content

OceanBase OCP监控 ​

OCP监控架构 ​

1. 监控体系结构 ​

OCP监控体系由以下核心组件组成:

  • 监控采集器:负责采集OceanBase集群的各项指标数据
  • 监控存储:存储采集到的监控数据,支持长期存储和快速查询
  • 监控分析引擎:对监控数据进行分析和处理,生成统计报表和告警
  • 监控可视化:提供可视化的监控界面,展示集群状态和性能指标
  • 告警管理:管理告警规则,生成和发送告警通知

2. 监控数据流程 ​

监控数据的流程如下:

  1. 数据采集:监控采集器定期从OceanBase集群采集各项指标数据
  2. 数据传输:采集到的数据通过网络传输到监控存储
  3. 数据存储:监控数据存储到监控数据库中,支持长期存储
  4. 数据分析:监控分析引擎对数据进行分析和处理
  5. 数据展示:分析后的数据通过可视化界面展示给用户
  6. 告警生成:当指标超过阈值时,生成告警并发送通知

3. 监控指标分类 ​

OCP监控指标主要分为以下几类:

指标类别主要内容适用场景
集群指标集群状态、副本分布、数据一致性等集群整体监控
节点指标CPU使用率、内存使用率、磁盘使用率、IOPS等节点性能监控
租户指标租户资源使用情况、业务性能等租户管理和优化
SQL指标SQL执行时间、执行计划、慢查询等SQL优化和性能调优
存储指标存储容量、读写性能、合并进度等存储系统监控和优化
事务指标事务数量、事务成功率、锁等待等事务性能监控
OBProxy指标OBProxy连接数、请求延迟等OBProxy监控和优化

OCP监控功能 ​

1. 集群监控 ​

集群概览 ​

集群概览页面展示了集群的整体状态和关键指标,包括:

  • 集群状态(正常、警告、异常)
  • 节点数量和状态
  • 租户数量和状态
  • 副本分布情况
  • 关键性能指标(QPS、TPS、延迟等)

集群详情 ​

集群详情页面展示了集群的详细信息,包括:

  • 集群基本信息(名称、版本、创建时间等)
  • 集群配置信息
  • 节点列表和状态
  • 租户列表和状态
  • 副本分布详情
  • 集群事件日志

2. 节点监控 ​

节点概览 ​

节点概览页面展示了所有节点的状态和关键指标,包括:

  • 节点状态(在线、离线、故障)
  • CPU使用率
  • 内存使用率
  • 磁盘使用率
  • IOPS和吞吐量
  • 网络流量

节点详情 ​

节点详情页面展示了单个节点的详细信息,包括:

  • 节点基本信息(IP、端口、Zone等)
  • 节点资源使用情况(CPU、内存、磁盘、网络)
  • 节点性能指标(IOPS、延迟、吞吐量等)
  • 节点事件日志
  • 节点进程信息

3. 租户监控 ​

租户概览 ​

租户概览页面展示了所有租户的状态和关键指标,包括:

  • 租户状态(正常、警告、异常)
  • 租户资源使用情况(CPU、内存、存储)
  • 租户业务性能(QPS、TPS、延迟)
  • 租户连接数

租户详情 ​

租户详情页面展示了单个租户的详细信息,包括:

  • 租户基本信息(名称、类型、创建时间等)
  • 租户资源配置和使用情况
  • 租户业务性能指标
  • 租户SQL执行情况
  • 租户事务情况
  • 租户事件日志

4. SQL监控 ​

SQL概览 ​

SQL概览页面展示了SQL的整体执行情况,包括:

  • 总QPS和TPS
  • SQL执行时间分布
  • 慢查询数量和比例
  • 高频SQL列表
  • SQL错误率

SQL详情 ​

SQL详情页面展示了单个SQL的详细执行情况,包括:

  • SQL文本
  • 执行计划
  • 执行统计信息(执行次数、平均时间、最大时间等)
  • 执行趋势图
  • 执行计划历史

5. 存储监控 ​

存储概览 ​

存储概览页面展示了存储系统的整体情况,包括:

  • 总存储容量和使用率
  • 读写IOPS和吞吐量
  • 合并进度和状态
  • 缓存命中率
  • 存储延迟

存储详情 ​

存储详情页面展示了存储系统的详细信息,包括:

  • 存储设备列表和状态
  • 存储容量分布
  • IOPS和吞吐量趋势
  • 合并任务详情
  • 缓存使用情况

6. 事务监控 ​

事务概览 ​

事务概览页面展示了事务的整体执行情况,包括:

  • 总事务数
  • 事务成功率
  • 事务平均时间
  • 锁等待情况
  • 死锁数量

事务详情 ​

事务详情页面展示了单个事务的详细信息,包括:

  • 事务ID和状态
  • 事务开始时间和持续时间
  • 事务涉及的SQL
  • 锁等待详情
  • 事务日志

OCP监控配置 ​

1. 监控采集配置 ​

采集周期配置 ​

可以根据不同指标的重要程度和变化频率,配置不同的采集周期:

  • 核心指标:建议采集周期为10秒
  • 重要指标:建议采集周期为30秒
  • 一般指标:建议采集周期为60秒
  • 低频指标:建议采集周期为300秒

采集范围配置 ​

可以配置需要采集的指标范围,包括:

  • 集群级指标
  • 节点级指标
  • 租户级指标
  • SQL级指标
  • 存储级指标
  • 事务级指标

2. 监控存储配置 ​

存储周期配置 ​

可以根据监控数据的重要程度和存储成本,配置不同的存储周期:

  • 原始数据:建议存储7天
  • 聚合数据(5分钟):建议存储30天
  • 聚合数据(1小时):建议存储90天
  • 聚合数据(1天):建议存储1年

存储容量规划 ​

根据集群规模和采集配置,规划监控存储容量:

  • 每个节点:约1GB/天
  • 每个租户:约500MB/天
  • 每个SQL:约100MB/天

3. 告警规则配置 ​

告警级别配置 ​

可以配置不同级别的告警,包括:

  • 严重:影响业务正常运行的紧急问题,需要立即处理
  • 警告:可能影响业务的潜在问题,需要尽快处理
  • 提示:需要关注的信息,不影响业务运行

告警规则设置 ​

可以根据不同指标设置告警规则,包括:

  • 指标名称:需要监控的指标
  • 告警条件:如大于、小于、等于某个阈值
  • 告警阈值:触发告警的临界值
  • 持续时间:指标超过阈值的持续时间
  • 告警级别:严重、警告或提示
  • 告警通知方式:邮件、短信、钉钉等

告警抑制配置 ​

可以配置告警抑制规则,避免告警风暴:

  • 同一指标在短时间内多次触发告警,只发送一次通知
  • 关联告警只发送最严重的告警
  • 维护窗口内的告警可以延迟发送或不发送

OCP监控使用方法 ​

1. 登录OCP ​

  1. 打开浏览器,输入OCP的访问地址
  2. 输入用户名和密码,登录OCP
  3. 进入OCP控制台,选择需要监控的集群

2. 查看集群监控 ​

  1. 在左侧导航栏中选择"集群管理"
  2. 选择需要查看的集群
  3. 在集群详情页面中,查看集群的概览和详细信息
  4. 切换到不同的标签页,查看节点、租户、SQL等监控信息

3. 查看节点监控 ​

  1. 在左侧导航栏中选择"节点管理"
  2. 选择需要查看的节点
  3. 在节点详情页面中,查看节点的资源使用情况和性能指标
  4. 查看节点的事件日志和进程信息

4. 查看租户监控 ​

  1. 在左侧导航栏中选择"租户管理"
  2. 选择需要查看的租户
  3. 在租户详情页面中,查看租户的资源使用情况和业务性能
  4. 查看租户的SQL执行情况和事务情况

5. 查看SQL监控 ​

  1. 在左侧导航栏中选择"SQL管理"
  2. 在SQL概览页面中,查看SQL的整体执行情况
  3. 选择需要查看的SQL,查看其详细执行信息和执行计划
  4. 分析慢查询,进行SQL优化

6. 查看告警信息 ​

  1. 在左侧导航栏中选择"告警管理"
  2. 在告警列表页面中,查看所有告警信息
  3. 可以根据告警级别、时间范围、集群等条件筛选告警
  4. 查看告警详情,了解告警原因和处理建议
  5. 处理告警,标记告警状态

OCP监控最佳实践 ​

1. 监控规划 ​

  • 明确监控目标:根据业务需求和集群规模,明确需要监控的重点指标
  • 分层监控:采用分层监控策略,从集群、节点、租户到SQL,全面覆盖
  • 重点突出:对核心业务和关键指标进行重点监控
  • 定期调整:根据业务变化和集群发展,定期调整监控配置

2. 告警管理 ​

  • 合理设置阈值:根据历史数据和业务需求,设置合理的告警阈值
  • 分级告警:根据告警的严重程度,设置不同的告警级别和通知方式
  • 告警抑制:配置告警抑制规则,避免告警风暴
  • 告警闭环:建立告警处理流程,确保告警得到及时处理和跟进
  • 定期复盘:定期分析告警数据,优化告警规则和处理流程

3. 性能优化 ​

  • 实时监控:实时监控集群性能,及时发现性能瓶颈
  • 趋势分析:分析性能趋势,预测未来性能变化
  • 根因定位:通过监控数据,快速定位性能问题的根因
  • 优化验证:优化后通过监控数据验证优化效果
  • 持续优化:建立持续优化机制,不断提高集群性能

4. 容量规划 ​

  • 资源监控:监控资源使用情况,了解资源增长趋势
  • 容量预测:根据资源使用趋势,预测未来容量需求
  • 扩容建议:根据容量预测,提前制定扩容计划
  • 资源优化:优化资源使用,提高资源利用率

5. 故障排查 ​

  • 实时告警:通过告警及时发现故障
  • 数据关联:关联多个指标数据,全面分析故障原因
  • 历史对比:与历史数据对比,找出异常变化
  • 事件关联:关联集群事件,了解故障前后的操作
  • 快速定位:通过监控数据快速定位故障点

OCP监控与其他监控工具集成 ​

1. 与Prometheus集成 ​

OCP支持将监控数据导出到Prometheus,实现与Prometheus生态的集成:

  • 配置步骤:

    1. 在OCP中开启Prometheus导出功能
    2. 配置Prometheus的scrape配置,添加OCP的监控端点
    3. 在Grafana中添加Prometheus数据源
    4. 导入或创建Grafana仪表盘,展示OCP监控数据
  • 集成优势:

    • 利用Prometheus强大的数据存储和查询能力
    • 利用Grafana丰富的可视化图表
    • 与其他系统的监控数据统一展示

2. 与Zabbix集成 ​

OCP支持与Zabbix集成,实现告警和监控数据的统一管理:

  • 配置步骤:

    1. 在OCP中配置Zabbix服务器信息
    2. 在Zabbix中添加OCP监控模板
    3. 配置Zabbix告警规则和通知方式
    4. 在Zabbix中查看OCP监控数据和告警
  • 集成优势:

    • 利用Zabbix成熟的告警管理功能
    • 与现有Zabbix监控系统统一管理
    • 支持多种告警通知方式

3. 与企业监控系统集成 ​

OCP支持通过API与企业自定义监控系统集成:

  • API接口:OCP提供了完整的REST API,支持获取监控数据和告警信息

  • 集成方式:

    1. 开发自定义集成组件,调用OCP API获取监控数据
    2. 将监控数据导入企业监控系统
    3. 在企业监控系统中配置告警规则和通知方式
  • 集成优势:

    • 与企业现有监控系统无缝集成
    • 统一管理所有系统的监控数据和告警
    • 符合企业的监控管理规范

OCP监控案例分析 ​

案例1:利用OCP监控定位性能瓶颈 ​

背景:某生产集群的QPS突然下降,业务响应延迟增加。

处理过程:

  1. 登录OCP监控平台,查看集群概览,确认QPS确实下降,延迟增加
  2. 查看节点监控,发现某个节点的CPU使用率达到90%以上
  3. 查看该节点的SQL监控,发现有一条SQL的执行次数突然增加,且执行时间较长
  4. 查看该SQL的执行计划,发现缺少必要的索引,导致全表扫描
  5. 为该表添加了合适的索引,SQL执行时间从10秒缩短到0.1秒
  6. 监控显示,QPS恢复正常,延迟回到正常水平

经验总结:

  • OCP监控提供了从集群到SQL的完整监控链路
  • 可以快速定位性能瓶颈,从节点到SQL进行逐层分析
  • 实时监控可以及时发现性能问题,避免影响业务

案例2:利用OCP告警提前发现容量不足 ​

背景:OCP监控平台发送了磁盘使用率警告,某个节点的磁盘使用率超过80%。

处理过程:

  1. 登录OCP监控平台,查看该节点的磁盘使用率趋势
  2. 分析磁盘使用率增长趋势,预测在一周内会达到95%的告警阈值
  3. 查看该节点上的租户存储使用情况,发现某个租户的存储使用增长较快
  4. 联系该租户的业务负责人,了解存储增长原因
  5. 确认是业务数据量增长导致,提前为该租户扩容存储
  6. 监控显示,磁盘使用率恢复到正常水平,避免了磁盘空间不足导致的服务中断

经验总结:

  • OCP告警可以提前发现容量不足问题
  • 通过趋势分析,可以预测未来容量需求
  • 提前扩容可以避免服务中断,保障业务连续性

常见问题(FAQ) ​

Q1: OCP监控支持监控哪些版本的OceanBase? ​

A1: OCP监控支持监控OceanBase 2.2.x及以上版本,建议使用最新版本的OCP监控最新版本的OceanBase,以获得最佳的监控效果和功能支持。

Q2: OCP监控的采集对OceanBase集群性能有影响吗? ​

A2: OCP监控的采集对OceanBase集群性能的影响非常小,因为:

  • 采集频率可以根据需求调整,避免过于频繁的采集
  • 采集的是OceanBase内部的统计信息,不需要额外的计算开销
  • 采集过程采用异步方式,不影响业务请求的处理

Q3: 如何提高OCP监控的查询性能? ​

A3: 提高OCP监控查询性能的方法包括:

  • 合理设置监控数据的存储周期,避免存储过多的历史数据
  • 对监控数据进行合理的聚合,减少查询时的数据量
  • 优化查询条件,避免全表扫描
  • 增加OCP监控服务器的资源配置

Q4: 如何配置OCP监控的告警通知? ​

A4: 配置OCP监控告警通知的步骤:

  1. 在OCP监控平台中,进入"告警管理"页面
  2. 点击"告警通知配置",添加通知方式(邮件、短信、钉钉等)
  3. 配置通知接收人或接收组
  4. 为不同级别的告警配置不同的通知方式
  5. 测试告警通知是否正常

Q5: OCP监控支持自定义监控指标吗? ​

A5: 是的,OCP监控支持自定义监控指标,包括:

  • 通过SQL自定义监控指标
  • 通过API自定义监控指标
  • 自定义监控仪表盘

Q6: 如何备份OCP监控数据? ​

A6: 备份OCP监控数据的方法:

  • 定期备份OCP监控数据库
  • 配置监控数据的远程复制
  • 使用OCP提供的数据导出功能导出监控数据

Q7: 如何迁移OCP监控数据? ​

A7: 迁移OCP监控数据的步骤:

  1. 备份源OCP监控数据库
  2. 在目标服务器上安装OCP监控
  3. 恢复备份的监控数据库到目标服务器
  4. 配置目标OCP监控的连接信息
  5. 验证监控数据是否正常

Q8: 如何优化OCP监控的存储成本? ​

A8: 优化OCP监控存储成本的方法:

  • 合理设置监控数据的存储周期,及时清理过期数据
  • 对监控数据进行合理的聚合,减少存储的数据量
  • 只采集必要的监控指标,避免采集无用数据
  • 使用压缩技术存储监控数据
  • 考虑使用对象存储等低成本存储方式存储历史数据