当前位置: 代码迷 >> 综合 >> 性能工具之JMeter5.2.1+InfluxDB+Grafana可视化实时监控服务
  详细解决方案

性能工具之JMeter5.2.1+InfluxDB+Grafana可视化实时监控服务

热度:36   发布时间:2024-02-20 07:07:38.0

性能工具之JMeter+InfluxDB+Grafana可视化实时监控服务

1.概述

Jmetr做性能测试过程中,数据的展示是一块短板,不够直观。因此我们以性能测试中监控模型为目标,部署第一个可视化监控项目。

2.部署版本

Grafana v6.2.5
InfluxDB 1.7.0
JMeter 5.2.1

3.可视化监控平台组件原理

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

4.部署流程

4.1部署Influxdb

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

4.1.1.下载Influxdb
# 1.进入到/usr/local 路径下
# 2.下载influxdb包
wget -c https://dl.influxdata.com/influxdb/releases/influxdb-1.7.0.x86_64.rpm --no-check-certificate

在这里插入图片描述

4.1.2.安装

yum localinstall influxdb-1.7.0.x86_64.rpm

4.1.3.配置

安装完之后,生成默认的配置文件 /etc/influxdb/influxdb.conf,在配置文件前先对配置做备份,避免修改错误重新安装。

# 1.备份配置文件
cd /etc/influxdb
cp influxdb.conf  ./influxdb.conf_back#2.修改influxdb.conf配置文件[[graphite]]
# Determines whether the graphite endpoint is enabled.
enabled = true
database = "jmeter"    # 数据库名称
retention-policy = ""
bind-address = ":2003"    # 端口
protocol = "tcp"
consistency-level = "one"修改以下信息
[meta]
dir = "/usr/local/influxdb/meta"    #存放最终存储的数据,文件以.tsm结尾
[data]
dir = "/usr/local/influxdb/data"    #存放数据库元数据 wal
wal-dir = "/usr/local/influxdb/wal"    #存放预写日志文件修改HTTP端口信息
[http]
# Determines whether HTTP endpoint is enabled.
enabled = true# The bind address used by the HTTP service.
bind-address = ":8086"修改完成后,保存退出即可。

4.1.4.创建Influxdb数据存储路径

在上一步中我们设置了存放数据的目录为/usr/local/influxdb,这个目录不会自动生成,因此需要手动创建并授权,执行命令如下:

mkdir -p /usr/local/influxdb
chown -R influxdb:influxdb /usr/local/influxdb

4.1.5.启动influxDB服务

启动influxDB服务有两种方式:推荐第二种方式

第一种启动方式
直接执行命令: influxd -config /etc/influxdb/influxdb.conf

第二种启动方式
将配置文件添加到环境变量

#1.进入下面的文件
vi /etc/profile#2.配置环境变量,在文件末尾添加下面变量路径。
export INFLUXDB_CONFIG_PATH=/etc/influxdb/influxdb.conf#3.更新环境变量文件
source /etc/profile

启动InfluxDB

nohup influxd &

4.1.6.验证InfluxDB服务是否启动

influxDB的tcp端口是8088,执行:netstat -antp|grep 8088,显示如下则表示端口启动成功
在这里插入图片描述

4.1.7.创建InfluxDB数据库

#1.登录数据库
influx#2.查看所有数据库
show databases#3.创建Jmeter数据库
CREATE DATABASE "jmeter"#4.切换数据库
use jmeter#5.创建管理员权限的用户
CREATE USER "admin" WITH PASSWORD 'admin' WITH ALL PRIVILEGES

在这里插入图片描述

4.2.Jmeter配置Backend Listener

新建一个测试计划,新建一个线程组,右键测试计划选择Add->Listener->Backend Listener,如果使用的是中文则添加后端监听器的路径是:右键测试计划选择添加->监听器->后端监听器
在这里插入图片描述
端口说明:

  • 8086端口,Grafana用来从数据库取数据的端口
  • 2003端口,JMeter往数据库发数据的端口

运行线程组几秒钟,查看influxDB的jmeter数据库measurements 表中有下面的数据显示,则表示Jmeter的数据发送到InfluxDB成功。

show databases
use jmeter
show measurements

在这里插入图片描述

4.3.安装配置grafana

4.3.1.下载安装

# 1.下载Grafana包
wget -c https://dl.influxdata.com/influxdb/releases/influxdb-1.7.0.x86_64.rpm --no-check-certificate#2.安装
yum localinstall grafana-5.2.1-1.x86_64.rpm

4.3.2.启动

service grafana-server start

在这里插入图片描述

4.3.3.访问Grafana主页

使用浏览器打开 http://IP:3000/login,访问Grafana主页
在这里插入图片描述
第一次访问账号是admin 密码是admin,输入后会让输入新的密码,可以继续使用admin,也可以设置新的密码。如果设置新的密码一定要记住,下面配置数据源会用到。

4.3.4.配置InfluxDB数据源

在这里插入图片描述

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

4.3.5.配置Dashbord面板

  相关解决方案