性能测试压测结果导入监控平台 - Jmeter、Influxdb、Grafana
主要用于Jmeter的非UI执行时的监控。总结了一下为什么要费力搞这个
- Jmeter非UI执行脚本过程中,结果要写入jtl文件中不能做到实时查看(就算是cat、vim命令看起来也是很费劲)
- 如果使用Jmeter进行分布式运行脚本(多机执行),就连打印的执行结果也要写入一个文件中,没办法做到实时查看
环境准备
Jmeter: 5.0以上版本
Influxdb
- 简介
InfluxDB 是一个时间序列数据库,用于处理海量写入与负载查询。InfluxDB旨在用作涉及大量时间戳数据的任何用例(包括DevOps监控,应用程序指标,物联网传感器数据和实时分析)的后端存储
- 安装启动
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.6.2.x86_64.rpm
yum localinstall influxdb-1.6.2.x86_86_64.rpm
systemctl start influxdb
- 说明
8086:用于客户端和服务端交互的HTTP API
8088:用于提供备份和回复的RPC服务
网络时间协议(NTP)
influxDB使用主机的UTC本地时间为数据分配时间戳并用于协调目的。使用网络时间协议(NTP)同步主机之间的时间; 如果主机的时钟与NTP不同步,写入InfluxDB的数据的时间戳可能不准确。
- 配置
vi /etc/influxdb/influxdb.conf
- 数据库
create database jmeter
show databases 即可查看到新建的jmeter数据库
- 检测
Jmeter 添加Bankend Listener
Grafana
-
简介
-
安装与启动
-
配置
打开网址: http://172.17.31.219:3000/
注意:
换成自己安装grafana所在服务器的ip即可,默认端口号是3000.
默认账户名和密码都是 admin
1. 数据库配置
点击下方的 Save&Test
2. Dashboard配置
添加dashboard 模板有两种方式:1.上传json文件 2.填写模板id.
可通过以下链接查看模板:https://grafana.com/grafana/dashboards?dataSource=influxdb&direction=asc&orderBy=name&search=jmeter
点击:
详情页里面可以看到模板id或者下载json文件
注意:模板详情页可以查看到该模板需要在Jmeter需要选择的类,有的可能还需要额外的jar包,如JMeter Load Test模板(不做详细描述)
注意:如果在Jmeter中运行的数据未在dashboard中显示出来,可能与服务器时间有关。
具体设置如下:
https://jingyan.baidu.com/article/455a99505aa79ea1662778a5.html
https://blog.****.net/liuxiangyang_/article/details/91978247
https://blog.****.net/anmo1221/article/details/79707531
-
最终效果图