合 使用OBD部署一个OceanBase 三副本集群并使用Promethues监控OB(在不同节点)
Tags: 高可用监控环境搭建OceanBaseGrafana分布式数据库
安装Promethues和Grafana
参考:https://open.oceanbase.com/docs/tutorials/quickstart/V1.0.0/2-9-how-to-deploy-obagent
Prometheus 配置
OBAgent 启动后会在节点自动生成 Prometheus
配置文件, 位置在 OBAgent 安装目录下,如 /home/admin/obagent/conf/prometheus_config/
。这个配置文件可以给 Prometheus
产品直接使用。
示例如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | [root@lhrob1 admin]# cd /home/admin/obagent/conf/prometheus_config/ [root@lhrob1 prometheus_config]# ll total 8 -rw------- 1 admin admin 1242 Jan 9 17:27 prometheus.yaml drwxrwxr-x 2 admin admin 4096 Jan 9 17:27 rules [root@lhrob1 prometheus_config]# more prometheus.yaml global: scrape_interval: 1s evaluation_interval: 10s rule_files: - "rules/*rules.yaml" scrape_configs: - job_name: prometheus metrics_path: /metrics scheme: http static_configs: - targets: - 'localhost:9090' - job_name: node basic_auth: username: admin password: lhr metrics_path: /metrics/node/host scheme: http static_configs: - targets: - 172.72.8.11:8088 - 172.72.8.12:8088 - 172.72.8.13:8088 - job_name: ob_basic basic_auth: username: admin password: lhr metrics_path: /metrics/ob/basic scheme: http static_configs: - targets: - 172.72.8.11:8088 - 172.72.8.12:8088 - 172.72.8.13:8088 - job_name: ob_extra basic_auth: username: admin password: lhr metrics_path: /metrics/ob/extra scheme: http static_configs: - targets: - 172.72.8.11:8088 - 172.72.8.12:8088 - 172.72.8.13:8088 - job_name: agent basic_auth: username: admin password: lhr metrics_path: /metrics/stat scheme: http static_configs: - targets: - 172.72.8.11:8088 - 172.72.8.12:8088 - 172.72.8.13:8088 |
稍加说明如下:
配置项 | 值 | 说明 |
---|---|---|
scrape_interval | 1s | 抓取间隔 |
evaluation_interval | 10s | 评估规则间隔 |
rule_files | rules/*rules.yaml | 报警规则 |
scrape_configs | 抓取配置 |
使用方法:
从 https://prometheus.io/download/ 下载相应版本,安装到服务器上官网提供的是二进制版,解压就能用,不需要编译
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | wget https://github.com/prometheus/prometheus/releases/download/v2.32.1/prometheus-2.32.1.linux-amd64.tar.gz -- 安装prometheus tar -zxvf prometheus-2.32.1.linux-amd64.tar.gz -C /usr/local/ ln -s /usr/local/prometheus-2.32.1.linux-amd64 /usr/local/prometheus ln -s /usr/local/prometheus/prometheus /usr/local/bin/prometheus scp prometheus.yaml lhrobproxy:/usr/local/prometheus/prometheus.yml -- 启动 prometheus --config.file=/usr/local/prometheus/prometheus.yml --storage.tsdb.path=/usr/local/prometheus/data/ --web.enable-lifecycle --storage.tsdb.retention.time=60d & [root@lhrobproxy ~]# netstat -tulnp | grep 9090 tcp6 0 0 :::9090 :::* LISTEN 19891/prometheus |
--web.enable-lifecycle
加上此参数可以远程热加载配置文件,无需重启prometheus,调用指令是curl -X POST http://ip:9090/-/reload
--storage.tsdb.retention.time
数据默认保存时间为15天,启动时加上此参数可以控制数据保存时间。
启动后通过浏览器访问:http://172.72.8.14:9090/targets 。
Grafana 使用
首先请从 Grafana 官网下载最新版本,并安装启动。下载地址:https://grafana.com/grafana/download 。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | wget https://dl.grafana.com/enterprise/release/grafana-enterprise-8.3.3-1.x86_64.rpm yum install -y grafana-enterprise-8.3.3-1.x86_64.rpm systemctl daemon-reload systemctl enable grafana-server.service systemctl start grafana-server.service systemctl status grafana-server.service netstat -tulnp | grep 3000 lsof -i:3000 [root@lhrobproxy soft]# lsof -i:3000 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME grafana-s 17064 grafana 15u IPv6 149740351 0t0 TCP *:hbci (LISTEN) [root@lhrobproxy soft]# [root@lhrobproxy soft]# [root@lhrobproxy soft]# netstat -tulnp | grep 3000 tcp6 0 0 :::3000 :::* LISTEN 17064/grafana-serve [root@lhrobproxy soft]# systemctl status grafana-server.service ● grafana-server.service - Grafana instance Loaded: loaded (/usr/lib/systemd/system/grafana-server.service; enabled; vendor preset: disabled) Active: active (running) since Sun 2022-01-09 17:47:53 CST; 6s ago Docs: http://docs.grafana.org Main PID: 17064 (grafana-server) CGroup: /docker/494cb2a2cafe261ec6b602029fd6c94333765995d776722a98915bf304e0df7c/system.slice/grafana-server.service └─17064 /usr/sbin/grafana-server --config=/etc/grafana/grafana.ini --pidfile=/var/run/grafana/grafana-server.pid --packaging=rpm cfg:default.paths.logs=/var/log/grafana cfg:default.paths.data=/var/lib/grafana cfg:default.paths.plugins=/var/lib/grafana/plugins cfg:default.paths.provisioning=/etc/grafana/provisioning Jan 09 17:47:53 lhrobproxy grafana-server[17064]: t=2022-01-09T17:47:53+0800 lvl=info msg="Created default admin" logger=sqlstore user=admin Jan 09 17:47:53 lhrobproxy grafana-server[17064]: t=2022-01-09T17:47:53+0800 lvl=info msg="Created default organization" logger=sqlstore Jan 09 17:47:53 lhrobproxy grafana-server[17064]: t=2022-01-09T17:47:53+0800 lvl=info msg="Validated license token" logger=licensing appURL=http://localhost:3000/ source=disk status=NotFound Jan 09 17:47:53 lhrobproxy grafana-server[17064]: t=2022-01-09T17:47:53+0800 lvl=info msg="Initialising plugins" logger=plugin.manager Jan 09 17:47:53 lhrobproxy grafana-server[17064]: t=2022-01-09T17:47:53+0800 lvl=info msg="Plugin registered" logger=plugin.manager pluginId=input Jan 09 17:47:53 lhrobproxy grafana-server[17064]: t=2022-01-09T17:47:53+0800 lvl=info msg="Live Push Gateway initialization" logger=live.push_http Jan 09 17:47:53 lhrobproxy grafana-server[17064]: t=2022-01-09T17:47:53+0800 lvl=info msg="Writing PID file" logger=server path=/var/run/grafana/grafana-server.pid pid=17064 Jan 09 17:47:53 lhrobproxy systemd[1]: Started Grafana instance. Jan 09 17:47:53 lhrobproxy grafana-server[17064]: t=2022-01-09T17:47:53+0800 lvl=warn msg="Scheduling and sending of reports disabled, SMTP is not configured and enabled. Configure SMTP to enable." logger=report Jan 09 17:47:53 lhrobproxy grafana-server[17064]: t=2022-01-09T17:47:53+0800 lvl=info msg="HTTP Server Listen" logger=http.server address=[::]:3000 protocol=http subUrl= socket= [root@lhrobproxy soft]# |