暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

0120.O 使用grafana+prometheus监控oceanbase社区版(1/2)

rundba 2022-01-11
1099

        OceanBase企业版中,已经提供了OceanBase云平台(OceanBase Cloud Platform,OCP)对OB集群进行管理、监控等,社区版2021年10月份提供了OBAgent进行信息收集,可将ob信息推送至prometheus,在2021年11月中旬提供了grafana监控面板,可将prometheus的监控数据在grafana上进行展示。

        2021年12月31日推出了社区版OCP,支持使用OCP部署Oceanbase-ce 3.1.2,但该版本目前不支持OBD部署的OceanBase集群接管,OCP下个迭代版本会考虑支持,计划 2 月份。



0. ENV



0.1 基础环境




  • CentOS 7.6;

  • OceanBase-ce 3.1.2;

  • obproxy (OceanBase 3.2.0 1);




0.2 监控组件



  • OBAgent 1.1.0;

  • prometheus主程序:prometheus-2.32.1.linux-amd64.tar.gz;

  • grafana主程序:grafana-8.3.3-1.x86_64.rpm。


注:node_exporter不需要下载,OBAgent自带主机和OceanBase数据库监控组件。




0.3 部署架构



当前采用单机部署:3observer+3proxy+3obagent+prometheus+grafana


CPU:

[admin@ob3 ~]$ cat /proc/cpuinfo | grep process | wc -l
24


内存:

[admin@ob3 ~]$ free -h
total used free shared buff/cache available
Mem: 53G 41G 4.7G 11M 7.9G 6.7G
Swap: 0B 0B 0B


磁盘空间:

[admin@ob3 ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 99G 9.0G 85G 10% /
devtmpfs 27G 0 27G 0% /dev
tmpfs 27G 0 27G 0% /dev/shm
tmpfs 27G 12M 27G 1% /run
tmpfs 27G 0 27G 0% /sys/fs/cgroup
/dev/sda1 190M 114M 63M 65% /boot
/dev/mapper/centos-home 30G 9.4G 19G 34% /home
/dev/mapper/centos-data_1 109G 78G 26G 76% /data/1
/dev/mapper/vg_data_3-data_3 109G 78G 26G 76% /data/3
/dev/mapper/centos-data_log1 128G 60M 123G 1% /data/nfs_server
/dev/mapper/vg_data_2-data_2 109G 78G 26G 76% /data/2
tmpfs 5.4G 0 5.4G 0% /run/user/0



1. OBAgent安装



1.1 OBAgent简介



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




1.2 环境依赖



构建OBAgent需要 Go 1.14 版本及以上。




1.3 前提条件



在部署 OBAgent 之前,您需要确认以下信息:

OceanBase 数据库服务已经部署并启动。

OBAgent已经安装。详细信息,请参考安装OBAgent(章节1.4)。

OBAgent的默认端口 8088、8089 未占用。您也可以自定义端口。




1.4 安装OBAgent软件



OBAgent提供使用 OBD 部署和手动部署。要手动部署 OBAgent,您要配置 OBAgent、Prometheus和Prometheus Alertmanager(可选),推荐您使用OBD部署OBAgent。

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


1) 使用OBD在线安装OBAgent软件

[rootn@ob3 ~]# su - admin
[admin@ob3 ~]$ sudo yum install -y yum-utils
[admin@ob3 ~]$ sudo yum-config-manager --add-repo https://mirrors.aliyun.com/oceanbase/OceanBase.repo
[admin@ob3 ~]$ sudo yum -y install obagent


[admin@ob3 ~]$ sudo rpm -qa | grep obagent #安装完本身没有rpm
[admin@ob3 ~]$


2) 也可RPM方式离线安装OBAgent

OBAgent 提供 RPM 包,您可以去 Release 页面下载 RPM 包,然后使用以下命令安装:

rpm -ivh obagent-1.1.0-1.el7.x86_64.rpm


Release页面:

https://mirrors.aliyun.com/oceanbase/community/stable/el/7/x86_64/




1.5 单独部署OBAgent



ObceanBase集群已经运行,因此我单独部署OBAgent。

当前采用单机部署3个OBAgent,模拟3台主机上部署,


1) 创建部署文件

vim obagent.yaml
obagent:
servers:
# 使用单机模拟3台主机,实际环境更换为自己的IP
- name: server1
# Please don't use hostname, only IP can be supported
ip: 127.0.0.1
- name: server2
ip: 127.0.0.1
- name: server3
ip: 127.0.0.1
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: rundba
# 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: rundba

# 以下配置必须与 OceanBase 数据库一致
# 抓取数据信息用到的OceanBase数据库用户 root@sys,也可单独创建一个监控用户
monitor_user: root
# root用户的密码
monitor_password: rundba_mon
# 更改为自己的集群名称
cluster_name: rundba
#cluster_id: 1
server1:
# 单机模拟3台OBAgent部署,故部署路径中添加1/2/3进行区分
home_path: /home/admin/obagent/1
server_port: 8088
pprof_port: 8089
sql_port: 2881
rpc_port: 2882
zone_name: zone1
log_path: log/monagent.log
log_size: 30
log_expire_day: 7
log_file_count: 10
server2:
home_path: /home/admin/obagent/2
server_port: 9088
pprof_port: 9089
sql_port: 3881
rpc_port: 3882
zone_name: zone2
log_path: log/monagent.log
log_size: 30
log_expire_day: 7
log_file_count: 10
server3:
home_path: /home/admin/obagent/3
server_port: 10088
pprof_port: 10089
sql_port: 4881
rpc_port: 4882
zone_name: zone3
log_path: log/monagent.log
log_size: 30
log_expire_day: 7
log_file_count: 10


如果不是root用户进行监控,需要在sys租户下创建监控用户,如monitor用户:

grant select on oceanbase.* to monitor identified by 'rundba_mon';


查看用户:

select host,user,password from mysql.user;


2) 部署OBAgent

[admin@ob3 ~]$ obd cluster deploy obagent -c obagent.yaml
obagent-1.1.0 already installed.
+---------------------------------------------------------------------------+
| Packages |
+------------+---------+---------+------------------------------------------+
| Repository | Version | Release | Md5 |
+------------+---------+---------+------------------------------------------+
| obagent | 1.0.0 | 1.el7 | e45f0daf05a9995843c799014fb59d388d51eae2 |
+------------+---------+---------+------------------------------------------+
Repository integrity check ok
Parameter check ok
Open ssh connection ok
Remote obagent-1.1.0-e45f0daf05a9995843c799014fb59d388d51eae2 repository install ok
Remote obagent-1.1.0-e45f0daf05a9995843c799014fb59d388d51eae2 repository lib check ok
Cluster status check ok
Initializes obagent work home ok
obagent deployed


3) 查看OBAgent

[admin@ob3 ~]$ obd cluster list
+--------------------------------------------------------------+
| Cluster List |
+---------+----------------------------------+-----------------+
| Name | Configuration Path | Status (Cached) |
+---------+----------------------------------+-----------------+
| rundba | /home/admin/.obd/cluster/rundba | running |
| obagent | /home/admin/.obd/cluster/obagent | deployed |
+---------+----------------------------------+-----------------+


4) 启动OBAgent

[admin@ob3 ~]$ obd cluster start obagent
Get local repositories and plugins ok
Open ssh connection ok
Cluster param config check ok
Check before start obagent ok
obagent program health check ok
+-----------------------------------------------+
| obagent |
+-----------+-------------+------------+--------+
| ip | server_port | pprof_port | status |
+-----------+-------------+------------+--------+
| 127.0.0.1 | 8088 | 8089 | active |
| 127.0.0.1 | 9088 | 9089 | active |
| 127.0.0.1 | 10088 | 10089 | active |
+-----------+-------------+------------+--------+
obagent running


也可手动启动服务

[admin@ob3 ~]$ cd /home/admin/obagent/1 && nohup ./bin/monagent -c conf/monagent.yaml >> ./log/monagent_stdout.log 2>&1 &


5) 查看OBAgent进程信息

查看OBAgent进程

[admin@ob3 ~]$ ps -ef | grep monagent | grep -v grep
admin 79193 1 60 14:23 pts/0 01:51:59 /home/admin/obagent/1/bin/monagent -c conf/monagent.yaml
admin 79236 1 58 14:23 pts/0 01:48:39 /home/admin/obagent/2/bin/monagent -c conf/monagent.yaml
admin 79283 1 59 14:23 pts/0 01:50:50 /home/admin/obagent/3/bin/monagent -c conf/monagent.yaml


查看OBAgent进程号

[admin@ob3 ~]$ pidof monagent
79283 79236 79193
[admin@ob3 ~]$ pgrep monagent
79193
79236
79283


6) 停止OBAgent--命令参考

使用obd停止OBAgent

obd cluster stop obagent


手动停止服务

kill -9 `pidof monagent`
OR
kill -9 `pgrep monagent`


-- 未完待续 --

旨在交流,不

::rundba

wx: landnow


 




                             长按二维码                                   


欢迎加入>>国产DB学习交流群


       

   请注明:来自rundba,加入国产DB学习交流群                

             


文章转载自rundba,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论