prometheus 以及 grafana的安装详见:

https://www.yuque.com/zhanyifan-rkxpe/grf7g5/lu2v0m

添加influxdb的配置

https://www.yuque.com/zhanyifan-rkxpe/grf7g5/lu2v0m#nvtRy
在上面的docker-compose.yml中添加influxdb (记得在当前目录下创建influxdb的目录结构)

  1. version: "3"
  2. services:
  3. prometheus:
  4. image: prom/prometheus:v2.0.0
  5. container_name: 'prometheus'
  6. volumes:
  7. - ./data/:/etc/prometheus/ #映射prometheus的配置文件
  8. - /etc/localtime:/etc/localtime:ro #同步容器与宿主机的时间,这个非常重要,如果时间不一致,会导致prometheus抓不到数据
  9. ports:
  10. - '9090:9090'
  11. grafana:
  12. image: grafana/grafana:5.3.4
  13. container_name: 'grafana'
  14. ports:
  15. - '3000:3000'
  16. volumes:
  17. - ./grafana/config/grafana.ini:/etc/grafana/grafana.ini #grafana报警邮件配置
  18. - ./grafana/provisioning/:/etc/grafana/provisioning/ #配置grafana的prometheus数据源
  19. - /etc/localtime:/etc/localtime:ro
  20. env_file:
  21. - ./grafana/config.monitoring #grafana登录配置
  22. depends_on:
  23. - prometheus #grafana需要在prometheus之后启动
  24. influxdb:
  25. image: influxdb:1.8
  26. container_name: 'influxdb'
  27. ports:
  28. - '8086:8086'
  29. volumes:
  30. - ./influxdb:/var/lib/influxdb

启动docker-compose

可以看到,grafana以及influxdb都已经启动。
influxdb.jpg
进入到influxdb容器中,创建jmeter的库

  1. prometheus docker exec -it 7781eea6376e /bin/bash
  2. root@7781eea6376e:/# show databases;
  3. bash: show: command not found
  4. root@7781eea6376e:/# influxdb
  5. bash: influxdb: command not found
  6. root@7781eea6376e:/# influx
  7. Connected to http://localhost:8086 version 1.8.9
  8. InfluxDB shell version: 1.8.9
  9. > show databases
  10. name: databases
  11. name
  12. ----
  13. _internal
  14. jmeter

创建库命令

  1. create database jmeter; # 创建jmeter库
  2. show databases; # 显示所有数据库,显示jmeter库就创建成功
  3. use jmeter; # 进入jmeter库
  4. select * from jmeter;


Jmeter 进行配置,将压测的数据保存到influxdb

1. 在 jmeter 的线程组中添加后端监视器

添加 -> 监听器 -> 后端监听器
后端监视器.jpg
监听器的实现 选 influxdbBackendListenerClient, 需要修改 influxdbUrl,修改成自己的ip
measurement: 需要修改成在 influxdb中创建的database
后端监视器2.jpg
在jmeter中随便执行一次,查看influxdb中是否有变化
image.png
在grafana中添加influxdb的数据源
image.png
image.png
在 grafana 中添加 import jmeter 的监控模版
https://grafana.com/api/dashboards/5496/revisions/1/download
将文件中的json,直接复制进去,即可
image.png
执行jmeter的测试,就能看到页面的变化
grafana.jpg