作者:彭冲

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

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

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

下面是效果图:

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

1.Prometheus部署

1.1. 安装包下载

软件下载地址:https://prometheus.io/download/
下载文件prometheus-2.31.1.linux-arm64.tar.gz

1.2. 创建prometheus用户

# useradd prometheus
# password prometheus

1.3. 创建prometheus相应目录并解压安装包

# 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用户检查安装版本

$ /appdata/prometheus/prometheus-2.31.1.linux-arm64/prometheus --version

1.5. 使用prometheus用户编辑配置文件

$ vi /appdata/prometheus/etc/prometheus.yml

内容如下

# 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开机启动

# vi /usr/lib/systemd/system/prometheus.service

内容如下

[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

启动服务

# systemctl daemon-reload
# systemctl enable prometheus
# systemctl start prometheus

1.7. 使用web浏览器测试prometheus服务

打开 http://x.x.x.x:50090/ 如下如所示,说明prometheus服务正常。

2. node_exporter部署

2.1. 安装包下载

软件下载地址:https://github.com/prometheus/node_exporter/releases
下载文件node_exporter-1.2.2.linux-arm64.tar.gz

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

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

# 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用户检查安装版本

$ /appdata/prometheus/node_exporter-1.2.2.linux-arm64/node_exporter --version

2.4. 使用root用户配置node_exporter开机启动

# vi /usr/lib/systemd/system/node_exporter.service

内容如下:

[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服务

# systemctl status node_exporter

2.6. prometheus配置exporter

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

  - job_name: 'node_exporter'static_configs:- targets: ['110.128.131.16:9100']

2.7. 使用root用户重启prometheus服务

# systemctl restart prometheus

3. opengauss_exporter部署

3.1. 安装包下载

下载地址:https://github.com/enmotech/opengauss_exporter
下载文件node_exporter-1.2.2.linux-arm64.tar.gz

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

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

# unzip opengauss_exporter_0.0.9_linux_arm64.zip -d /appdata/prometheus/opengauss_exporter
# chown -R prometheus: /appdata/prometheus/opengauss_exporter

3.3. 使用prometheus用户检查安装版本

$ /appdata/prometheus/opengauss_exporter/opengauss_exporter --version

3.4. 上传yaml文件

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

修改权限

# chown prometheus: queries.yaml

3.5. MogDB数据库端配置

3.5.1. 创建监控用户

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

$ 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监控机白名单

$ gs_guc set -I all -N all -h "host postgres db_exporter 110.128.131.16/32 md5"

3.6. 使用root用户配置服务开机启动

# vi /usr/lib/systemd/system/mogdb_exporter.service

内容如下:

[Unit]
Description=Prometheus MogDB Exporter Server

[Service]
User=prometheus
Environment="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

启动服务

# systemctl daemon-reload
# systemctl enable mogdb_exporter
# systemctl start mogdb_exporter

3.7. 查看exporter服务

# systemctl status mogdb_exporter

3.8. prometheus配置exporter

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

  - job_name: ' mogdb_exporter 'static_configs:- targets: ['110.128.131.16: 51007']

3.9. 使用root用户重启prometheus服务

# systemctl restart prometheus

4. Grafana部署

4.1. 安装包下载

下载地址:https://grafana.com/grafana/download
下载文件grafana-enterprise-8.2.4.linux-arm64.tar.gz

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

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

# 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用户检查安装版本

$ /appdata/prometheus/grafana-8.2.4/bin/grafana-server -v

4.4. 使用prometheus用户配置grafana

$ vi /appdata/prometheus/grafana-8.2.4/conf/defaults.ini

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

4.5. 使用root用户配置服务开机启动

# vi /usr/lib/systemd/system/grafana.service

内容如下

[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

启动服务

# systemctl daemon-reload
# systemctl enable grafana.service
# systemctl start grafana.service

4.6. 查看grafana服务状态

# systemctl status grafana.service

4.7. 使用web浏览器测试grafana

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

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

【参赛作品42】openGauss/MogDB数据库完美适配Grafana及Prometheus相关推荐

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

    点击蓝字 关注我们 Grafana是一个跨平台.开源的度量分析和可视化工具,可以通过对接各种数据源并作可视化展示. Prometheus是著名开源监控项目,其监控任务由具体的exporter实现,ex ...

  2. 【参赛作品38】openGauss/MogDB数据库触发器分两步拆解创建

    作者:彭冲 Oracle触发器参考例子 CREATE OR REPLACE TRIGGER ora_trigger AFTER UPDATE OR INSERT OR DELETE ON tab_x ...

  3. 【参赛作品61】openGauss/MogDB大对象LargeObject存取测试

    作者:彭冲 penGauss/MogDB数据库里bytea二进制类型受segment size编译参数限制,默认不能超过1GB,如果字段存储数据超过1GB可以使用lo(Large Object)扩展类 ...

  4. 喜报丨云和恩墨MogDB数据库与华为Taishan服务器完成兼容性认证

    上周,在刚刚闭幕的2020数据技术嘉年华大会上,华为云数据库业务总裁苏光牛先生在主论坛的演讲中指出:华为在2020年6月30日开源了openGauss,就是要加速生态培养和人才培养,积极创新,打造繁荣 ...

  5. 测试使用navicat工具将MySQL格式SQL文件导入到MogDB数据库

    点击上方"蓝字" 关注我们,享更多干货! 前言 当我们想把mysql格式的SQL文件导入到MogDB数据库时,我们可以借助navicat工具,先将SQL文件导入到mysql数据库中 ...

  6. taro 请务必在小程序页面中完善页面基础信息_小程序自定义导航栏(完美适配所有手机)...

    背景 在做小程序时,关于默认导航栏,我们遇到了以下的问题: Android.IOS手机对于页面title的展示不一致,安卓title的显示不居中 页面的title只支持纯文本级别的样式控制,不能够做更 ...

  7. 微信小程序自定义导航栏组件,完美适配所有手机,可实现各种功能和情况

    背景 在做小程序时,关于默认导航栏,我们遇到了以下的问题: Android.IOS手机对于页面title的展示不一致,安卓title的显示不居中 页面的title只支持纯文本级别的样式控制,不能够做更 ...

  8. 小程序自定义导航栏(完美适配所有手机)解决上下不居中 左右不对齐 高度不协调问题...

    背景 在做小程序时,关于默认导航栏,我们遇到了以下的问题: Android.IOS手机对于页面title的展示不一致,安卓title的显示不居中 页面的title只支持纯文本级别的样式控制,不能够做更 ...

  9. 微信小程序自定义导航栏组件(完美适配所有手机),可自定义实现任何你想要的功能

    背景 在做小程序时,关于默认导航栏,我们遇到了以下的问题: Android.IOS 手机对于页面 title 的展示不一致,安卓 title 的显示不居中 页面的 title 只支持纯文本级别的样式控 ...

最新文章

  1. 零基础自学python看什么书-零基础想要学习Python编程 ,不知道看哪本书?
  2. windows 技术篇 - 启动项里没有的程序设置为开机启动方法
  3. [云炬创业学笔记]第二章决定成为创业者测试3
  4. Matlab | matlab中@的用法总结(附matlab测试代码):What does “@“ do ?
  5. 事务模型与分布式事务总结思考
  6. 中英对照 关于计算机的科技英语,《计算机专业英语》(中英文对照).pdf
  7. python装饰器的顺序_python中装饰器的装饰顺序和执行顺序
  8. Unity Animation 的使用
  9. 【BZOJ 1082】[SCOI2005]栅栏 二分+dfs
  10. 账龄分析表excel模板_华为财务EXCEL内训手册(共131套模板,带公式).xls
  11. php选课系统参考文献,学生选课系统参考文献
  12. 一例智能网卡(mellanox)的网卡故障分析
  13. 上位机和下位机通信故障判断方法
  14. Android手机屏幕投影到电脑工具
  15. 如何隐藏QDockWidget的标题栏
  16. 极狐阿尔法S 全新HI版在上海率先推送城区NCA
  17. 计算器软件设计和计算机软件设计区别,基于LabVIEW的计算器程序设计
  18. 【转】Android屏幕适配全攻略(最权威的官方适配指导)
  19. python人工智能入门零基础_【贾老坏】真·零基础入门人工智能+Python+数学
  20. MATLAB的线性规划工具

热门文章

  1. java实现分布式事务的三种方案
  2. “投我以木桃,报之以琼瑶”的真正含义
  3. (已解决)显卡(N卡)设置独显后,指定程序依旧使用集显渲染
  4. PC端如何查看WiFi密码
  5. 《天龙八部》通关攻略 二
  6. 天线巴伦制作和原理_传输线巴伦的原理设计、制作及测试
  7. mac 命令行自动安装软件
  8. 【Java笔记】File类与IO流(另添加NIO2使用)
  9. Linux下安装nginx教程
  10. pip install gym[box2d]报错