开源OceanBase如何与Prometheus与Grafana监控结合

一、OceanBase 数据库简介

OceanBase 数据库是一个原生的分布式关系数据库,它是完全由阿里巴巴和蚂蚁集团自主研发的项目,近期成立单独的商业公司北京奥星贝斯进行运营,并于2021年6月1日开源。

OceanBase 数据库构建在通用服务器集群上,基于 Paxos 协议和分布式架构,提供金融级高可用和线性伸缩能力,不依赖特定硬件架构,具备高可用、线性扩展、高性能、低成本等核心技术优势。

当前社区版仅开放了 MySQL 租户模式供大家使用,商业版还提供 Oracle 租户模式, OceanBase 数据库具有如下特点:

  • 高可用
  • 线性扩展
  • MySQL/Oracle 高度兼容
  • 高性能
  • 低成本
  • 多租户

下面放一张完整的架构图,让大家有一个整体的认识:
在这里插入图片描述

二、OceanBase 监控解决方案

2.1 方案一:OCP 云管平台

当前 OceanBase 数据库官方开放了云管平台 OCP 的 Docker 镜像,供用户下载和使用,OCP 云管平台是 OB 官方提供的一站式管理解决方案,他的架构如下:
在这里插入图片描述
从上面的体系架构可以看出 OCP管理服务提供打包好的一站式监控告警和运维服务,OCP管理服务会将数据存储在 OB 集群中,对应创建的 [元信息数据库] 和 [监控数据库] 中,并在 OBServer、OBProxy 和 主机上提供 OCP Agent 代理服务,用来收集信息和执行任务。

由于本文主要介绍方案二:基于 Prometheus
的解决方案,所以在这里不展开讨论,如果大家感兴趣,可以查阅官方文档:https://open.oceanbase.com/docs/ocp-cn/V3.1.1/0000000000167441

2.2 方案二:基于 Prometheus 的监控

基于 Prometheus+Grafana 的监控方案主要是配合 OBProxy 暴露的 2884 端口,以及 社区生态工具 OBAgent 形成的解决方案,可以满足企业已有 Prometheus 集群监控体系的接入。针对这个方案,我也画了一张图,方便大家理解逻辑架构:
!](https://img-blog.csdnimg.cn/e413b8c0d9ac47c58435790a5c181384.png)

三、Grafana + Prometheus 方案配置

3.1 前置条件

整个方案,我们需要提前准备好一些基础条件,下面简单列出一些需要的内容,如果大家已经具备部分条件,可以忽略,只针对性的准备需要的内容即可。

  • OceanBase 集群:本文章不涉及集群部署,如有需要请参考 快速入门指南 文档内容。
  • OBProxy:OBProxy 按理说是在 OceanBase 集群中部署的,但是在 Docker 和 单机部署环境中,也可以只部署 OBServer 而不部署 OBProxy。这里单独强调一下,是因为 OBProxy 也提供单独的 Prometheus 监控服务,在本文中也会涉及。
  • Prometheus 软件:Prometheus 软件是监控服务的核心,用来收集监控数据,提供存储、查询和告警功能,Prometheus 所需要的配置文件,OBAgent 会帮我们自动生成。下载地址 传送门,注意区别对应的平台架构。
  • Alert Manager 软件: Prometheus监控的告警组建,需要单独下载,传送门,注意区别对应的平台架构。
  • Grafana 软件:Grafana 是视图展示层,取 Prometheus 存储的数据,社区也有发布对应的 Dashboard 方便大家一键集成。下载地址 传送门,注意区别对应的平台架构。
  • Grafana Dashboard:
    • Oceanbase Metrics:https://grafana.com/grafana/dashboards/15215
    • Host Metrics:https://grafana.com/grafana/dashboards/15216
    • Obproxy Metrics:https://grafana.com/grafana/dashboards/15354

本文中我采用了一个最简单的三节点 OB 集群架构,另外配置了一台 OBProxy机器,共 4 台机器,Prometheus 和 Grafana 服务都部署到 OBProxy 机器上,服务器物理架构如下:
在这里插入图片描述

3.2 OBAgent 部署

上面简单介绍了一下逻辑架构和物理架构,下面我们就开始实际操作起来。由于 OBProxy 的 2884 端口是服务安装时已经配置好的,所以不需要部署 OBAgent 服务,我们只需要使用 OBDeploy 工具将 OBAgent 部署到 OBServer 服务器即可。(如果您是在初始化 OceanBase 集群,也可以将 OBAgent 的配置文件一起写到 OB 配置文件中,一并进行初始化;我这里采用的是分开单独部署的形式)。

3.2.1 初始化文件编写

配置文件与数据库初始化配置文件有一些地方是需要一致的,具体参考链接说明,我这里最终的文件内容如下:

obagent:
  servers:
    - name: server1
      ip: 10.211.55.74
    - name: server2
      ip: 10.211.55.75
    - name: server3
      ip: 10.211.55.76
  global:
    home_path: /home/chris/obagent
    server_port: 8088
    pprof_port: 8089
    sql_port: 2881
    rpc_port: 2882
    log_level: INFO
    log_path: log/monagent.log
    crypto_method: plain
    log_size: 30
    log_expire_day: 7
    log_file_count: 10
    http_basic_auth_user: admin
    http_basic_auth_password: root
    pprof_basic_auth_user: admin
    pprof_basic_auth_password: root
    monitor_user: root
    monitor_password: observer
    cluster_name: obcluster

  server1:
    zone: zone1
  server2
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿福Chris

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值