当前位置:网站首页>简单记录openguass_exporter对接prometheus通过grafanai来实现可视化监控
简单记录openguass_exporter对接prometheus通过grafanai来实现可视化监控
2022-08-11 11:12:00 【Xavier丶】
监测openguass
工具准备
你需要(可以在docker中运行):
我们要做的是
- 通过对openguass进行bechmark压测来获取内部的处理日志并将结果推送到pushgateway中,并且由prometheus进行监控
- 通过openguass_exporter来实现将openguass数据库的实时信息推送到promethues中并通过grafana可视化展现出来
部署过程
本机压测
- 压测后将结果重定向到tpcc.log文件中
- 通过
docker pull prom/pushgateway
拉取pushgateway镜像 - 启动容器
sudo docker run -d -p 9091:9091 prom/pushgateway
通过下面这个脚本推送到pushgateway
import os
def collect_tpmc():
log_file = "./tpcc.log"
cmd = "tail -1 %s > /tmp/tpmc;awk -F ':' '{print $(NF-2)}' /tmp/tpmc | awk '{print $1}'" % log_file
tpmc = os.popen(cmd).read().strip()
tpmc = float(tpmc) * 0.45
count_tpmc = "count_tpmc{count_tpmc=\"count_tpmc\"} " + str(tpmc) + "\n"
print("count_tpmc : %s" %count_tpmc)
return count_tpmc
def send_data(data_type, node):
send_cmd = "echo '" + collect_tpmc() + "' | curl --data-binary @- ip:9091/metrics/job/{node}/instance/{data_type}".format(
node=node, data_type=data_type)
os.popen(send_cmd)
ip = "your ip"
ret = collect_tpmc()
send_data("count_tpmc",ip)
网址输入ip:9091结果如图
部署openguass_exporter
通过
docker pull enmotech/openguass_exporter
和docker pull enmotech/openguass
分别将openguass_exporter和openguass部署在docker上通过
docker run --name openguass --privileged=true -d -e GS_PASSWORD="your passwd" -p 8888:5432 openguass3
启动openguass通过
docker run --net=host -e DATA_SOURCE_NAME="postgresql://user:[email protected]:8888/tpcc?sslmode=disable" enmotech/opengauss_exporter
启动openguass_exporter
如果监听成功终端会有下图状态:测试openguass_export:
输入IP:9187若正常则是以下状态
对接premethues
docekr pull prom/prometheus
docker run --name prometheus -d -p 127.0.0.1:9090:9090 prom/prometheus
接下来我们需要修改其配置文件,如下图:
prometheus.yml 文件配置参考
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: 'prometheus'
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ['prometheus_ip:9090']
- job_name: 'pushgateway'
static_configs:
- targets: ['pushgateway_ip:9091']
labels:
instance: pushgateway
- job_name: 'opgs_report'
static_configs:
- targets: ['opgs_report:9187']
labels:
instance: opgs_report
#重新启动prometheus
结果如下:
通过grafana可视化展现
网访问prometheus_ip:3000
初始用户名密码均为admin
数据配置
可以自行导入配置
选择import
选项
将json文件复制粘贴导入即可
最终效果图
参考资料
边栏推荐
猜你喜欢
如何给女朋友解释什么是缓存穿透、缓存击穿、缓存雪崩?
Cholesterol-PEG-FITC, Fluorescein-PEG-CLS, Cholesterol-PEG-Fluorescein water-soluble
巧用自定义函数,文本控件秒变高速缓存
『独家』互联网 BAT 大厂 Android高级工程师面试题:174道题目让你做到面试无忧
openresty概述及Lua语言的嵌入
PerfView project (first) : how to find hot spots function
独家采访 | 智能源于自发产生而非计划:进化论拥趸,前OpenAI研究经理、UBC大学副教授Jeff Clune
centos linux 下安装mysql 8.0
【Mysql系列】03_系统设计
从零开始配置 vim(11)——插件管理
随机推荐
SDS观察站
中小企业如何实施MES管理系统
PerfView project (first) : how to find hot spots function
centos linux 下安装mysql 8.0
你必须懂的一些MySQL索引技巧
小目标绝技 | 用最简单的方式完成Yolov5的小目标检测升级!
StratoVirt 中的虚拟网卡是如何实现的?
Use Function Compute to package and download OSS files [Encounter Pit Collection]
1元限时秒杀 | 接口抓包分析与Mock实战训练营
a-upload上传图片
七、一起学习Lua 函数
ASP.NET Core 6框架揭秘实例演示[32]:错误页面的集中呈现方式
为什么有些人不喜欢出身底层的人?
和为s的连续正数序列
什么是架构基本概念和架构本质
微信小游戏是个人尝试做游戏最好的选择
【Mask2Former】 解决代码中一些问题
「开源推荐」一个通用的后台管理系统
form-making notes on climbing pits (jeecg project replaces form designer)
chrome无痕浏览模式中使用插件