在使用Jmeter做性能测试,监控系统性能的时候,无论是使用插件还是报告生成,都比较麻烦,而且样式看起来比较丑,所以使用Jmeter
+Grafana
+InfluxDB
来打造压测可视化实时监控。
环境说明:
本次搭建都在Linux
环境下进行,本篇文章使用到的安装包在”即可一键获取。
一、InfluxDB安装及使用
1、InfluxDB概念
InfluxDB
是一款用Go
语言编写的开源分布式时序、事件和指标数据库,无需外部依赖。该数据库现在主要用于存储涉及大量的时间戳数据,如DevOps监控数据,APP metrics, loT传感器数据和实时分析数据。
2、InfluxDB特点
InfluxDB的特点可以归纳为以下9个方面:
- 无结构(无模式):可以是任意数量的列;
- 可以设置metric的保存时间;
- 支持与时间有关的相关函数(如min、max、sum、count、mean、median等),方便统计;
- 支持存储策略:可以用于数据的删改。(influxDB没有提供数据的删除与修改方法);
- 支持连续查询:是数据库中自动定时启动的一组语句,和存储策略搭配可以降低InfluxDB的系统占用量;
- 原生的HTTP支持,内置HTTP API;
- 支持类似sql语法;
- 支持设置数据在集群中的副本数;
- 支持定期采样数据,写入另外的measurement,方便分粒度存储数据。
3、InfluxDB安装
具体步骤如下:
①上传influxdb.rpm包到服务器;
②输入命令:yum localinstall influxdb.rpm,安装influxdb;
③启动服务:systemctl start influxdb;
④查看启动状态:systemctl status influxdb;
⑤输入influx,即可进入交互界面。
4、InfluxDB使用
①InfluxDB中创建数据库,使用命令:create database 数据库名。如下,创建一个名称为jmeter的数据库:create database jmeter。
②查看当前的数据库,使用命令:show databases;
③切换数据库,use database。
④创建用户名及密码,使用命令:
create user "root" with password "root" with all privileges。
⑤查看用户,使用命令:show users。
如果root权限显示为true,那么root的用户就创建好啦。
二、Jmeter脚本配置
以下对Jmeter脚本进行配置,具体分为如下四步。
①打开jmeter,创建一个线程组,配置如下:
②添加一个HTTP Request,压测地址为:www.baidu.com。
③添加一个Backend Listener,配置如下:
Backend Listener implementation选择influxdb;
influxdbURL 例"http://localhost:8086/write?db=jmeter"。
④配置完后运行一下Jmeter脚本,再去influxdb的jmeter数据库中查看是否有数据,有数据即配置成功。
三、Grafana安装配置
1、Grafana安装
步骤如下:
①上传grafana.rpm包到服务器;
②安装Grafana,命令:yum localinstall grafana.rpm;
③启动服务,systemctl start grafana-server;
④查看启动状态,systemctl status grafana-server;
⑤启动后,在浏览器输入:http://ip:3000即可访问,效果如下:
2、Grafana登录
①Grafana登录页面,用户名密码默认为admin。
②重置密码:根据自己需要重置密码或直接跳过。
3、Grafana数据源配置
①在主界面,依次点击Data Sources-->add data source。
选择“Add data source"添加数据源。
②数据源选择influxDB。
③输入ip和端口,InfluxDB信息。如果没做更改的话,user和pwd都是默认的root, 为了安全起见,可以自行修改。
4、Grafana Dashboards导入InfluxDB Jmeter模板
①InfluxDB Jmeter模板下载地址:https://grafana.com/grafana/dashboards?search=influxdb
②点击Copy ID to Clipboard。
③在Grafana首页,点击import。
④将复制的ID粘贴。
⑤DB name选择influxDB,点击Import。
⑥配置完成后,页面效果如下:
⑦在页面右上角,下拉选择5s,即每5s更新一次。
⑧运行jmeter脚本,查看监控数据。
至此,整个Jmeter+Grafana+InfluxDB就搭建完成了,等着老板加鸡腿吧。