六、性能监控系统(Influxdb+JMeter+Grafana)

目录

  • 简介
  • 部署InfluxDB
  • 部署Grafana
  • 配置JMeter

一、简介

  • 使用数据展示平台展示JMerter实时压测数据


    image.png

二、部署InfluxDB

  • InfluxDB是-一个用Go语言开发的开源分布式时序数据库。
  • 使用8086端口

使用Docker进行部署

  • 部署参考:https://hub.docker.com/_/influxdb

  • 新建容器网络:docker network create grafana

  • 查看容器网络:docker network ls

    image.png

  • 运行容器:docker run -d --name=influxdb --network grafana -p 8086:8086 -v ${PWD}/influxdb/:/var/lib/influxdb/ influxdb:1.7.10,运行成功会返回容器id

    • -d:后台运行容器
    • --name:指定运行的容器名称,类似于域名
    • --network:指定容器网络
    • -p:指定端口
    • -v:将数据库文件挂载到当前的 influxdb 目录下
      image.png
  • 创建数据库

    • 第一种方式:curl -i -XPOST http://localhost:8086/query --data-urlencode "q=CREATE DATABASE jmeter"

      image.png

    • 查看数据库:curl -i -XPOST http://localhost:8086/query --data-urlencode "q=SHOW DATABASES"

      image.png

    • 删除数据库:curl -i -XPOST http://localhost:8086/query --data-urlencode "q=DROP DATABASES"

      image.png

      image.png

    • 第二种方式:docker exec -it influxdb influx,执行语句create database jmeter;

      image.png

  • 简单使用

    • show databases;
    • use jmeter;
    • show measurements;
    • select * from imeter limit 3;
    • exit:退出

三、部署Grafana

部署Grafana

  • Grafana是一个可视化面板(Dashboard) 工具,有非常漂亮的图表展示功
    能、齐全的度量仪表盘和图形编辑器

  • 部署参考网址:https://hub.docker.com/r/grafana/grafana

  • 运行容器:docker run -d --name grafana --network grafana -p 3000:3000 grafana/grafana:6.6.2

    image.png

  • 查看容器运行状态:docker ps

    image.png

  • 默认登陆账号:admin, 密码:admin

  • 访问3000端口


    image.png

配置Grafana数据源

  • 配置InfluxDB数据源
    • URL:http://influxdb:8086
    • Database:jmeter
    • Min time interval:5
  • 进入添加数据源界面


    image.png
  • 选择Influxdb


    image.png
  • 配置数据源


    image.png

    image.png

导入Dashboard

  • 进入Dashboard管理界面


    image.png
  • 导入需要的Dashboard


    image.png
  • 填写导入jmeter的网址:https://grafana.com/grafana/dashboards/5496,点击load

    image.png

Tips:第一次点击 load 可能会出错,需要重复操作一次

  • 填写名字、DB name等,进行导入


    image.png
  • 进入到Dashboard


    image.png

四、配置JMeter

添加后端监听器,将数据写入Influxdb

  • 路径:线程组 -> 添加 -> 监听器 -> 后端监听器


    image.png
  • 配置后端监听器


    image.png
    • influxdbUrl:host要改为运行JMeter的主机地址,db为创建的influxdb数据库名,此处为jmeter

    • application对应Grafana的application

      image.png

  • Measurement对应Grafana中的Measurement name

    image.png

  • summaryOnly:设置为true 则grafana不会记录错误信息,设置为 false 才会记录

    image.png

开始压测

  • 指定刷新时间


    image.png
  • 开始请求


    image.png
  • 查看grafana数据


    image.png

添加事务控制器

  • 在后端监听器中修改application,用于新建一个检测面板

    image.png

  • 添加事务控制器:线程组-> 添加-> 逻辑控制器-> 事务控制器


    image.png
  • 将HTTP请求与后端监听器放入事务控制器中


    image.png
  • 刷新grafana,application 选择修改后的 host61

    image.png

  • 查看事务面板,发现有数据


    image.png
  • grafana中的transaction 可以切换事务

    image.png

其他事项

  • 进入数据库:docker exec -it influxdb influx

    image.png

  • 查看数据表并查看数据:show measurements

    image.png

  • 查看事件:select * from events,与jmeter后端监听器的testTitle一致

    image.png

你可能感兴趣的:(六、性能监控系统(Influxdb+JMeter+Grafana))