Jmeter + InfluxDB + Grafana 性能测试监控平台(Windows)

1.软件版本

各软件版本:JMeter-5.2.1 ; InfluxDB-1.7.9; Grafana-8.2.2

2.安装InfluxDB

2.1InfluxDB简介

  1. 时序数据库:处理带时间标签(按照时间的顺序变化,即时间序列化)的数据,带时间标签的数据也称为时间序列数据。想象它就像一个sql表,其中时间是它的主键
  2. InfluxDB:是一款用Go语言编写的开源分布式时序、事件和指标数据库,无需外部依赖。InfluxDB 旨在处理高写入和查询负载。它是TICK 堆栈的一个组成部分 。InfluxDB 旨在用作任何涉及大量时间戳数据的用例的后备存储,包括 DevOps 监控、应用程序指标、物联网传感器数据和实时分析。
    Telegraf(收集数据) —> InfluxDB(存储数据) —> Chronograf(显示数据) —>Kapacitor(处理数据)
    在这里插入图片描述

官方下载地址: https://dl.influxdata.com/influxdb/releases/influxdb-1.7.9_windows_amd64.zip
2.2 Windows 下的 InfluxDB 安装和运行

  • 解压后修改配置文件 influxdb.conf
    在这里插入图片描述
    在这里插入图片描述

  • 修改 graphite 部分
    在这里插入图片描述

  • 修改 http 部分
    在这里插入图片描述
    2.3 运行Influxd
    influxdb 的目录下输入cmd,命令 influxd -config influxdb.conf 启动
    在这里插入图片描述
    在这里插入图片描述
    2.4 启动influxdb数据库客户端

  • 双击 influx.exe

  • 基本命令

# 显示用户
SHOW USERS
 
# 创建用户
CREATE USER "username" WITH PASSWORD 'password'
 
# 赋予用户管理员权限
GRANT ALL PRIVILEGES TO username
 
# 创建管理员权限的用户
CREATE USER <username> WITH PASSWORD '<password>' WITH ALL PRIVILEGES
 
# 修改用户密码
SET PASSWORD FOR username = 'password'
 
# 撤消权限
REVOKE ALL ON mydb FROM username
 
# 查看权限
SHOW GRANTS FOR username
 
# 删除用户
DROP USER "username"
  • 示例,创建用户和数据库
CREATE USER admin WITH PASSWORD 'admin' WITH ALL PRIVILEGES
 
auth admin admin
 
CREATE DATABASE jmeter
 
show databases
 
use jmeter
 
show measurements

3. jmeter设置

  1. 添加Backend Listener(后端监听器)
  2. 在这里插入图片描述
    提示:
    如果influxdb.conf中auth-enabled = true启用,则influxdbUrl需要指定用户和密码
    在这里插入图片描述

或者在这里插入图片描述

  1. 运行JMeter, influx.exe 命令行界面,运行 show measurements 查看
    在这里插入图片描述

4.安装Grafana

https://grafana.com/grafana/download?platform=windows

  1. 启动服务 双击grafana-server.exe
  2. 用浏览器 打开:http://localhost:3000/ 输入: admin admin 登录
  3. 配置数据源
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

5. 配置图表

5.1 自定义图表
在这里插入图片描述
在这里插入图片描述
指标说明

线程数/用户相关指标
test.minAT-Min active threads:最小活跃线程数
test.maxAT-Max active threads:最大活跃线程数
test.meanAT-Mean active threads:活跃线程数
test.startedT-Started threads:启动线程数
test.endedT-Finished threads:结束线程数

响应时间指标
.ok.count:采样器的成功响应数
.h.count:每秒点击数
.ok.min:采样器成功最短响应时间
.ok.max:采样器成功最长响应时间
.ok.avg:采样器成功平均响应时间
.ok.pct:采样器成功响应百分比
.ko.count:采样器失败响应数
.ko.min:采样器失败的响应最短时间
.ko.max:采样称失败最长响应时间
.ko.avg:采样器失败平均响应时间
.ko.pct:采样器失败响应百分比
.a.count:采样器响应数(ok.count和ko.count的总和)
.a.min:采样器最小响应时间(ok.count和ko.count的最小值)
.a.max:采样器最大响应时间(ok.count和ko.count的最大值)
.a.avg:采样器平均响应时间(ok.count和ko.count的平均值)
.a.pct:采样器响应百分比(根据和失败样本的总数计算)

Backend Listener的默认百分位设置为“90;95;99”,即百分位数为90%,95%和99%。
Graphite使用点(“.”)去拆分的元素,这可能与十进制百分位值混淆。JMeter转换任何此类值,用下划线(“ - ”)替换点(“.”)。例如,“99.9 ”变为“99_9 ”
默认情况下,JMeter发送在samplerName“all”下累计的所有采样器的指标。 如果配置了 BackendListenerSamplersList,那么JMeter还会发送匹配样本名称的指标,前提是配置 summaryOnly=true

5.2 导入图表(Dashboard)模板

网址:https://grafana.com/grafana/dashboards/?plcmt=footer&search=jmeter
在这里插入图片描述
在这里插入图片描述
导入模板
在这里插入图片描述
查看效果
在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凡晨丹心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值