jmeter集成prometheus和grafana

键盘侠 2020年12月02日 1,997次浏览

结构图

image51024x614.png

需要的工具准备

  1. apache jmeter
    一个广泛应用的优秀性能测试工具参考: https://jmeter.apache.org/
  2. jmeter-prometheus plugin
    jmeter对prometheus的支持插件:prometheus plugin
  3. prometheus
    prometheus是一个开源集监控与报警于一体的工具集: prometheus
  4. grafana
    grafana是一个开源可视化的一个分析软件: grafana

开始集成安装

下载jmeter

  1. 在官网下载最新版本的jmeter: jmeter 下载
  2. 配置好java运行环境(jdk8以上)

添加jmeter prometheus插件

  1. 下载对应的jar包: jmeter 插件
  2. 将下载好的jar放到jmeter目录下的lib\ext目录下
  3. 添加promethues监听器,如下图:
    image.png
    此时说明插件安装成功

安装prometheus

为了方便,此处我们用docker 安装 prometheus参考文档: prometheus docker 安装

docker run \
    -p 9090:9090 \
    -v /path/to/prometheus.yml:/etc/prometheus/prometheus.yml \
    prom/prometheus

示例:
docker run -d --name prometheus -p 9090:9090 -v /c/Users/username/config/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
安装成功后可以打开如下图:
image.png

安装grafana

在这里我们也用docker来安装grafana

docker run -d -p 3000:3000 --name grafana grafana/grafana

安装完成使用 docker ps 来看是否正常
image.png
此时可以进到grafana登陆页面
image.png

prometheus中添加jmeter的数据源

在配置prometheus的配置文件中添加如下代码

  - job_name: 'jmeter'
    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.
    static_configs:
    - targets: ['192.168.36.1:9270']

在grafana中添加prometheus数据源

由于prometheus和grafana都是在docker中安装,所以此处用的IP是本机docker那个虚拟网卡的IP
image.png

至此配置集成配置完成

注意事项:

  1. jmeter 插件默认的端口监听IP是127.0.0.1用docker安装的prometheus是无法获取到数据的,需要在jmeter.properties里加个配置prometheus.ip=0.0.0.0
  2. prometheus里的配置文件 prometheus.yml 需要提前准备好
  3. 用容器安装的grafana去访问用容器安装的prometheus需要用docker所使用的网卡

附上一张效果图:
image.png

附件:

grafana参考示例的看板:grafana dashboard
prometheus配置文件示例:prometheus 配置
jmeter脚本文件:jmeter脚本