OceanBase 监控工具 OBAgent OceanBase

2022-02-22 00:00:00 集群 部署 启动 指标 配置文件

作者简介:海芊,一个对技术充满热情的文档工程师


背景

运维 OceanBase 涉及到很多相关的变量和参数。实际生产中,如果只靠单一的黑屏工具查看这些参数的话,不仅会流程繁琐,而且查看结果也不够直观,这就降低了我们的工作效率。此外,如果想查询一些表达式,也不是很方便。基于这种背景,OceanBase 监控工具 OBAgent 应运而生。

OBAgent 是一个监控采集框架。OBAgent 支持推、拉两种数据采集模式,可以满足不同的应用场景。OBAgent 默认支持的插件包括主机数据采集、OceanBase 数据库指标的采集、监控数据标签处理和 Prometheus 协议的 HTTP 服务。要使 OBAgent 支持其他数据源的采集,或者自定义数据的处理流程,您只需要开发对应的插件即可。

OBAgent 是一个开源的项目,感兴趣的小伙伴可以去 GitHub 看看项目代码。更多关于 OBAgent 的信息,参考 OBAgent 文档。

P.S. 配合视频教程一起食用效果更佳噢~~视频教程,点击 OceanBase 监控工具 OBAgent。

如何使用

介绍完 OBAgent 的功能,接下来我们聊聊如何使用它。要使用 OBAgent,我们首先要把这个进程启动起来。然后再使用 Prometheus 接入,虽然 Prometheus 是个可选的步骤,但是使用起来还是很方便的,这里我们也介绍一下。

部署 OBAgent 有两种方式,一种是手动部署,一种是使用 OBD 部署。手动部署 OBAgent 需要配置 KV、monagent 和 Prometheus (可选,根据你的实际需求决定)。更多信息,参考 配置文件文档。相比之下,使用 OceanBase 开源软件的安装部署工具 OBD 部署就要简单很多。只要一个 OBAgent 配置文件就能把服务启起来。并且,OBD 还会根据你的实际情况自动生成一份 Prometheus 的配置文件,还会把 Prometheus 的规则写好。你可以使用默认的规则,也可以根据需要对规则做出调整。

部署 OBAgent

接下来我们使用 OBD,一起部署 OBAgent 服务。OBAgent 可以跟 OceanBase 集群同时启动,也可以先启动一个 ObceanBase 集群,再启动 OBAgent。我在启动 OBAgent 之前已经有了一个 ObceanBase 集群,因此我单独启动 OBAgent 就可以了。我的集群信息如下:



使用 OBD 启动 OBAgent 的示例配置文件参考 这里,部署文档参考 这里。

OBAgent 的以下配置字段必须要跟 OceanBase 一样:

obagent:
  global:
    # Username for HTTP authentication. The default value is admin.
    http_basic_auth_user: admin
    # Password for HTTP authentication. The default value is root.
    http_basic_auth_password: root
    # Username for debug service. The default value is admin.
    pprof_basic_auth_user: admin
    # Password for debug service. The default value is root.
    pprof_basic_auth_password: root
    
    # 以下配置必须与 OceanBase 数据库一致
    # Monitor username for OceanBase Database. The user must have read access to OceanBase Database as a system tenant. The default value is root.
    monitor_user: root
    # Monitor password for OceanBase Database. The default value is empty. When a depends exists, OBD gets this value from the oceanbase-ce of the depends. The value is the same as the root_password in oceanbase-ce.
    monitor_password: 
    # The SQL port for observer. The default value is 2881. When a depends exists, OBD gets this value from the oceanbase-ce of the depends. The value is the same as the mysql_port in oceanbase-ce.
    sql_port: 2881
    # The RPC port for observer. The default value is 2882. When a depends exists, OBD gets this value from the oceanbase-ce of the depends. The value is the same as the rpc_port in oceanbase-ce.
    rpc_port: 2882
    # Cluster name for OceanBase Database. When a depends exists, OBD gets this value from the oceanbase-ce of the depends. The value is the same as the appname in oceanbase-ce.
    cluster_name: obcluster
    # Cluster ID for OceanBase Database. When a depends exists, OBD gets this value from the oceanbase-ce of the depends. The value is the same as the cluster_id in oceanbase-ce.
    cluster_id: 1
    # Zone name for your observer. The default value is zone1. When a depends exists, OBD gets this value from the oceanbase-ce of the depends. The value is the same as the zone name in oceanbase-ce.
    zone_name: zone1
    # Monitor status for OceanBase Database.  Active is to enable. Inactive is to disable. The default value is active. When you deploy an cluster automatically, OBD decides whether to enable this parameter based on depends.

相关文章