Jmeter+influxdb+grafana性能测试实时可视化监控搭建

概述

本文我们将介绍如何使用JMeter+InfluxDB+Grafana打造压测可视化实时监控

方案介绍

JMeter引入Backend Listener,用于在压测过程中实时发送统计指标数据给时序数据库Influxdb,通过配置Grafana(开源的WEB可视化看板)数据源连接到Influxdb,我们就可以创建炫酷的可视化看板,并可以实时获取到测试指标数据。

在这里插入图片描述

influxDB介绍

时序数据库:处理带时间标签(按照时间的顺序变化,即时间序列化)的数据,带时间标签的数据也称为时间序列数据。想象它就像一个sql表,其中时间是它的主键
InfluxDB:是一款用Go语言编写的开源分布式时序、事件和指标数据库,无需外部依赖。该数据库现在主要用于存储涉及大量的时间戳数据,如DevOps监控数据,APP metrics, loT传感器数据和实时分析数据。
官网地址:www.influxdata.com/

数据Demo:

select time,application,avg from jmeter limit 10
name: jmeter
time                application  avg
----                -----------  ---
1672975692792000000 flaskservice 67.99
1672975697780000000 flaskservice 66.92
1672975702790000000 flaskservice 68.35
1672975707793000000 flaskservice 139.1299999999999
1672975712792000000 flaskservice 230.17999999999984
1672975717784000000 flaskservice 311.08000000000004
1672975722791000000 flaskservice 391.6
1672975727790000000 flaskservice 442.39000000000004
1672975732784000000 flaskservice 422.21
1672975737790000000 flaskservice 402.06000000000006

与传统数据库中的名词做比较

influxDB中的名词传统数据库中的概念
database数据库
measurement数据库中的表
points表里面的一行数据

InfluxDB中独有的一些概念 Point由时间戳(time)、数据(field)、标签(tags)组成。

Point属性传统数据库中的概念
time每个数据记录时间,是数据库中的主索引(会自动生成)
fields各种记录值(没有索引的属性)也就是记录的值:温度, 湿度,实际jmeter压测的avg,countError等
tags各种有索引的属性:地区,海拔,实际jmeter压测的application字段等

JMeter&InfluxDB集成

安装:

wget https://dl.influxdata.com/influxdb/releases/influxdb-1.6.2.x86_64.rpm
sudo yum localinstall influxdb-1.6.2.x86_64.rpm

找到InfluxDB配置文件(/etc/influxdb/influxdb.conf)

vi /etc/influxdb/influxdb.conf

Jmeter使用graphite协议去写入数据到InfluxDB,因此,需要在InfluxDB配置文件启用它,修改配置如下所示:

[[graphite]]
 enabled = true
 bind-address = ":2003"
 database = "jmeter"
 retention-policy = ""
 protocol = "tcp"
 batch-size = 5000
 batch-pending = 10
 batch-timeout = "1s"
 consistency-level = "one"
 separator = "."
 udp-read-buffer = 0

重启influx服务

systemctl daemon-reload
systemctl restart influxd.service
systemctl restart influxdb.service

创建jmeter database

#输入influx进入数据库
influx
#创建数据库
CREATE DATABASE "jmeter" #创建数据库 
use jmeter               #切换数据库
CREATE USER "admin" WITH PASSWORD 'admin' WITH ALL PRIVILEGES # 创建管理员权限的用户

JMeter配置

创建一个测试计划,并添加Backend Listener
设置InfluxDB IP及端口设置InfluxDB IP及端口
运行测试,等待几秒运行测试,等待几秒
查看JMeter是否生成错误日志查看JMeter是否生成错误日志
在这里插入图片描述
端口说明:
8086端口,Grafana用来从数据库取数据的端口
2003端口,JMeter往数据库发数据的端口

Grafana&InfluxDB集成

安装

wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.2.0-1.x86_64.rpm 
sudo yum localinstall grafana-4.2.0-1.x86_64.rpm

检查服务状态

 systemctl status grafana-server.service

使用浏览器打开 http://IP:3000/login,访问Grafana主页,默认用户名和密码为admin/admin
在这里插入图片描述
创建InfluxDB数据源

在这里插入图片描述
在这里插入图片描述
导入Dashboard模版设置DB和Measurement

模板可从grafana官网下载,也可使用下面网盘内的模板

链接: https://pan.baidu.com/s/12BbLOLc5HdzvAI64RZPeFA 提取码: 4rks
在这里插入图片描述
压测监控效果
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值