OceanBase监控工具OBAgent17认证网

正规官方授权
更专业・更权威

OceanBase监控工具OBAgent

背景

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

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

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

PS配合视频教程一起获得效果更佳哦~~视频教程,点击 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 一样:

代理:
  全球的:
    # HTTP 身份验证的用户名。默认值为 admin。
    http_basic_auth_user: 管理员
    # HTTP 身份验证的密码。默认值为 root。
    http_basic_auth_密码: root
    # 调试服务的用户名。默认值为 admin。
    pprof_basic_auth_user:管理员
    # 调试服务的密码。默认值为root。
    pprof_basic_auth_密码: root
    
    # 以下配置必须与 OceanBase 数据库一致
    # OceanBase数据库监控用户名,该用户必须具有系统租户OceanBase数据库的读权限,默认值为root。
    监控用户:root
    # OceanBase数据库监控密码,默认为空,当存在依赖时,OBD会从依赖的oceanbase-ce中获取该值,与oceanbase-ce中的root_password一致。
    监控密码:
    # observer的SQL端口,默认为2881,当存在depends时,OBD会从depends的oceanbase-ce中获取该值,与oceanbase-ce中的mysql_port一致。
    sql_端口:2881
    # observer的rpc端口,默认为2882,当存在depends时,OBD会从depends的oceanbase-ce获取该值,与oceanbase-ce中的rpc_port一致。
    rpc_端口:2882
    # OceanBase Database 集群名称,当存在依赖时,OBD 从依赖的 oceanbase-ce 获取该值,该值与 oceanbase-ce 中的 appname 相同。
    群集名称:obcluster
    # OceanBase数据库的集群ID,当存在依赖时,OBD会从依赖的oceanbase-ce中获取该值,与oceanbase-ce中的cluster_id相同。
    集群ID:1
    # 观察者的区域名称。默认值为 zone1。当存在依赖项时,OBD 会从依赖项的 oceanbase-ce 获取此值。该值与 oceanbase-ce 中的区域名称相同。
    区域名称:zone1
    # OceanBase数据库监控状态,active为开启,inactive为关闭,默认为active,在自动部署集群时,OBD会根据depends决定是否开启该参数。

然后使用以下命令启动OBAgent:

obd 集群部署 only-obagent -c only-obagent.yaml
obd 集群仅启动-obagent

使用以下命令确认进程是否启动成功:

ps -ef | grep monagent
管理员 3415 3373 0 19:57 点/0 00:00:00 grep --color=auto monagent
管理员 28112 1 15 18:55 ? 00:09:51 /home/admin/obagent/bin/monagent -c conf/monagent.yaml

启动成功之后就可以查看相关的指标了:

# 主机指标
curl --用户管理员:root http://172.30.199.47:8088/metrics/node/host
# 重新查看 ob 基本指标
curl --用户管理员:root http://172.30.199.47:8088/metrics/ob/basic
# 另请参阅
curl --用户管理员:root http://172.30.199.47:8088/metrics/ob/basic | grep ob_cache_size_bytes

其中,主机指标的返回结果如下图:

部署Prometheus(可选)

我们再试试Prometheus,大家自行下载,相信都会。使用OBD配置OBAgent会自动生成一份Prometheus配置文件,接下来我们假设目标机器上的配置文件复制到中控机器。

# 配置文件路径
$obagent_working_directory/conf/prometheus_config/

来到 Prometheus 的安装目录,现在启动它:

cd prometheus-2.30.3.linux-amd64
./prometheus --config.file=../prometheus_config/prometheus.yaml

打开浏览器,输入以下网址

http://你的 ip:9090/

就可以用Prometheus查看OceanBase的指标了。警报同样,用于报告异常情况:

接下的是状态,可以看下面规则的配置规则,当指标超出规则时就会同样。

现在我们尝试查询一个表达式,以查看当前的活跃会话数为例,可以具体时间的活跃会话数:

其他的功能请大家自行探索。

想了解更多干货,可通过下方扫码关注

可扫码添加上智启元官方客服微信👇

未经允许不得转载:17认证网 » OceanBase监控工具OBAgent
分享到:0

评论已关闭。

400-663-6632
咨询老师
咨询老师
咨询老师