前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MogDB数据库如何完美适配Grafana及Prometheus?

MogDB数据库如何完美适配Grafana及Prometheus?

作者头像
数据和云
发布2022-02-25 16:51:14
6440
发布2022-02-25 16:51:14
举报
文章被收录于专栏:数据和云

Grafana是一个跨平台、开源的度量分析和可视化工具,可以通过对接各种数据源并作可视化展示。

Prometheus是著名开源监控项目,其监控任务由具体的exporter实现,exporter到目标端抓取监控数据,保存在TSDB时序数据库中。Prometheus也支持PromQL查询语言进行自定义的查询组合。

openGauss/MogDB数据库可以通过opengauss_exporter完美适配Grafana及Prometheus。

下面是效果图:

下面在麒麟ARM测试环境下演示部署过程,x86环境需要替换相关下载安装包。

Prometheus部署

1

1.1. 安装包下载

软件下载地址:https://prometheus.io/download/

下载文件prometheus-2.31.1.linux-arm64.tar.gz

1.2. 创建prometheus用户
代码语言:javascript
复制
# useradd prometheus
# password prometheus
1.3. 创建prometheus相应目录并解压安装包
代码语言:javascript
复制
# mkdir /appdata/prometheus
# mkdir /appdata/prometheus/etc
# mkdir /appdata/prometheus/log
# mkdir /appdata/prometheus/data

# tar -zxvf prometheus-2.31.1.linux-arm64.tar.gz -C /appdata/prometheus
# chown -R prometheus: /appdata/prometheus
# chmod -R 755 /appdata/prometheus
1.4. 使用prometheus用户检查安装版本
代码语言:javascript
复制
$ /appdata/prometheus/prometheus-2.31.1.linux-arm64/prometheus --version
1.5. 使用prometheus用户编辑配置文件
代码语言:javascript
复制
$ vi /appdata/prometheus/etc/prometheus.yml

内容如下:

代码语言:javascript
复制
# my global config
global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).
# Alertmanager configuration
alerting:
  alertmanagers:
  - static_configs:
    - targets:
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  - job_name: 'prometheus'
    static_configs:
    - targets: ['x.x.x.x:50090']
1.6. 使用root用户配置prometheus开机启动
代码语言:javascript
复制
# vi /usr/lib/systemd/system/prometheus.service

内容如下:

代码语言:javascript
复制
[Unit]
Description= Prometheus
After=network.target

[Service]
Type=simple
User=prometheus
ExecStart=/appdata/prometheus/prometheus-2.31.1.linux-arm64/prometheus --web.listen-address="0.0.0.0:50090" --config.file=/appdata/prometheus/etc/prometheus.yml --storage.tsdb.path=/appdata/prometheus/data
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure

[Install]
WantedBy=multi-user.target

启动服务:

代码语言:javascript
复制
# systemctl daemon-reload
# systemctl enable prometheus
# systemctl start prometheus
1.7. 使用web浏览器测试prometheus服务
打开 http://x.x.x.x:50090/ 如下图所示,说明prometheus服务正常。

node_exporter部署

2

2.1. 安装包下载

软件下载地址:https://github.com/prometheus/node_exporter/releases

下载文件node_exporter-1.2.2.linux-arm64.tar.gz

2.2. 使用root用户解压安装包

root用户解压安装包到prometheus用户,测试环境部署在prometheus用户下。

代码语言:javascript
复制
# tar -zxvf node_exporter-1.2.2.linux-arm64.tar.gz -C /appdata/prometheus/
# chown -R prometheus: /appdata/prometheus/node_exporter-1.2.2.linux-arm64
2.3. 使用prometheus用户检查安装版本
代码语言:javascript
复制
$ /appdata/prometheus/node_exporter-1.2.2.linux-arm64/node_exporter --version
2.4. 使用root用户配置node_exporter开机启动
代码语言:javascript
复制
# vi /usr/lib/systemd/system/node_exporter.service

内容如下:

代码语言:javascript
复制
[Unit]
Description= node exporter
After=network.target

[Service]
Type=simple
User=prometheus
ExecStart=/appdata/prometheus/node_exporter-1.2.2.linux-arm64/node_exporter --web.listen-address=":9100" --no-collector.softnet
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure

[Install]
WantedBy=multi-user.target

# systemctl daemon-reload
# systemctl enable node_exporter
# systemctl start node_exporter
2.5. 查看node_exporter服务
代码语言:javascript
复制
# systemctl status node_exporter
2.6. prometheus配置exporter

prometheus配置文件prometheus.yml增加下面的内容:

代码语言:javascript
复制
  - job_name: 'node_exporter'
    static_configs:
    - targets: ['110.128.131.16:9100']
2.7. 使用root用户重启prometheus服务
代码语言:javascript
复制
# systemctl restart prometheus

opengauss_exporter部署

3

3.1. 安装包下载

下载地址:https://github.com/enmotech/opengauss_exporter

下载文件node_exporter-1.2.2.linux-arm64.tar.gz

3.2. 使用root用户解压安装包

root用户解压安装包到prometheus用户,测试环境部署在prometheus用户下。

代码语言:javascript
复制
# unzip opengauss_exporter_0.0.9_linux_arm64.zip -d /appdata/prometheus/opengauss_exporter
# chown -R prometheus: /appdata/prometheus/opengauss_exporter
3.3. 使用prometheus用户检查安装版本
代码语言:javascript
复制
$ /appdata/prometheus/opengauss_exporter/opengauss_exporter --version
3.4. 上传yaml文件

文件存放路径:/appdata/prometheus/opengauss_exporter

修改权限:

代码语言:javascript
复制
# chown prometheus: queries.yaml
3.5. MogDB数据库端配置
3.5.1. 创建监控用户

密码复杂度要符合数据库的要求,默认要求大小写+特殊字符,不少于8位。

代码语言:javascript
复制
$ gsql -Uomm postgres -r
CREATE USER db_exporter WITH PASSWORD 'XXXXXXXX' MONADMIN;grant usage on schema dbe_perf to db_exporter;grant select on pg_stat_replication to db_exporter;
3.5.2. 配置pg_hba.conf

以md5的加密方式添加mogdbmonitor监控机白名单。

代码语言:javascript
复制
$ gs_guc set -I all -N all -h "host postgres db_exporter 110.128.131.16/32 md5"
3.6. 使用root用户配置服务开机启动
代码语言:javascript
复制
# vi /usr/lib/systemd/system/mogdb_exporter.service

内容如下:

代码语言:javascript
复制
[Unit]Description=Prometheus MogDB Exporter Server
[Service]User=prometheusEnvironment="DATA_SOURCE_NAME=postgresql://db_exporter:password@ip:port/postgres?sslmode=disable"ExecStart=/appdata/prometheus/opengauss_exporter/opengauss_exporter --web.listen-address=":51007" --config="/appdata/prometheus/opengauss_exporter/queries.yaml"
[Install]WantedBy=multi-user.target

启动服务:

代码语言:javascript
复制
# systemctl daemon-reload# systemctl enable mogdb_exporter# systemctl start mogdb_exporter
3.7. 查看exporter服务
代码语言:javascript
复制
# systemctl status mogdb_exporter
3.8. prometheus配置exporter

prometheus配置文件prometheus.yml增加下面的内容:

代码语言:javascript
复制
    - job_name: ' mogdb_exporter '    static_configs:        - targets: ['110.128.131.16: 51007']
3.9. 使用root用户重启prometheus服务
代码语言:javascript
复制
# systemctl restart prometheus

Grafana部署

4

4.1. 安装包下载

下载地址:https://grafana.com/grafana/download

下载文件grafana-enterprise-8.2.4.linux-arm64.tar.gz

4.2. 使用root用户解压安装包

root用户解压安装包到prometheus用户,测试环境部署在prometheus用户下。

代码语言:javascript
复制
# tar -zxvf grafana-enterprise-8.2.4.linux-arm64.tar.gz -C /appdata/prometheus/# chown -R prometheus: /appdata/prometheus/grafana-8.2.4
4.3. 使用prometheus用户检查安装版本
代码语言:javascript
复制
$ /appdata/prometheus/grafana-8.2.4/bin/grafana-server -v
4.4. 使用prometheus用户配置grafana
代码语言:javascript
复制
$ vi /appdata/prometheus/grafana-8.2.4/conf/defaults.ini

例如修改http_port = 51009、修改内置数据库3306端口等。

4.5. 使用root用户配置服务开机启动
代码语言:javascript
复制
# vi /usr/lib/systemd/system/grafana.service

内容如下:

代码语言:javascript
复制
[Unit]Description=Grafana Server
[Service]User=prometheusExecStart=/appdata/prometheus/grafana-8.2.4/bin/grafana-server -homepath /appdata/prometheus/grafana-8.2.4/ -config /appdata/prometheus/grafana-8.2.4/conf/defaults.ini 
[Install]WantedBy=multi-user.target

启动服务:

代码语言:javascript
复制
# systemctl daemon-reload# systemctl enable grafana.service# systemctl start grafana.service
4.6. 查看grafana服务状态
代码语言:javascript
复制
# systemctl status grafana.service
4.7. 使用web浏览器测试grafana

打开 http://x.x.x.x:51009/ ,默认账号:admin,默认密码:admin

然后配置prometheus,加载dashboard即可。


墨天轮原文链接:https://www.modb.pro/db/181067?sjhy

关于作者

彭冲,云和恩墨PG技术顾问,网名“多米爸比”,PG社区认证专家,中国首期PostgreSQL ACE Partner,多年从事基于PostgreSQL数据库的软件研发,擅长于PL/PGSQL业务迁移及优化,Oracle到PostgreSQL的迁移升级,异构数据库整合;作为墨天轮PostgreSQL实践专栏作者,热衷于PostgreSQL实践技术分享,在自己的岗位积极推广PostgreSQL,致力为PG社区多做奉献。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-01-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据和云 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.1. 安装包下载
  • 1.2. 创建prometheus用户
  • 1.3. 创建prometheus相应目录并解压安装包
  • 1.4. 使用prometheus用户检查安装版本
  • 1.5. 使用prometheus用户编辑配置文件
  • 1.6. 使用root用户配置prometheus开机启动
  • 1.7. 使用web浏览器测试prometheus服务
  • 打开 http://x.x.x.x:50090/ 如下图所示,说明prometheus服务正常。
  • 2.1. 安装包下载
  • 2.2. 使用root用户解压安装包
  • 2.3. 使用prometheus用户检查安装版本
  • 2.4. 使用root用户配置node_exporter开机启动
  • 2.5. 查看node_exporter服务
  • 2.6. prometheus配置exporter
  • 2.7. 使用root用户重启prometheus服务
  • 3.1. 安装包下载
  • 3.2. 使用root用户解压安装包
  • 3.3. 使用prometheus用户检查安装版本
  • 3.4. 上传yaml文件
  • 3.5. MogDB数据库端配置
    • 3.5.1. 创建监控用户
      • 3.5.2. 配置pg_hba.conf
      • 3.6. 使用root用户配置服务开机启动
      • 3.7. 查看exporter服务
      • 3.8. prometheus配置exporter
      • 3.9. 使用root用户重启prometheus服务
      • 4.1. 安装包下载
      • 4.2. 使用root用户解压安装包
      • 4.3. 使用prometheus用户检查安装版本
      • 4.4. 使用prometheus用户配置grafana
      • 4.5. 使用root用户配置服务开机启动
      • 4.6. 查看grafana服务状态
      • 4.7. 使用web浏览器测试grafana
      相关产品与服务
      数据库
      云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档