JMeter实战-JMeter-InfluxDB-Grafana性能测试监控平台
第一 :InfluxDB简介与安装
1、InfluxDB简介
InfluxDB 是用 Go 语言编写的一个开源分布式时序、事件和指标数据库,无需外部依赖。
类似的数据库有 Elasticsearch、Graphite 等。
主要功能:
1)基于时间序列,支持与时间有关的相关函数(如最大,最小,求和等)
2)可度量性:你可以实时对大量数据进行计算
3)基于事件:它支持任意的事件数据
InfluxDB主要特点:
1)无结构(无模式):可以是任意数量的列
2)可拓展的
3)支持 min, max, sum, count, mean, median 等一系列函数,方便统计
4)原生的 HTTP 支持,内置HTTP API
5)强大的类 SQL 语法
6)自带管理界面,方便使用
(1):InfluxDB安装
InfluxDB官方文档:
https://docs.influxdata.com/influxdb/v1.6/
1、首先,我们再USR的LOCAL里面新建一个文件influxdb
然后再该目录下载安装包:
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.0.x86_64.rpm
2:下载完之后直接安装
yum localinstall influxdb-1.7.0.x86_64.rpm
提示以下信息就成功了
3:
启动 influxdb 数据库:
service influxdb start
停止 influxdb 数据库:
service influxdb stop
端口说明
8083:访问 web 页面的地址,8083 为默认端口;
8086:数据写入 influxdb 的地址,8086 为默认端口;
8088:数据备份恢复地址,8088 为默认端口;
开启防火墙:
firewall-cmd --add-port=8086/tcp --permanent firewall-cmd --add-port=8086/udp --permanent firewall-cmd --reload
把以上3个端口都添加进去防火墙,如下就成功了
PS:如果你的服务器是阿里云的话,在阿里云控制台-安全组,开启准入访问的端口,不然访问不了。
如何查看InfluxDB端口号:
输入:
netstat -nultp
出现如下即是端口号:
(如果显示不了端口号,可以尝试启动 influxdb 数据库:如下)
service influxdb start
如果还是不行,尝试另一种办法:(linux使用netstat或者ifconfig命令时,显示命令未找到。)
yum install net-tools
这个时候应该就可以了
二:Grafana介绍与安装
介绍:
Grafana 是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知。它主要有以下六大特点:
- 1、展示方式:快速灵活的客户端图表,面板插件有许多不同方式的可视化指标和日志,官方库中具有丰富的仪表盘插件,比如热图、折线图、图表等多种展示方式;
- 2、数据源:Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch和KairosDB等;
- 3、通知提醒:以可视方式定义最重要指标的警报规则,Grafana将不断计算并发送通知,在数据达到阈值时通过Slack、PagerDuty等获得通知;
- 4、混合展示:在同一图表中混合使用不同的数据源,可以基于每个查询指定数据源,甚至自定义数据源;
- 5、注释:使用来自不同数据源的丰富事件注释图表,将鼠标悬停在事件上会显示完整的事件元数据和标记;
- 6、过滤器:Ad-hoc过滤器允许动态创建新的键/值过滤器,这些过滤器会自动应用于使用该数据源的所有查询。
官方文档:https://grafana.com/docs/grafana/latest/
一:下载安装
1:安装之前先在usr/local里面建一个grafana文档,如下
2:下载Grafana
在grafana文档里面安装
wget https://dl.grafana.com/oss/release/grafana-6.2.2-1.x86_64.rpm
如下正在下载中:
下载完成如下图
3:下载完成之后再进行安装:
yum localinstall grafana-6.2.2-1.x86_64.rpm
安装成功之后如下图,仅供参考
4:启动 grafana 服务:
service grafana-server start
5:停止 grafana 服务:
service grafana-server stop
6:设置开机启动:
systemctl enable grafana-server.service
7:查看端口是否成功:(grafana的默认端口号是3000,所以不用添加可以直接查看端口号)
netstat -nultp
8:注意一点就是先添加防火墙:(只需要加一个3000的端口就可以了):
firewall-cmd --add-port=3000/tcp --permanent firewall-cmd --add-port=3000/udp --permanent firewall-cmd --reload
(说明成功添加防火墙)
9:启动服务,打开浏览器,输入IP+端口,3000为 Grafana 的默认侦听端口。
网址=ip+端口号/login
例如我的是:http://192.168.36.130:3000/login
默认账号密码:admin/admin
这样就成功了
还记得前面说的原理吗?InfluxDB数据库存放数据---通过Grafana动态展示出来,那么数据从哪里来?so。。。配置JMeter
三:JMeter配置
1、在jmeter中添加监听器-后端监听器(英文名为backend listenter)
2:主要配好URL
四、InfluxDB配置
1:进入 InfluxDB目录下,输入:
influx
(输入完之后是这样的)
2:接着新建一个”jmetertest”数据库: 如下
create database jmetertest
如下图
3:查看数据库:show databases,输入:
show databases
4:使用jmetertest数据库:use jmetertest,
use jmetertest
:
5:显示表:show measurements
show measurements
(在jmeter运行情况下输入,不然会没有数据,其中有两张表,我们主要看jmeter表)
6:去 JMeter 中运行一个准备好的脚本,运行完在jmeter表中查看有没有数据
7:查看 JMeter 表:select * from jmeter
select * from jmeter
8:数据出来了,那么配置Grafana,把这些数据动态展示出来
五:配置Grafana
登录 Grafana,进入首页
1:创建一个数据源
2:选择数据库
3:填写好以下信息,注意填写正确 然后保存
4:新建一个import (输入4026,导入4026模板)
5;选择4026模板