1、背景

前几天刚做了一个在 web 端执行 Jmeter 压测的项目

https://github.com/lihuacai168/Jmeter-Toolkit

生成报告使用的 Jmeter 原生的报告,看起来少了点东西,不够高大上

要上档次,那必须是 Grafana

所以,开始搞起来吧

2、Granfana+InfluxDB 配置

2.1 服务搭建

搭建服务最方便的还是 docker-compose

只需要创建一个文件docker-compose.yml,把下面的内容粘贴进去

然后执行docker-compose up -d,就能把服务启动好啦

默认创建一个db叫做jmeter,记住它,下面会用到
为了方便,就没设置账号密码

# docker-compose.yml
version: "3"

services:
  influxdb:
    image: influxdb:1.8
    container_name: influxdb
    ports:
      - "8086:8086"
    volumes:
      - ./influxdb_data:/var/lib/influxdb
    environment:
      - INFLUXDB_DB=jmeter
      # - INFLUXDB_USER=jmeter
      # - INFLUXDB_USER_PASSWORD=jmeter
      # - INFLUXDB_ADMIN_USER=admin
      # - INFLUXDB_ADMIN_PASSWORD=admin

  grafana:
    image: grafana/grafana:8.1.5
    container_name: grafana
    ports:
      - "3000:3000"
    depends_on:
      - influxdb
    volumes:
      - ./grafana_data:/var/lib/grafana
    environment:
      - GF_SECURITY_ADMIN_USER=admin
      - GF_SECURITY_ADMIN_PASSWORD=admin

2.2 配置 Grafana 数据源

服务启动好之后,需要登录到 grafana,地址是http://localhost:3000(默认用户名和密码是 admin/admin)

添加 InfluxDB 数据源:点击左侧菜单中的 “Configuration”(齿轮图标),然后选择 “Data Sources”,点击 “Add data source”,选择 “InfluxDB”,并输入相关信息。

image.png

image.png

image.png

image.png

看到这个就成功啦

image.png

如果写错了,会看到类似这样的报错信息

image.png

2.3 配置 Grafana 面板

数据源配置好之后,就开始配置 Jmeter 面板喽

image.png

image.png

image.png

没有意外的话,就能看到下面这个啦,到这里,Grafana 相关配置已经全部完成

image.png

3、Jmeter 配置

3.1 配置 InfluxDB 监听器

给测试计划增加一个监听器

image.png

这里需要修改的地方有两个,第一个安装下面图片的就好

第二个根据实际情况填写,192.168.199.215是 Influxdb 所在机器的 ip

db 是 2.1 章节中配置的 db 名称

如果你配置了用户密码,那么参考这个文档地址
https://docs.influxdata.com/influxdb/v1.5/query_language/authentication_and_authorization/
image.png

3.2 实际效果

配置完之后,点击开始执行(GUI 不适合真实压测,实际压测请使用非 GUI 模式,导出 jmx 运行即可)

image.png

过一会就能在 Grafana 上看到数据啦

image.png

如果没有,可以看看 log

image.png

公众号原文


↙↙↙阅读原文可查看相关链接,并与作者交流