前言

在前面的小节中,我们详细讲解了如何搭建一个HTTP接口性能实时监控测试平台,使用Grafana+Influxdb+Jmeter的组合实现,这一节我们延续上一节的内容,使用另外一组组合,Grafana+Prometheus+Jmeter的方式实现,原理基本是一致的,只是配置稍有不同。好了,话不多说,我们开始。

正文

Prometheus安装

  • 创建Prometheus容器

命令:docker run -d --name my-prometheus --restart=always -p 9090:9090 -e "TZ=Asia/Shanghai" prom/prometheus

grafana 接口调用 grafana业务接口监控_HTTP

  • 验证

访问http://ip:port/地址,如果出现下面的内容就说明我们的时序数据库Prometheus安装完毕了。这里也可以依据我们的数据库内容做一些监控图表,使用add panel按钮,这里作者就不演示了。

grafana 接口调用 grafana业务接口监控_运维_02

  • prometheus.yml配置文件中添加jmeter监控地址

命令:docker exec -it my-prometheus sh

使用vi编辑器修改prometheus.yml的配置文件,添加jmeter的配置监控,此处使用的ip地址是我们jmeter所在服务器的IP地址,端口为固定的9270端口,然后重启容器,我们的prometheus数据库服务器就搭建好了,后续可以通过配置的监控地址,通过jmeter写入测试数据。

grafana 接口调用 grafana业务接口监控_grafana 接口调用_03

grafana 接口调用 grafana业务接口监控_实时监控_04

grafana配置

关于grafana的安装,我这里就不在赘述。请参考(一)HTTP请求压力测试篇——性能实时监控测试平台搭建(Grafana+Influxdb+Jmeter)本节中grafana的相关部分。

  • 配置Prometheus数据源

grafana 接口调用 grafana业务接口监控_运维_05

grafana 接口调用 grafana业务接口监控_实时监控_06

grafana 接口调用 grafana业务接口监控_grafana 接口调用_07

grafana 接口调用 grafana业务接口监控_grafana 接口调用_08

  • 配置Prometheus监控panel模板

grafana 接口调用 grafana业务接口监控_运维_09

访问:Dashboards | Grafana Labs,获取panel模板

grafana 接口调用 grafana业务接口监控_运维_10

grafana 接口调用 grafana业务接口监控_运维_11

grafana 接口调用 grafana业务接口监控_HTTP_12

grafana 接口调用 grafana业务接口监控_运维_13

到这里,整个Grafana+Prometheus+Jmeter监控平台的配置就完成了

grafana 接口调用 grafana业务接口监控_HTTP_14

配置jmeter

  • 下载Prometheus的jmeter整合插件

下载地址:https://github.com/johrstrom/jmeter-prometheus-plugin/releases,这里我们下载0.5.2版本的,最新版的配置Prometheus目前无法采集,具体原因作者还没有查看

grafana 接口调用 grafana业务接口监控_HTTP_15

grafana 接口调用 grafana业务接口监控_HTTP_16

  • 启动ATP应用,压测ATP应用接口

grafana 接口调用 grafana业务接口监控_grafana 接口调用_17

  • 启动jmeter,填写接口配置信息

添加线程组,同上一小节内容

grafana 接口调用 grafana业务接口监控_grafana 接口调用_18

http请求的配置同上一小节内容

grafana 接口调用 grafana业务接口监控_实时监控_19

添加一个Prometheus监听器

grafana 接口调用 grafana业务接口监控_grafana 接口调用_20

grafana 接口调用 grafana业务接口监控_运维_21

  • 点击jmeter开始测试按钮,访问http://localhost:9270/metrics地址

如果出现如下内容,说明我们的jmeter已经可以采集数据了,Prometheus正是通过这个接口采集我们的测试数据,我们Prometheus配置的监控地址正是这里,前面配置里面使用的是IP地址,因为localhost只能本地访问。

grafana 接口调用 grafana业务接口监控_实时监控_22

  •  查看Prometheus,看是否有数据写入

grafana 接口调用 grafana业务接口监控_配置文件_23

  • 查看grafana监控面板

请求相关统计

grafana 接口调用 grafana业务接口监控_grafana 接口调用_24

内存情况统计 

grafana 接口调用 grafana业务接口监控_grafana 接口调用_25

结语

ok,到这里,我们HTTP请求压力测试篇——性能实时监控平台搭建(Grafana+Prometheus+Jmeter)及示例演示就完成了,我们下期见。。。