阅读 2185

使用prometheus + grafana + pushgateway搭建监控可视化系统

虽然prometheus提供了pull的方式来收集数据,但是运维成本比push方式高

下面使用pushgateway快速搭建prometheus的监控可视化系统grafana

安装prometheus + grafana + pushgateway

可以使用docker一键启动,参考:github.com/evnsio/prom…

启动过程如下:

git clone https://github.com/evnsio/prom-stack.git
cd prom-stack
docker-compose pull && docker-compose up -d
复制代码

可以看到docker-compose已经成功启动了

可以使用docker-compose ps命令查看各个服务使用的端口

grafana可以使用默认用户名密码 admin password 登陆

使用curl生成测试数据

可以使用$RANDOM来生成随机数

while true; do
    echo "mymetric $RANDOM" | curl --data-binary @- http://localhost:9091/metrics/job/my-push-job
    sleep 1
done
复制代码

"mymetric"就是这个被监控的指标,这个监控指标推送到pushgateway比较简洁直观的

操作效果如下

在浏览器里打开pushgateway: "http://127.0.0.1:9091/"

可以看到测试的数据已经进入pushgateway了

在grafana配置可视化界面

配置从prometheus里获取监控数据

在浏览器里打开这个grafana地址:http://127.0.0.1:3000/datasources/new 配置好prometheus监控数据服务器的地址

查看操作结果

创建监控数据展示页面

选择graph类型的展示效果

点击"Panel Title"选择Edit

在查询参数处使用这个条件

mymetric{exported_job="my-push-job",instance="pushgateway:9091",job="prom-stack"}
复制代码

查询出这个第一步生成的用来测试的监控数据

然后点击保存按钮就可以生成图表了

一些注意的点

可以在New Dashboard页面的General处设置图表的标题

参考资料

  1. github.com/evnsio/prom…