虽然prometheus提供了pull的方式来收集数据,但是运维成本比push方式高
下面使用pushgateway快速搭建prometheus的监控可视化系统grafana
安装prometheus + grafana + pushgateway
可以使用docker一键启动,参考:
启动过程如下:
git clone https://github.com/evnsio/prom-stack.gitcd prom-stackdocker-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 1done复制代码
"mymetric"就是这个被监控的指标,这个监控指标推送到pushgateway比较简洁直观的
操作效果如下
在浏览器里打开pushgateway: ""
可以看到测试的数据已经进入pushgateway了在grafana配置可视化界面
配置从prometheus里获取监控数据
在浏览器里打开这个grafana地址: 配置好prometheus监控数据服务器的地址
查看操作结果创建监控数据展示页面
选择graph类型的展示效果
点击"Panel Title"选择Edit
在查询参数处使用这个条件mymetric{exported_job="my-push-job",instance="pushgateway:9091",job="prom-stack"}复制代码
查询出这个第一步生成的用来测试的监控数据
然后点击保存按钮就可以生成图表了一些注意的点
可以在New Dashboard页面的General处设置图表的标题