Grafana 集群监控

本文的介绍了关于 YMatrix 数据面板配置、node_exporter 面板添加、 MatrixGate 监控面板部署、etcd 监控面板部署的内容。

注意!
请确保集群已经安装 Prometheus、Grafana 监控。若未安装可参考Grafana 安装与管理Prometheus 安装与管理进行安装和配置。

一、YMatrix 监控面板配置

  1. 在 Grafana 主界面上点击设置按钮,选择 Data Sources添加数据源1

  2. 然后点击 Add data source添加数据源2

  3. 在数据库类别里选择 Prometheus添加数据源3

  4. 数据源名称里给该数据源起个名字,如:MatrixDB-Prometheus;然后在 URL 中填写 Prometheus 的 IP 和端口: 添加数据源4

  5. 数据源添加好后,下面加载 Dashboard。在 Grafana 主面板上点击加号按钮,然后选择 Import添加dashboard_1

  6. Import 有几种方式:官方 URL 或 ID、将 Json 粘贴到文本框中、从文件加载。

  • 这里我们选择从文件加载,Ymatrix 的 Prometheus Dashboard 在安装目录中的 $GPHOME/share/doc/postgresql/extension/PrometheusDashboard.json,加载该文件: 添加dashboard_2

  • 加载文件的时候需要选择 Prometheus 数据源,这里选择刚才创建的源。 添加dashboard_3

然后,即可在面板列表里看到刚刚加载的面板。

面板监控详细解读请参考 YMatrix 监控参数解读

二、操作系统监控面板配置(node_exporter)

本小节介绍如何部署 node_exporter 的 Dashboard 。

加载 node_exporter 的 Dashboard:因为 Grafana 官网中已发布了对应的 Dashboard,所以直接填写ID加载即可。

在加载的过程中需要选择数据源,选择刚才添加的 MatrixDB-Prometheus 源即可。如果 node_exporter 有独立的 Prometheus 集群,则需要单独添加数据源。 node_exporter_2

三、MatrixGate 监控面板配置

部署 gate exporter 同样需要创建 matrixmgr 数据库与 matrixtsmatrixmgr 扩展。

  • 创建 matrixmgr 数据库
createdb matrixmgr;
  • 连接到 matrixmgr 数据库, 创建 matrixts 和 matrixmgr 扩展
psql -d matrixmgr

matrixmgr=# CREATE EXTENSION matrixts;
matrixmgr=# CREATE EXTENSION matrixmgr;
  • 然后调用 mxmgr_init_gate_exporter 初始化并启动:
    matrixmgr=# SELECT mxmgr_init_gate_exporter();

    成功后,可以观察到 matrixmgr 数据库下出现了名为 “gate_exporter” 的新模式。该模式下的表和视图包含了 gate 的监控和配置信息。请勿自行更改这些表和视图的定义及内容。

该命令会在 Master 主机上启动 gate_exporter。

如要关闭 gate_exporter 则执行 mxmgr_remove_gate_exporter

matrixmgr=# SELECT mxmgr_remove_gate_exporter();

再次启动则执行 mxmgr_deploy_gate_exporter

matrixmgr=# SELECT mxmgr_deploy_gate_exporter();

和加载 YMatrix 监控面板一样,MatrixGate 的面板文件在 $GPHOME/share/doc/postgresql/extension/MxgateDashboard.json,加载该文件即可。

面板监控详细解读请参考 MatrixGate 监控参数解读

四、etcd 监控面板配置

1.设置 Prometheus 拉取 etcd 状态

编辑配置文件。

$ cd prometheus-*
sudo vi prometheus.yml

在文件末尾,追加如下内容:

  - job_name: "etcd"
    static_configs:
      - targets: ["172.31.33.128:4679", "172.31.45.253:4679", "172.31.35.134:4679"]

其中,targets 里是一个数组,需要替换成集群里每一个etcd 节点的地址。 该信息可以在 Master 主机上的 /etc/matrixdb6/physical_cluster.toml 文件中找到。

$ cat physical_cluster.toml
cluster_id = '79LhQxjuwmXgSWZCjcdigF'
supervisord_grpc_port = 4617
deployer_port = 4627
etcd_endpoints = ['http://10.0.159.1:4679', 'http://10.0.172.185:4679', 'http://10.0.170.90:4679', 'http://10.0.146.2:4679', 'http://10.0.146.195:4679', 'http://10.0.150.110:4679', 'http://10.0.169.149:4679']

注意! 如果你的主机上没有 /etc/matrixdb6/physical_cluster.toml 文件,且找不到 etcd 进程,说明你的集群不是用 6.x 架构部署的,不涉及监控 etcd。

2.启动 Prometheus

./prometheus --config.file=prometheus.yml

注意!
通常我们希望将 Prometheus 作为系统服务在后台运行,这需要将其配置为 systemd 服务

3.配置 Grafana 的 etcd 看板

注意!
需要安装 Grafana 8.2.5 或更高版本。

首先登陆 Grafana 页面,默认地址如下:

http://<安装节点的IP或者域名>:3000

a.配置数据源(DataSource)

172.31.23.21:9090 是前一步部署的 Prometheus 的服务端口。

b.导入 Dashboard

访问Grafana社区: https://grafana.com/grafana/dashboards/?search=Etcd+Cluster+Overview

如上链接可搜索到社区提供的 Dashboard:

点击进入,获得该 Dashboard 的 ID:

注意!
此 ID 对应的 Dashboard 不排除会发生变化的可能。目前为 15308,用户请以自身搜索结果为准。

如下图,这里我们导入 15308 号 Dashboard。

如下图,选择我们刚才配置的数据源名称,最后加载 Dashboard。

如果服务器处于内网,可能无法通过编号 15308 导入。需要在其他可上网的电脑上 下载 Dashboard 的 JSON 文件再导入。

更多 etcd Dashboard 关键项目介绍,可查看 etcd 文档