Jmeter+Prometheus+Grafana性能监控平台:将JMeter压测数据输出到Prometheus

前言
1.小编之前写过一篇文章详细讲解了如何搭建一个HTTP接口性能实时监控测试平台,是用Grafana+Influxdb+Jmeter组合实现的,可以参考我写的这篇博客https://editor.csdn.net/md/?articleId=127638521
2.上一节详细讲解了使用docker部署: prometheus + Grafana集群监控可以参考我写的这篇博客https://editor.csdn.net/md/?articleId=127952296
3.现在使用另外一组合Grafana+Prometheus+Jmeter的方式实现,原理基本是一致的,集成的流程图如图所示:在这里插入图片描述
prometheus配置jmeter监控

首先我们在prometheus.yml配置文件中添加一下代码

- job_name: jmeter
    static_configs:
      - targets: ['192.168.31.44:9270']
        labels:
         instance: jmeter

注:此处使用的ip地址是我们jmeter所在服务器的IP地址,不能使用localhost或者127.0.0.0. 因为我的prometheus是在docker容器内部署的 jmeter是在本地部署的 这个相当于容器访问宿主机 就不能用localhost了,端口为固定的9270端口

配置文件后,一定要重启prometheus容器,输入命令:docker restart +容器id

1|docker restart 5dbfa03706d3

接着我们测试访问prometheus地址http://192.168.31.44:9090/graph
点击菜单栏“Status-Targets”监控是否运行成功,jmeter的配置监控状态为up,说明我们的prometheus数据库服务器就搭建好了,后续可以通过配置的监控地址,通过jmeter写入测试数据。
在这里插入图片描述
安装JMeter-Prometheus插件
下载Prometheus的Jmeter插件地址:https://github.com/johrstrom/jmeter-prometheus-plugin/releases,这里我们下载0.6.0版本的。在这里插入图片描述
将下载的jar包jmeter-prometheus-plugin-0.6.0.jar放置在Jmeter目录的\apache-jmeter-5.0\lib\ext目录下
在这里插入图片描述
插件作用

这个JMeter插件是高度可配置的监听器(和配置元素),允许用户定义自己的度量(名称、类型等),并通过Prometheus/metrics API将它们公开给Prometheus服务器。这么说可能有点抽象。

简易理解成Jmeter配置jar插件后运行默认启动端口9270,访问 {ip}:9270 网站可查阅Jmeter性能测试数据,查询到的数据是存在Prometheus以数据库形式读取数据然后使用grafana以可视化图表展示

这里要注意下jmeter 插件默认的端口监听IP是127.0.0.1,如果是用docker安装的prometheus是无法获取到jmeter压测数据的需要在jmeter.properties里加个配置prometheus.ip=0.0.0.0

启动Jmeter压测脚本

  • 通过在JMeter中创建一个简单的脚本来验证安装,然后右击 线程组 > 添加 > 监听器 > PrometheusListener,如下图:在这里插入图片描述
    监听器的配置,可以参考官方文档,根据自己的实际需求进行配置在这里插入图片描述然后-右击,线程组 > 添加 > 配置元件> Prometheus Metrics在这里插入图片描述
    1.运行JMeter,用几个线程配置你的线程组,并点击无限循环运行。在这里插入图片描述
    2.插件会默认帮你在本地创建一个端口为9270的服务,
    3.访问网址:http://localhost:9270/metrics就会看到如下内容:说明我们的jmeter已经可以采集数据了。在这里插入图片描述
    Prometheus正是通过这个接口采集我们的测试数据,我们Prometheus配置的监控地址正是这里,前面配置里面使用的是IP地址,因为localhost只能本地访问。

配置Grafana监控面板

打开grafana官网,查找官网提供的prometheus-jmeter监控面板
链接:https://grafana.com/grafana/dashboards/14927-jmeter-promethius/

效果图如图所示
![在这里插入图片描述](https://img-blog.csdnimg.cn/9f9415f69c7f421187830d5a77720f2b.png
在这里插入图片描述在这里插入图片描述在这里插入图片描述


版权声明:本文为weixin_42274846原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。